0% encontró este documento útil (0 votos)
46 vistas13 páginas

Redes Neuronales Adaline en Matlab

1. El documento describe funciones de MATLAB para simular redes neuronales multicapa lineales, incluyendo funciones para inicializar, diseñar, entrenar y simular estas redes. 2. Se explican conceptos como la función de transferencia lineal purelin, la regla de aprendizaje de Widrow-Hoff y cómo usar funciones como initlin, solvelin, trainwh para configurar y entrenar una red neuronal lineal. 3. También incluye ejemplos de código MATLAB para resolver problemas de clasificación y predicción usando redes Adaline.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
46 vistas13 páginas

Redes Neuronales Adaline en Matlab

1. El documento describe funciones de MATLAB para simular redes neuronales multicapa lineales, incluyendo funciones para inicializar, diseñar, entrenar y simular estas redes. 2. Se explican conceptos como la función de transferencia lineal purelin, la regla de aprendizaje de Widrow-Hoff y cómo usar funciones como initlin, solvelin, trainwh para configurar y entrenar una red neuronal lineal. 3. También incluye ejemplos de código MATLAB para resolver problemas de clasificación y predicción usando redes Adaline.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Redes Neuronales Multicapa Con Aprendizaje

Supervisado
2.2.5 Simulaciones en Matlab
Funciones Lineales Importantes en MATLAB
Las redes lineales pueden inicializarse, disearse y simularse
con tres funciones:initlin, solvelin y simulin. La funcin de
simulacin simulin usa la funcin de transferencia purelin,
usada por las redes lineales. Las redes lineales off-line, se
pueden entrenar con la funcin trainwh, y adaptablemente
con la funcinadaptwh.
Teclee help linnet para obtener una lista de funciones de las
redes lineales, adems de demostraciones y aplicaciones.
Fundamentos. Modelo de la Neurona

Una neurona lineal con entradas R se muestra en la Fig. 2.24.


Note que la neurona lineal usa la funcin de
transferencia purelin. La funcin de transferencia
lineal purelin calcula la salida de la neurona devolviendo el
valor pasado a ella simplemente. Las siguientes dos lneas de
cdigo (Para una Capa de Neuronas) son equivalentes.
( 2 . 30 )
( 2 . 31 )

Cuando se est presentando una matriz de entradas a una


capa con ms de una neurona y umbrales, debe llamarse a la
funcin purelin con el umbral como un segundo argumento.
( 2 . 32 )

Alternativamente, la funcin de simulacin


lineal simulin pueden usarse para calcular la salida como
que pueden llamarse a la funcin como sigue:
( 2 . 33 )

Al igual que con el Perceptrn, los umbrales son tiles, como


parmetros de la red porque ellos proporcionan una variable
libre adicional que puede ajustarse para obtener la actuacin
deseada de la red. A la neurona lineal se le puede entrenar
para aprender una funcin de su entrada, o para encontrar
una aproximacin lineal de una funcin no lineal. Una red
lineal no puede, por supuesto, desempear un clculo no
lineal.
Inicializacin
La funcin initlin, se usa para inicializar los pesos y umbrales
de la capa lineal a valores iniciales positivos y negativos
pequeos. El cdigo de la inicializacin para una capa de siete
neuronas lineales de cinco entradas sera:
( 2 . 34 )

Sean las matrices de P vectores de entrada y T vectores


objetivo, estn disponibles. La funcin initlin puede inferir el
nmero de neuronas de entrada basndose en el nmero de
filas de P y T.
( 2 . 35 )

Diseo
A diferencia de las otras arquitecturas de redes neuronales,
las redes lineales se pueden disear directamente si todos los
pares de vectores entrada/salida son conocidos. Dado este
caso la funcin solvelin se puede usar para encontrar los
valores de pesos y umbrales (
y ) sin entrenamiento.
( 2 . 36 )

Si se llama a la funcin solvelin con dos argumentos de


