Download - Funcion-Hardlim y Hardlims.pdf
-
5/26/2018 Funcion-Hardlim y Hardlims.pdf
1/7
Redes Neuronales Artificiales
Ronal Rojas (1)Universidad Nacional de Loja
Jenny Saraguro (2)Universidad Nacional de Loja
En este artculo se describe las funciones de activacin Hardlim y Hardlims de las neuronas
artificiales con la itulizacin de una pequea aplicacin que nos permite simular una red neu-
ronal
Redes Neuronales Artificiales
El contino avance de la tecnologa as como tambin
la necesidad de agilizar los procesos de negocios hace que
el hombre desarroll tcnicas que permitan alcanzar este
objetivo como es el caso de la redes neuronales artificales,
que se caracterizan por tener un procesamiento automtico
que se ha venido perfeccionando con la finalidad de obtenermejores resultados que satisfagan las exigencias de los
usuarios.
La teora de las redes neuronales artificiales ha brindado
una alternativa a la computacin clsica, para aquellos
problemas, en los cuales los mtodos tradicionales no han
entregado resultados muy convincentes, o poco convenien-
tes. (Tanco, 2010) Las aplicaciones ms exitosas de las RNA
son:
Procesamiento de imgenes y de voz
Reconocimiento de patrones
Interfaces adaptivas para sistemas hombre/mquina
Prediccin
Control y optimizacin
Filtrado de seales
Las RNA no ejecutan instrucciones, responden en
paralelo a las entradas que se les presenta. El resultado no se
almacena en una posicin de memoria, este es el estado de la
red para el cual se logra equilibrio. El conocimiento de una
red neuronal no se almacena en instrucciones, el poder de la
red est en su topologa y en los valores de las conexiones
(pesos) entre neuronas. (Tanco, 2010)
Las redes neuronales artificiales tratan de emular el
comportamiento del cerebro humano, caracterizado por
el aprendizaje a travs de la experiencia y la extraccin
de conocimiento genrico a partir de un conjunto de
datos.(Raquel Flrez Lpez, 2008).
Las redes neuronales artificiales se disearon con el
objetivo de poder simular el sistema nervioso central el cual
ayudase a la extraccin de informacin a partir de grandes
cantidades de datos complejos e inciertos (Ral Pino Dez,
s.f.) y de esta manera poder realizar una clasificacin de los
datos.
La arquitectura de una red neuronal artificial depende de
cuatro parmetros principales:
El nmero de capas del sistema.
El nmero de neuronas por cada capa.
El grado de conectividad entre las neuronas.
El tipo de conexiones neuronales.
La conectividad de los nodos de una red est relacionada
con la forma de transmisin de las salidas de las distintas
unidades y su transformacin en entradas de otros procesa-
dores. (Raquel Flrez Lpez, 2008).
Se va a considerar una neurona como un elemento formal
o mdulo o unidad bsica de la red que recibe informacin
de otros mdulos o del entorno; la integra, la computa yemite una nica salida que se va a transmitir idntica a
mltiples neuronas posteriores. (Wasserman., s.f.).
Figura 1. Esquema de la Neurona Artificial
La salida de esta neurona esta definida por la siguiente
ecuacion:
a = Fk((Wij Pi) + bk)
Donde:
a: es la salida de la neurona. Fk: es la funcin de transferencia de la neurona. Wij: es la matriz de pesos.
-
5/26/2018 Funcion-Hardlim y Hardlims.pdf
2/7
Ronal Rojas-Jenny Saraguro Tutor: Ing Henry Paz
Pi:es el patrn de entrenamiento. bk:es el umbral de activacin de la neurona.
En la figura 2 se puede observar el esquema de una red
neuronal
Figura 2. Esquema de una Red Neuronal Artificial
La misma est constituida por neuronas interconectadas y
arregladas en capas. Los datos ingresan por medio de la apa
de entrada", pasan a travs de la apa oculta 2salen por la
apa de salida". Cabe mencionar que la capa oculta puede
estar constituida por varias capas.(Matich, 2001)
Funciones de Activacin
Las funciones de activacin nos permiten dar mayor
flexibilidad al sistema, y por tanto mayor capacidad.
Entre la unidades o neuronas que forman una red neuronal
artificial existe un conjunto de conexiones que las unen. Cadaunidad transmite seales a aquellas que estn conectadas
a su salida. Asociada con cada unidad Uj hay una funcinde activacin (Fact), que transforma la entrada neta que la
unidad presenta como resultado de estar conectada con otras
unidades que le suministran informacin, en el valor de
salidaYj.
La funcin de activacin calcula la activacin de la unidad
en funcin de la entrada total y la activacin previa, aunque
en la mayor parte de los casos es simplemente una funcin
no decreciente de la entrada total. Los tipos de funcin
ms empleados son: la funcin escaln, funcin lineal y la
funcin sigmoidal.
FUNCIN DE TRASFERENCIA LIMITADORFUERTE (HARDLIM). Esta funcin de transferenciaacerca la salida de la red a cero, si el argumento de la funcin
es menor que cero; y la lleva a uno si este argumento es
mayor que uno. Esta funcin crea neuronas que clasifican
las entradas en dos categoras diferentes, caracterstica que
le permite ser empleada en la red tipo Perceptrn.(NeuralNetwork Toolbox, 2010)
a =
1si n >= 00si n = 0-1si n
-
5/26/2018 Funcion-Hardlim y Hardlims.pdf
3/7
Ronal Rojas-Jenny Saraguro Tutor: Ing Henry Paz
A = hardlims(N, FP)
donde:
Nes una matriz de entradaS porQ.FP Structparmetros de la funcin (ignorado)
Funciones de Aprendizaje
Una vez se han inicializado los pesos de la red y los
el bias, la red est lista para ser entrenada. La red puede
entrenarse para: la aproximacin de una funcin (regresin
no lineal), la asociacin del modelo, o la clasificacin
del modelo. El proceso de entrenamiento requiere de los
patrones de conducta apropiados para la red, las entradas de
la red p y las salidas en blanco t. (mathworks, 2014)
Entre las funciones de aprendizaje empleadas en el caso
prctico tenemos:
Retropropagacin gradiente conjugado con reini-cios Powell-Beale (traincgb): funcin de entrenamineto queactualiza los pesos y las bias de aacuerdo con el algoritmo
de retropropagacin de gradiente conjungado segun Powell-
Beale. (Carlos Alfonzo Prez Rivera, 2005)
Para todos los algoritmos de gradiente conjugado, la
direccin de bsqueda se restablece peridicamente para el
negativo de la pendiente. El punto de reinicio estndar se
produce cuando el nmero de iteraciones es igual al nmero
de parmetros de la red (pesos y bias), pero hay otros
mtodos de restauracin que pueden mejorar la eficiencia de
la formacin.(mathworks, 2014)
Uno de estos mtodos de reposicin fue propuesta por
Powell, basado en una versin anterior propuesto por Beale.
Esta tcnica se reinicia si hay muy poco ortogonalidad entre
el gradiente actual y el gradiente anterior.
La sintaxis de esta funcin se describe de la
forma:(mathworks, 2014)
net.trainFcn = traincgb
[net, tr] = train(net, ...)
Con traincgb se puede entrenar a cualquier red, siempre ycuando sus funciones de peso, entrada neta y de transferen-cia tengan funciones derivables. (Neural Network Toolbox,2010)
La retropropagacin se utiliza para calcular el rendimiento de
los derivados de perforacin con respecto a las variables de
peso y de polarizacinX. Cada variable se ajusta de acuerdoa la siguiente:
X= X+ a dX;
donded Xes la direccin de la bsqueda. El parmetro dea se selecciona para reducir al mnimo el rendimiento a lolargo de la direccin de bsqueda.
La funcin de bsqueda de lnea searchFcn se utiliza paralocalizar el punto mnimo. La primera direccin de bsqueda
es el negativo de la pendiente de rendimiento. En sucesivas
iteraciones la direccin de bsqueda se calcula a partir de
la nueva gradiente y la direccin de bsqueda anterior de
acuerdo con la frmula:
dX= gX+ dXanteriorZ;
dondegXes el gradiente. El parmetro Z puede calcularse devarias maneras diferentes. La variacin de Powell-Beale del
gradiente conjugado se distingue por dos caractersticas:
el algoritmo utiliza una prueba para determinar cundo
restablecer la direccin de bsqueda para el negativo de lapendiente.
la direccin de bsqueda se calcula a partir del gradiente
negativo, la direccin de la bsqueda anterior, y la ltima
direccin de bsqueda antes de la ltima puesta a cero.
La formacin detiene cuando se produce alguna de estas con-
diciones:
1. Se ha alcanzado el nmero mximo de pocas (repeticio-
nes).
2. La cantidad mxima de tiempo que se ha superado.
3. El rendimiento ha sido minimizado a la meta.
4. El gradiente de rendimiento cae por debajo demingrad.
5. Rendimiento de validacin se ha incrementado ms de ve-cesmax_fail desde la ltima vez que se redujo (cuando seutiliza la validacin) (Neural Network Toolbox, 2010) .
Retropropagacin BFGS quasi-Newton (trainbfg):funcin de entrenamiento de la red que actualiza los valores
de peso y bias de acuerdo con el mtodo quasi-Newton
BFGS.(Carlos Alfonzo Prez Rivera, 2005)
El algoritmo BFGS requiere ms clculo en cada iteracin
y ms capacidad de almacenamiento de los mtodos de gra-
diente conjugado, aunque generalmente converge en menos
iteraciones. El Hesse aproximada debe ser almacenado, y su
dimensin es NxN , donde Nes igual al nmero de pesosy bias en la red. Para redes muy grandes puede ser que sea
mejor utilizar Rprop o uno de los algoritmos de gradiente
conjugado. Para redes ms pequeas, sin embargo,trainbfgpuede ser una funcin de capacitacin eficiente. (Neural
Network Toolbox, 2010)
La sintaxis de esta funcin es:(mathworks, 2014)
net.trainFcn = trainbfg
UNIVERSIDAD NACIONAL DE LOJA
[email protected], [email protected]
3
-
5/26/2018 Funcion-Hardlim y Hardlims.pdf
4/7
Ronal Rojas-Jenny Saraguro Tutor: Ing Henry Paz
[net, tr] = train(net, ...)
Con trainbfg se puede entrenar a cualquier red, siempre ycuando sus funciones de peso, entrada neta y de transferencia
tengan funciones derivables.
Retropropagacin se utiliza para calcular las derivadas de
rendimientoperfcon respecto a las variables de peso y biasX . Cada variable se ajusta de acuerdo a la siguiente:
X=X+ a dX;
dondedXes la direccin de la bsqueda. El parmetro dea se selecciona para reducir al mnimo el rendimiento a lolargo de la direccin de bsqueda.
La funcin de bsqueda de lnea searchFcn se utiliza paralocalizar el punto mnimo. La primera direccin de bsqueda
es el negativo de la pendiente de rendimiento. En sucesivas
iteraciones la direccin de bsqueda se calcula segn la
siguiente frmula:
dX= H gX;
donde gX es el gradiente y H es una matriz de Hesseaproximada.
El aprendizaje se detiene cuando se produce alguna de estas
condiciones:
1. Se ha alcanzado el nmero mximo de pocas (repeticio-
nes).
2. La cantidad mxima de tiempo que se ha superado.
3. El rendimiento ha sido minimizado a la meta.4. El gradiente de rendimiento cae por debajo de mingrad.5. la validacin del rendimineto se ha incrementado mas que
max_fail veces desde la ltima vez que se redujo (NeuralNetwork Toolbox, 2010).
Retropropagacin Regulacin Bayesiana trainbr):Funcin de entrenamiento que actualiza los pesos
y los bias de acuerdo con el algoritmo de resilient
backpropagation"(RPROP).(Carlos Alfonzo Prez Rivera,
2005)
Es una funcin de la red de formacin que actualiza los
valores de los pesos y bias de acuerdo con la optimizacinde Levenberg-Marquardt. Se minimiza una combinacin de
errores y pesos al cuadrado y, a continuacin, determina la
combinacin correcta a fin de producir una red que gene-
raliza bien. El proceso se llama regularizacin bayesiana.
(mathworks, 2014)
Esta funcin utiliza el Jacobian para los clculos, lo quesupone que el rendimiento es una media o la suma de errores
al cuadrado. Por lo tanto redes entrenadas con esta funcin
deben utilizar elmseossefuncin del rendimiento.
La sintaxis de est funcin se describe de la
forma:(mathworks, 2014)
net.trainFcn = trainbr
[net, tr]= train(net, ...)
La funcintrainbrpuede entrenar a cualquier red, siempre ycuando sus funciones de peso, entrada neta y de transferencia
tienen funciones derivables.(Neural Network Toolbox, 2010)
Regularizacin bayesiana minimiza una combinacin lineal
de los errores y los pesos al cuadrado. Tambin modifica la
combinacin lineal de modo que al final de la formacin de
la red resultante tiene buenas cualidades de generalizacin.
Esta regularizacin bayesiana se lleva a cabo dentro del
algoritmo de Levenberg-Marquardt. La retropropagacin se
utiliza para calcular la jacobiana jXde rendimientoperf conrespecto a las variables de peso y bias X . Cada variable seajusta en funcin de Levenberg-Marquardt:
j j= jX jXje = jX E
dX= (j j+Imu)je
dondeEson todos los errores y Ies la matriz de identidad.
El parmetromem_reduc indica cmo usar la memoria y lavelocidad para calcular el jacobiano jX. Simem_reduces 1,entoncestrainlm corre ms rpido, pero puede requerir unagran cantidad de memoria.
Aumentar mem_reduc a 2, corta parte de la memoriarequerida por un factor de dos, pero ralentiza trainlm.Los valores ms altos continan para disminuir la cantidad
de memoria necesaria y aumentar los tiempos de aprendizaje.
El aprendizaje se detiene cuando se produce alguna de estas
condiciones:
1. Se ha alcanzado el nmero mximo de pocas (repeticio-
nes).
2. La cantidad mxima de tiempo que se ha superado.
3. El rendimiento ha sido minimizado a la meta.4. El gradiente de rendimiento cae por debajo de mingrad.
5.mu excedemu_max.6. Rendimiento de validacin se ha incrementado ms de ve-
cesmax_fail desde la ltima vez que se redujo (cuando seutiliza la validacin)(Neural Network Toolbox, 2010).
Caso Prctico
Para poner en prctica lo aprendido en clase se realizo un
caso prctico en la herramienta Matlab, es una aplicacin la
UNIVERSIDAD NACIONAL DE LOJA
[email protected], [email protected]
4
-
5/26/2018 Funcion-Hardlim y Hardlims.pdf
5/7
Ronal Rojas-Jenny Saraguro Tutor: Ing Henry Paz
cual nos permite simular un red neuronal con las funciones de
ActivacinHardlim y Harlims y admas permite especificarque tipo de entrenamiento se le dar a la red neuronal.
Figura 5. Pantalla Principal
En la figura 5. de la pantalla principal tenemos varias
secciones las cuales nos servirn de ayuda para poder
realizar la simulacin de la red neuronal.
Se detalla cada una de la secciones de la pantalla principal:
1. En esta primera seccin se define que funcin de
activacin (hardlim o hardlims) va ha utilizar cada una de lasneuronas que forman la red, y el tipo de aprendizaje ( trainbr,trainbfg o traincgb) que van ha emplear.
El botnEstablecersirven para para fijar las funciones de ac-tivacin y aprendizaje seleccionadas con las cuales se simu-
lar la red neuronal, a diferencia del botn Restablecerquenos habilita nuevamente los select de funcin y aprenizaje en
caso de que se requiera de otras funciones.
Figura 6. Funcin de Activacin y Aprendizaje
2. Una vez establecidas las funciones de activacin y
entrenamiento procedemos a la seccin dos en la cual
podemos determinar el nmero de capas y neuroans que
formarn la red.
En el campo de texto Nmero de Capas se ingresar elnumero de capas que se desea para la red dentro del rango
de 1 a 10.
Una vez ingresado el nmero de capas se procede a
seleccionar el botn Crear Capas el cual nos habilita laseccin de capas en donde ingresaremos el nmero de
neuronas para cada una de las capas creadas anteriormente y
seleccionamos el botnGrabar Neuronas.
El botnDeshacernos habilita nuevamente los campos y asipodemos cambiar los datos para ingresar nuevos en caso de
alguna equivocacin.
Figura 7. Datos de la Red Neuronal
3. En la seccin tres tenemos a la matriz de entrada y pesos
con las cuales trabajar la red neuronal.
Figura 8. Matriz de Entrada y Vector
4. En la seccin cuatro tenemos los botones:
Calcularel cual no realiza la simulacin de la res neuronal Limpiarborra todos los datos ingresados para la simual-cin de la red.
Ver Red Neuronal nos muestra la grfica de las capas conel nmero de neuronas que posee.
UNIVERSIDAD NACIONAL DE LOJA
[email protected], [email protected]
5
-
5/26/2018 Funcion-Hardlim y Hardlims.pdf
6/7
Ronal Rojas-Jenny Saraguro Tutor: Ing Henry Paz
Figura 9. Botones de Ejecucin
Codificacin MATLAB
Para la ejecucin de aplicacin se realiz la siguiente co-
dificacin:
En esta figura 10 se presenta el cdigo que se emplea
para obtener los valores de la matriz de entrada los cuales se
van a guardar en una matrizM
Figura 10. Matriz de Entrada
En la figura 11 se almacena los valores del vector de
salidaV
Figura 11. Vector de Salida
En la figura 12 se observa la codificacin para crear y
simular la red, utilizmos el comandonewffel cual recibe co-mo parametros: la matriz de entrada, la funcion de activaci,
el tipo de entrenamiento y el nmero de neuronas.
Figura 12. Creacin y simulacin de la Red Neuronal
Ejecutando la aplicacin se presentar la pantalla de la fi-
gura 13.
Figura 13. Ejecucin Aplicacin
Si seleccionamos el botn de Ver Red Neuronal se pre-sentar la pantalla e la figura 14, la misma que contiene la
informacin acerca de el nmero de capas que forman la red,
el nmero de neuronas que contiene cada capa, el nmero de
entradas y el nmero de salidas.
UNIVERSIDAD NACIONAL DE LOJA
[email protected], [email protected]
6
-
5/26/2018 Funcion-Hardlim y Hardlims.pdf
7/7
Ronal Rojas-Jenny Saraguro Tutor: Ing Henry Paz
Figura 14. Capas de la Red Neuronal
References
Carlos Alfonzo Prez Rivera, G. A. I. E., Jaime Andres Britto Mon-
toya. (2005). Aplicacin de redes neuronales para la deteccin
de intrusos en redes y sistemas de informacin.
mathworks. (2014). Documentation center. Descargado dehttp://www.mathworks.com/help/
Matich, D. J. (2001). Redes neuronales: Con-ceptos bsicos y aplicaciones. Descargado dehttp://www.frro.utn.edu.ar/repositorio/
catedras/quimica/5_anio/orientadora1
/monograias/matich-redesneuronales.pdf
Neural network toolbox. (2010). Descargado dehttp://dali.feld.cvut.cz/ucebna/
matlab/toolbox/nnet/trainbr.html?cmdname=trainbr
Ral Pino Dez, N. d. A. M., Alberto Gmez Gmez. (s.f.). In-troduccin a la inteligencia artificial: Sistemas expertos, redesneuronales artificiales y computacin evolutiva. Servicio dePublicaciones-Universidad de Oviedo, =.
Raquel Flrez Lpez, J. M. F. F. (2008). Las redes neuronalesartificiales. Gesbiblo.
Tanco, F. (2010). Introduccion a las re-des neuronales artificiales. Descargado dehttp://www.secyt.frba.utn.edu.ar/gia/RNA.pdf
Wasserman., P. (s.f.). Neural computing: la teora y la prctica .Van Nostrand Reinhold Co.
UNIVERSIDAD NACIONAL DE LOJA
[email protected], [email protected]
7