funcion-hardlim y hardlims.pdf

7
Redes Neuronal es Artici ales Ronal Rojas (1) Universidad Nacional de Loja Jenny Saraguro (2) Universidad Nacional de Loja En este artículo se describe las funciones de activación Hardlim y Hardlims de las neuronas articiales con la itulización de una pequeña aplicación que nos permite simular una red neu- ronal Redes Neuronales Articiales El cont inúo avanc e de la tecn ologí a así como tamb ién la necesidad de agilizar los procesos de negocios hace que el homb re desa rrol técn icas que permitan alcanzar este objetivo como es el caso de la redes neuronales articales, que se caracterizan por tener un procesamiento automático que se ha venido perfeccionando con la nalidad de obtener mej ores res ult ados que sat isfagan las exige ncias de los usuarios. La teoría de las redes neuronales articiales ha brindado una alt ernativa a la comput aci ón clásica, par a aqu ell os problemas, en los cuales los métodos tradicionales no han entregado resultados muy convincentes, o poco convenien- tes. (Tanco, 2010) Las aplicaciones más exitosas de las RNA son:  Procesamiento de imágenes y de voz  Reconocimiento de patrones  Interfaces adaptivas para sistemas hombre / máquina  Predicción  Control y optimización  Filtrado de señales Las RNA no ej ecut an inst rucc ione s, responden en paralelo a las entradas que se les presenta. El resultado no se almacena en una posición 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 topología y en los valores de las conexiones (pesos) entre neuronas. (Tanco, 2010) Las red es neu ronales articial es tra tan de emula r el compor tamien to del cer ebr o humano, car act eri zad o por el apr end iza je a través de la exper iencia y la extra cción de conoci mi ento ge ri co a part ir de un conj unto de datos.(Raquel Flórez López, 2008). Las red es neu ron ales art ic ial es se dis eña ron con el objetivo de poder simular el sistema nervioso central el cual ayudase a la extracción de información a partir de grandes cantidades de datos complejos e inciertos (Raúl Pino Díez, s.f.) y de esta manera poder realizar una clasicación de los datos. La arquitectura de una red neuronal articial depende de cuatro parámetros principales:  El número de capas del sistema.  El número 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 transmisión de las salidas de las distintas unidades y su transformación en entradas de otros procesa- dores. (Raquel Flórez López, 2008). Se va a considerar una neurona como un elemento formal o módulo o unidad básica de la red que recibe información de otros módulos o del entorno; la integra, la computa y emi te una única sali da que se va a tr ans mit ir idé nti ca a múltiples neuronas posteriores. (Wasserman., s.f.). Figura 1. Esquema de la Neurona Articial La salida de esta neurona esta denida por la siguiente ecuacion: a  =  F k ((W i  j  ∗ P i ) + b k ) Donde:  a: es la salida de la neurona.  F k : es la función de transferencia de la neurona.  W i  j: es la matriz de pesos.

Upload: ronald-rojas

Post on 16-Oct-2015

44 views

Category:

Documents


0 download

TRANSCRIPT

  • 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