salida, esta disea una red con pesos y umbrales. Si se llama
a la funcin con un solo argumento
la funcin diseara una
red con la matriz de pesos pero sin ningn umbral. En cada
caso la solucin del mnimo error cuadrtico se encuentra. Se
usan los umbrales porque una red con umbrales nunca tiene
un error mayor que la misma red sin umbrales, y a menudo
tiene el ms bajo error.
( 2 . 37 )

Si existe una solucin de cero-error, esta ser encontrar por


la funcin solvelin.
Si ninguna solucin lineal perfecta existe se devolvern los
valores representando a la red con el mnimo error cuadrtico
sumado sse. Si hay ms de una solucin de ceroerror, solvelin devuelve la solucin con los pesos y umbrales
ms pequeos.
La seccin siguiente describe cmo entrenar una red lineal
para encontrar una solucin. Por qu entrenar una red en
lugar de usar la funcin solvelin?. Primero, a veces la
funcin solvelin no pueden resolver directamente los pesos y
umbrales de la red. Se puede llamar a solvelin y ver el
siguiente mensaje: Warning: Matriz is singular to working
precision (La matriz es singular a la precisin activa)
Cuando los clculos realizados por solvelin no son
numricamente estables, todava se puede entrenar la red

lineal con las funciones learnwh y trainwh a una


aproximacin de la solucin ideal.
Regla de Aprendizaje
Las redes lineales son entrenadas con ejemplos de conducta
correcta. La regla de Widrow-Hoff mediante la
funcin learnwh, calcula los cambios a los pesos y umbrales
de una capa lineal disminuyendo la suma de errores
cuadrados de la capa. La funcin learnwh toma como
argumentos el vector de entrada P presentado a la red, y el
error de la red E (la diferencia entre la salida de la red A y un
objetivo T designado).

( 2 . 38 )

Un argumento adicional, la proporcin de aprendizaje lr,


acta como una ganancia en el cambio de los pesos y los
umbrales. Si el parmetro lr es grande, el aprendizaje ocurre
rpidamente, pero si el aprendizaje es demasiado grande,
puede hacerse inestable y los errores incluso pueden
aumentar.
Para asegurar el aprendizaje estable, la velocidad de
aprendizaje lr debe ser menor al recproco del eigenvector
ms grande de producto de la matriz P'*P. La
funcinmaxlinlr calcula la proporcin mxima de aprendizaje
estable (0.999 * P'*P).
% si ningn umbral se usa.
)

% si usan los umbrales.

As, una vez que la proporcin de aprendizaje es calculada,


las lneas siguientes de cdigo reducirn el error de la red
asociado con las matrices de entrada y vectores objetivo, P y
T, con cada iteracin.

;
La regla de Widrow-Hoff calcula los cambios pequeos para
los pesos de una neurona y umbrales en la direccin que
disminuye el error de la neurona. Esta direccin se encuentra
tomando la derivada del error cuadrado sumado sse con
respecto a estos parmetros
Entrenamiento
La funcin trainwh aplica repetidamente las entradas p a una
red lineal con la funcin simulin y calcula los errores con
respecto a los vectores objetivo T, y encuentra los nuevos
pesos y umbrales. Se repite este ciclo hasta que el error
cuadrtico sumado cae bajo un valor meta, o bien se cumple
un nmero mximo de pocas.

Los cuatro parmetros de entrenamiento tp, determinan qu


tan a menudo ocurre el progreso en mostrar resultados, el
nmero mximo de pocas para entrenar, la meta del error
deseada, y la razn de aprendizaje. Cualquiera o todos estos
parmetros se pueden ajustarse a un valor de NaN. Adems,
los parmetros tppueden contener una lista parcial de
valores, ningn valor o simplemente no ser pasados
a trainwh. Los valores indefinidos y los
parametros NAN sern puestos a sus valores predefinidos. Se
puede ver estos valores predefinidos tecleando help
trainwh. Adems, de regresar los valores de los nuevos
pesos W y umbrales b, la funcin trainwh devuelve el
nmero de pocas que realmente ocurrieron ep, y un registro
de los errores a lo largo del entrenamiento tr.
Ejemplo 1:

