Redes Neuronales en MATLAB 6.
1
Redes Neuronales con MATLAB
Dos formas de utilizarlo:
Lineas de comando, en m-files
Interface grfica (NNTool)
Redes Neuronales con MATLAB
Dos formas de utilizarlo:
Lineas de comando, en m-files
Interface grfica (NNTool)
Pasos para utilizar las RNA
Definir los patrones
Inicializar la red
Definir los parametros de
entrenamiento
entrenar la red
Testear la red
Problema de Or Exclusivo
1
x2
0
x1
X1 X2 valor
0 0 0
0 1 1
1 0 1
1 1 0
Pasos para utilizar las RNA
Definir los patrones
Inicializar la red
Definir los parametros de
entrenamiento
entreinar la red
Testear la red
Definicion de Patrones
X1 X2 valor
0 0 0
0 1 1
1 0 1
1 1 0
Vector de entrada: P
0 0 1 1
P [0 0 1 1; 0 1 0 1]
0 1 0 1
Vector de sada: T 0 1 1 0
Pasos para utilizar las RNA
Definir los patrones
Inicializar la red
Definir los parametros de
entrenamiento
entrenar la red
Testear la red
Inicializando la Red Neural
Redes Feed-forward: Funcion newff
net = newff( [min(P')' max(P')'], (limites de patrones de entrada)
[N_hidden 1], (nmero de neuronas de cada capa)
{'tansig' 'logsig'}, (funion de ativaion de cada capa)
'traingd'); (algoritmo de entrenamiento)
Funciones de Ativacion
purelin Linear
logsig Sigmide
tansig Tangente hiperblica
satlin(s) Lineal con saturacin
Algoritmos de entrenamiento
traingd Gradient descent backpropagation
traingdm Gradient descent backpropagation com momentum
traingda Gradient descent backpropagation com taxa adaptativa
traingdx Gradient descent backpropagation com momentum e
taxa adaptativa
trainlm Levenberg-Marquardt backpropagation (default)
trainrp Resilient backpropagation (Rprop)
Pasos para utilizar las RNA
Definicion de patrones
Inicializar la red
Definir los parametros de
entrenamiento
Entrenar la red
Testear la red
Definicion de parametros de
entreinamento
net.trainParam.epochs = 100; Nmero de epochs
net.trainParam.goal = 1e-8; Error final deseado
net.trainParam.lr = 0.01; Tasa de aprendizaje
net.trainParam.show = 25; Cada cuanto (epochs)
net.trainParam.mc = 0.9; Tasa de momentum
net.trainParam.lr_inc = 1.05; Tasa de incremento da l.r.
net.trainParam.lr_dec = 0.7; Tasa de decremento da l.r.
net.trainParam.max_perf_inc = 1.04; Incremento mximo do error
Pasos para a entrenar una RNA
Definir los patrones
Inicializar la red
Definir los parametros de
entrenamiento
entrenar la red
Testear la red
Entrenando la Red Neural
net = train(net, P, T);
Pasos para a testear una RNA
Definir los patrones
Inicializar la red
Definir los parametros de
entrenamiento
Entrenar la red
Testear la red
Testeando la Red Neural
C = sim(net, P);
M-file desenvolvida para o XOR
xor1.m
Redes Neuronales con MATLAB
Dos formas de utilizarlo:
Lineas de comando, en m-files
Interface grfica (NNTool)
Interface Grfica NNTool
Pasos para utilizar las RNA
Definir los patrones
Crear la red
Inicializar la red
Definir los parametros de
entrenamiento
Entrenar la red
Testear la red
Pasos para utilizar las RNA
Definir los patrones
Crear la red
Inicializar la red
Definir los parametros de
entrenamiento
Entrenar la red
Testear la red
Definicion de Patrones
Definicion de Patrones
Definicion de Patrones
Definicion de Patrones
Pasos para utilizar las RNA
Definir los patrones
Crear la red
Inicializar la red
Definir los parametros de
entrenamiento
Entrenar la red
Testear la red
Creando la Red Neuronal
Creando la Red Neuronal
Visualizando la Red Neuronal
Visualizando la Red Neuronal
Pasos para utilizar las RNA
Definir los patrones
Crear la red
Inicializar la red
Definir los parametros de
entrenamiento
Entrenar la red
Testear la red
Inicializando la Red Neuronal
Inicializando la Red Neuronal
Inicializando la Red Neuronal
Pasos para utilizar las RNA
Definir los patrones
Crear la red
Inicializar la red
Definir los parametros de
entrenamiento
Entrenar la red
Testear la red
Definiendo parametros de
entrenamiento
Definiendo parametros de
entrenamiento
Definiendo parametros de
entrenamiento
Pasos para utilizar las RNA
Definir los patrones
Crear la red
Inicializar la red
Definir los parametros de
entrenamiento
Entrenar la red
Testear la red
Entrenando la Red Neuronal
Entrenando la Red Neuronal
Pasos para utilizar las RNA
Definir los patrones
Crear la red
Inicializar la red
Definir los parametros de
entrenamiento
Entrenar la red
Testear la red
Testeando la Red Neuronal
Testeando la Red Neuronal
Testeando la Red Neuronal
Testeando la Red Neuronal
Testeando la Red Neuronal
Testeando la Red Neuronal
Exportando los Datos
Exportando los Datos
Problema de Or Exclusivo
1
x2
0
x1
X1 X2 valor
0 0 0
0 1 1
1 0 1
1 1 0
Redes Neuronal con Capas ocultas
Redes Neuronal con Capas ocultas
Redes Neuronal con Capas ocultas
Redes Neuronal con Capas ocultas
Redes Neuronal con Capas ocultas
Redes Neuronal con Capas ocultas
Reconocimento de Dgitos
Reconocimento de Dgitos
Reconocimento de Dgitos
Reconocimento de Dgitos
Definicion de los patrones de
entrada
0
0 1 0 0 1
1
1 1 0 0 0
0
0 1 0 0
0
0 1 0 0 1
0
1 1 1 0 0
0
Definicion de los patrones de
entrada
0
0 1 1 0 1
0
1 0 0 1 0
1
0 0 1 0
0
0 1 0 0 0
1
1 1 1 1 0
1
Definicion de los patrones de
entrada
Cada dgito (patron): 20 bits
Nmero de patrones: 10 dgitos
Representacion: Matriz 20 x 10
Cada columna representa un dgito
Cada linea representa un bit
Cada bit est asociado con una neurona
de entrada
Definicion de los patrones de
entrada
digitos.txt
Definicion de los patrones de
entrada
1
0
Definicion de los patrones de
salida
saidas.txt
Conversion de los Archivos
>> load digitos.txt
>> save digitos
>> load saidas.txt
>> save saidas
Importacion de los Datos p/
NNTool
Importacion de los Datos p/
NNTool
Importacion de los Datos p/
NNTool
Definicion de la Red
Network name: network15
Tipo:
Tipo feed-forward backprop
Input Ranges:
Ranges Get from input
Training Function:
Function TRAINGDM
Number of layers:
layers 2
Layer 1:
1 15 neurons TANSIG
Layer 2:
2 10 neurons PURELIN
Definicion de la Red
Network name: network25
Tipo:
Tipo feed-forward backprop
Input Ranges:
Ranges Get from input
Training Function:
Function TRAINGDM
Number of layers:
layers 2
Layer 1:
1 25 neurons TANSIG
Layer 2:
2 10 neurons PURELIN
Definicion de la Red
Network name: network35
Tipo:
Tipo feed-forward backprop
Input Ranges:
Ranges Get from input
Training Function:
Function TRAINGDM
Number of layers:
layers 2
Layer 1:
1 35 neurons TANSIG
Layer 2:
2 10 neurons PURELIN
Entrenamiento de la Red
Epochs:
Epochs 10000
Goal (MSE):
(MSE) 0.5e-3
Learning Rate (lr):
(lr) 0.1
Momentum:
Momentum 0.0
Entrenamiento de la Red
Epochs:
Epochs 10000
Goal (MSE):
(MSE) 0.5e-3
Learning Rate (lr):
(lr) 0.4
Momentum:
Momentum 0.0
Entrenamiento de la Red
Epochs:
Epochs 10000
Goal (MSE):
(MSE) 0.5e-3
Learning Rate (lr):
(lr) 0.9
Momentum:
Momentum 0.0
Entrenamiento de la Red
Epochs:
Epochs 10000
Goal (MSE):
(MSE) 0.5e-3
Learning Rate (lr):
(lr) 0.1
Momentum:
Momentum 0.4
Entrenamiento de la Red
Epochs:
Epochs 10000
Goal (MSE):
(MSE) 0.5e-3
Learning Rate (lr):
(lr) 0.9
Momentum:
Momentum 0.4
Test de la Red
1 bit errado 2 bits errados 3 bits errados