Sie sind auf Seite 1von 81

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
x
1

x
2

0
1
X
1
X
2
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
X
1
X
2
valor
0 0 0
0 1 1
1 0 1
1 1 0
Vector de entrada:
] 1 0 1 0 ; 1 1 0 0 [
1 0 1 0
1 1 0 0
=
(

= P P
Vector de sada: | | 0 1 1 0 = T
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
net = newff( [min(P')' max(P')'],
[N_hidden 1],
{'tansig' 'logsig'},
'traingd');
Redes Feed-forward: Funcion newff
(limites de patrones de entrada)
(nmero de neuronas de cada capa)
(funion de ativaion de cada capa)
(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;
net.trainParam.goal = 1e-8;
net.trainParam.lr = 0.01;
net.trainParam.show = 25;

net.trainParam.mc = 0.9;

net.trainParam.lr_inc = 1.05;
net.trainParam.lr_dec = 0.7;
net.trainParam.max_perf_inc = 1.04;
Nmero de epochs
Error final deseado
Tasa de aprendizaje
Cada cuanto (epochs)

Tasa de momentum

Tasa de incremento da l.r.
Tasa de decremento da l.r.
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
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
x
1

x
2

0
1
X
1
X
2
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 1 0 0
1 1 0 0
0 1 0 0
0 1 0 0
1 1 1 0
0
1
0
0
1
1
0
0
0
1
0
0
0
1
0
0
1
1
1
0
Definicion de los patrones de
entrada
0 1 1 0
1 0 0 1
0 0 1 0
0 1 0 0
1 1 1 1
0
1
1
0
1
0
0
1
0
0
1
0
0
1
0
0
1
1
1
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
Definicion de los patrones de
entrada
1
0
0
0
0
0
0
0
0
0
Definicion de los patrones de
salida
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: feed-forward backprop
Input Ranges: Get from input
Training Function: TRAINGDM
Number of layers: 2
Layer 1: 15 neurons TANSIG
Layer 2: 10 neurons PURELIN
Definicion de la Red
Network name: network25
Tipo: feed-forward backprop
Input Ranges: Get from input
Training Function: TRAINGDM
Number of layers: 2
Layer 1: 25 neurons TANSIG
Layer 2: 10 neurons PURELIN
Definicion de la Red
Network name: network35
Tipo: feed-forward backprop
Input Ranges: Get from input
Training Function: TRAINGDM
Number of layers: 2
Layer 1: 35 neurons TANSIG
Layer 2: 10 neurons PURELIN
Entrenamiento de la Red
Epochs: 10000
Goal (MSE): 0.5e-3
Learning Rate (lr): 0.1
Momentum: 0.0

Entrenamiento de la Red
Epochs: 10000
Goal (MSE): 0.5e-3
Learning Rate (lr): 0.4
Momentum: 0.0

Entrenamiento de la Red
Epochs: 10000
Goal (MSE): 0.5e-3
Learning Rate (lr): 0.9
Momentum: 0.0

Entrenamiento de la Red
Epochs: 10000
Goal (MSE): 0.5e-3
Learning Rate (lr): 0.1
Momentum: 0.4

Entrenamiento de la Red
Epochs: 10000
Goal (MSE): 0.5e-3
Learning Rate (lr): 0.9
Momentum: 0.4

Test de la Red
1 bit errado 2 bits errados 3 bits errados