1.
Resuelva el siguiente problema de clasificacin de la red
Adaline y su regla de aprendizaje
Los pares de entrada/salida son:

En el editor de Matlab teclee el siguiente cdigo que resuelve


el problema anterior:
clear;echo on;clc;
%Se definen los vectores de entrada
P=[0 2 -2;
2 0 -2];
%Se define el vector de salida
T = [1 1 0];
%Se crea una red lineal adaptativa
NEWLIN(PR,S,ID,LR)
donde:
PR matriz Rx2 de los valores mximos y
mnimos para R elementos de entrada.
S

- Nmero de elementos de salida

ID Vector de retardo, default = [0].


LR Tasa de aprendizaje, default = 0.01;
net=newlin([-2 2;-2 2],1);
%Se ajusta el error (valor por omisin=0)

[Link]=0.1;
%Se ajustan las pocas (valor por omisin=100)
[Link]=50;
%Se entrena la red
[net,tr]=train(net,P,T);
%Si se desea dar valores iniciales al vector de
pesos y umbral, escrbanse las siguientes dos lneas
de cdigo
[Link]{1,1}=[-1 -1];
net.b{1}=[2];
%Se asignan a las variables W y b los valores
calculados una vez terminado el proceso de
entrenamiento
W=[Link]{1,1}
b=net.b{1}
%Se grafican los patrones de entrada, las salidas
deseadas y la frontera de decisin mediante las
siguientes lneas
plotpv(P,T)
plotpc([Link]{1,1},net.b{1})
echo off
En la ventana de comandos de Matlab aparece paso a paso la
ejecucin del programa, como sigue:

La salida del programa (Adems, del Proceso Descrito en la


Ventana de Comandos de Matlab) es una sucesin de grficas
donde aparece la variacin del error en un nmero N de
pocas. Esto se muestra en la Fig. 2.25.

Fig. 2.25.
Los patrones de entrada en un plano de dos dimensiones, con
la clasificacin correspondiente (Frontera de Decisin)
aparecen despus de terminado el proceso de entrenamiento.
Esto se muestra en la Fig. 2.26.

Fig. 2.26.

Ejemplo 2: Prediccin Adaptativa con Adaline


(adlpr.m)

En este ejemplo una configuracin Adaline es usada para


predecir una seal de unidimensional (Series de Tiempo).
Para predecir el siguiente valor de la seal de entrada, p
muestras de sta son colocados a la Adaline. La seal de
entrada es tambin usada como la salida deseada. La regla de
aprendizaje LMS es usada para adaptar el vector de pesos en
cada paso.

Empezaremos con las especificaciones de una seal senoidal


de frecuencia 2kHz muestreada cada 50msec. Despus de
5sec la frecuencia de la seal se cuadruplicar con el tiempo
de muestreado siendo tambin reducido a 12.5msec.

Figura 2 .27: La Seal de Entrada y la Seal Predicha

La seal (Series de Tiempo) se convertir en una coleccin de


vectores de entrada,
.

y guardadas en una matriz

de

El vector de pesos estimado


es
NOTA:
[1] Para la eleccin de un valor de m debemos tener cuidado.
Se puede suponer que mientras que el valor de
sea mayor,
nos acercaremos ms rpido al error mnimo, sin embargo no
es as: un valor grande de
nos puede hacer que la solucin
viaje por toda la superficie del paraboloide sin converger
nunca. Por otro lado, un valor muy pequeo seguramente
provocar que se consuma un tiempo mayor durante el
entrenamiento
[2]a se puede proponer a travs de prueba y error.

También podría gustarte