6
Redes Neuronales: Funciones de Activaci´ on Hardlim para simular un circuito con sensor de movimiento y Hardlims para determinar si una persona es diab´ etica en Matlab Neural Networks: Enabling Functions Hardlim to simulate a circuit with sensor Hardlims motion and to determine if a person is diabetic in Matlab A. Mora, F. Michay, Tutor: Ing. Henry Paz Resumen—En este art´ ıculo se abordar´ an cuestiones relativas a la inteligencia artificial, centr´ andose en el ´ area de redes neuronales que utilizan para la operaci´ on de diversas funciones de activaci´ on. Conceptos tales como una neurona Aprender, tam- bi´ en se discutir´ an las redes perceptr´ on, individual y perceptr´ on multicapa, y, finalmente, dos ejemplos de aplicaci´ on se har´ an de funciones de activaci´ on y Hardlims Hardlim, lo que nos permite determinar qu´ e funci´ on su activaci´ on es´ optima. Index Terms—RNA, inteligencia artificial, red neuronal, fun- ciones de activaci´ on, perceptr´ on, perceptr´ on simple, perceptr´ on multicapa, capa de entrada, capa de salida, capa oculta, apren- dizaje o entrenamiento, aprendizaje supervisado, aprendizaje no supervisado, hardlim, hardlims, newp, train, sim Abstract—This article will address issues relating to artificial intelligence, focusing on the area of neural networks which used for operation activating various functions. Learning concepts such as a neuron, perceptron networks will also be discussed, single and multilayer perceptron, and finally two examples of application will be made of activation functions and Hardlims Hardlim, allowing us to determine which function its activation is optimal. Index Terms—artificial intelligence, neural network, activation functions, perceptron, perceptron simple, multilayer perceptron, input layer, output layer, hidden layer, learning or training, supervised learning, unsupervised learning, hardlim, hardlims, newp, train, sim I. INTRODUCCI ´ ON D entro del estudio de la Inteligencia Artificial, es- pec´ ıficamente las redes neuronales son un elemento importante para las tecnolog´ ıas actuales, puesto que per- miten simular el comportamiento para con esto tener un acercamiento mas acertado para la soluci´ on de problemas. En el presente art´ ıculo se abordan temas relacionados con A. Mora, Universidad Nacional de Loja, Loja, Ecuador, [email protected] F. Michay, Universidad Nacional de Loja, Loja, Ecuador, [email protected] las redes neuronales artificiales las cuales dan lugar a una serie de temas relacionados a la misma; como las funciones de transferencia hardlim y hardlims, funciones esenciales para el correcto funcionamiento de las RNA’s y las cuales son punto fundamental para la realizacin de este art´ ıculo. Es importante analizar el aprendizaje o entrenamiento de una RNA, ya que esto determinar´ a si una neurona dependiendo de su funci´ on de activaci´ on aprende de manera ´ optima. En la actualidad se vienen utilizando las RNA’s para dar soluci´ on a muchos problemas; para esto utilizan algunos tipos de redes partiendo de la de tipo perceptr´ on la cual nos permite resolver problemas linealmente separables con la ayuda de las funciones de activaci´ on hardlim y hardlims. II. DESARROLLO A. Redes Neuronales Artificiales Las RNA son sistemas de procesamiento de la informaci´ on cuya estructura y funcionamiento est´ an inspirados en las redes neuronales biol´ ogicas. El funcionamiento de una neurona artificial consiste en aplicar un conjunto de entradas, cada una representando la salida de otra neurona, o una entrada del medio externo, realiza una suma ponderada con esos valores y filtra ese valor con una funci´ on, ver Figura 1. Una red neuronal artificial son un conjunto de elementos procesado simples conectados entre s´ ıy entre los que se env´ ıan informaci´ on a trav´ es de las conexiones. Dentro de una red neuronal, los elementos de procesamien- tos se encuentran agrupados por capas, cada una de estas capas representan una colecci´ on de neuronas; que de acuerdo a su ubicaci´ on recibe diferentes nombres: Capa de entrada: recibe los valores de entrada de la red, aunque algunos autores no consideran el vector de

Redes neuronales-funciones-activacion-hardlim- hardlims-matlab

Embed Size (px)

Citation preview

Page 1: Redes neuronales-funciones-activacion-hardlim- hardlims-matlab

Redes Neuronales: Funciones de ActivacionHardlim para simular un circuito con sensor demovimiento y Hardlims para determinar si una

persona es diabetica en MatlabNeural Networks: Enabling Functions Hardlim to

simulate a circuit with sensor Hardlims motion andto determine if a person is diabetic in Matlab

A. Mora, F. Michay, Tutor: Ing. Henry Paz

Resumen—En este artıculo se abordaran cuestiones relativasa la inteligencia artificial, centrandose en el area de redesneuronales que utilizan para la operacion de diversas funcionesde activacion. Conceptos tales como una neurona Aprender, tam-bien se discutiran las redes perceptron, individual y perceptronmulticapa, y, finalmente, dos ejemplos de aplicacion se haran defunciones de activacion y Hardlims Hardlim, lo que nos permitedeterminar que funcion su activacion esoptima.

Index Terms—RNA, inteligencia artificial, red neuronal, fun-ciones de activacion, perceptron, perceptron simple, perceptronmulticapa, capa de entrada, capa de salida, capa oculta, apren-dizaje o entrenamiento, aprendizaje supervisado, aprendizaje nosupervisado, hardlim, hardlims, newp, train, sim

Abstract—This article will address issues relating to artificialintelligence, focusing on the area of neural networks which usedfor operation activating various functions. Learning conceptssuch as a neuron, perceptron networks will also be discussed,single and multilayer perceptron, and finally two examples ofapplication will be made of activation functions and HardlimsHardlim, allowing us to determine which function its activationis optimal.

Index Terms—artificial intelligence, neural network, activationfunctions, perceptron, perceptron simple, multilayer perceptron,input layer, output layer, hidden layer, learning or training,supervised learning, unsupervised learning, hardlim, hardlims,newp, train, sim

I. INTRODUCCION

D entro del estudio de la Inteligencia Artificial, es-pecıficamente las redes neuronales son un elemento

importante para las tecnologıas actuales, puesto que per-miten simular el comportamiento para con esto tener unacercamiento mas acertado para la solucion de problemas.En el presente artıculo se abordan temas relacionados con

A. Mora, Universidad Nacional de Loja, Loja, Ecuador,[email protected]

F. Michay, Universidad Nacional de Loja, Loja, Ecuador,[email protected]

las redes neuronales artificiales las cuales dan lugar a unaserie de temas relacionados a la misma; como las funcionesde transferencia hardlim y hardlims, funciones esenciales parael correcto funcionamiento de las RNA’s y las cuales son puntofundamental para la realizacin de este artıculo. Es importanteanalizar el aprendizaje o entrenamiento de una RNA, ya queesto determinara si una neurona dependiendo de su funcionde activacion aprende de manera optima. En la actualidadse vienen utilizando las RNA’s para dar solucion a muchosproblemas; para esto utilizan algunos tipos de redes partiendode la de tipo perceptron la cual nos permite resolver problemaslinealmente separables con la ayuda de las funciones deactivacion hardlim y hardlims.

II. DESARROLLO

A. Redes Neuronales Artificiales

Las RNA son sistemas de procesamiento de la informacioncuya estructura y funcionamiento estan inspirados en las redesneuronales biologicas.

El funcionamiento de una neurona artificial consiste enaplicar un conjunto de entradas, cada una representando lasalida de otra neurona, o una entrada del medio externo, realizauna suma ponderada con esos valores y filtra ese valor conuna funcion, ver Figura 1. Una red neuronal artificial son unconjunto de elementos procesado simples conectados entre sı yentre los que se envıan informacion a traves de las conexiones.

Dentro de una red neuronal, los elementos de procesamien-tos se encuentran agrupados por capas, cada una de estas capasrepresentan una coleccion de neuronas; que de acuerdo a suubicacion recibe diferentes nombres:

• Capa de entrada: recibe los valores de entrada de lared, aunque algunos autores no consideran el vector de

Page 2: Redes neuronales-funciones-activacion-hardlim- hardlims-matlab

Figure 1. Esquema de una RNA

entrada como una capa ya que no se lleva a cabo ningunproceso en ella.

• Capas ocultas: estas capas no tienen contacto con el ex-terior, sus elementos pueden tener diferentes conexiones,determinando ası las diferentes topologıas de la red.

• Capa de salida: recibe la informacion de la capa ocultay comunica o transmite la respuesta al medio externo.

B. Funciones de Activacion de las RNAs

Una funcion de activacion es la encargada de calcular laentrada total de la neurona como combinacion de todas lasentradas. [1]

La funcion activacion calcula el estado de actividad de unaneurona; transformando la entrada global (menos el umbral)en un valor (estado) de activacion, cuyo rango normalmenteva de (0 a 1) o de (1 a 1). Esto es ası, porque una neuronapuede estar totalmente inactiva (0 o 1) o activa (1).

Existen tres funciones de transferencia tıpicas que determi-nan distintos tipos de neuronas:

• Funcion escalon: se utiliza cuando las salidas de la redson binarias. La salida de una neurona se activa solocuando el estado de activacion es mayor o igual quecierto valor umbral t que representa la mınima entradatotal ponderada necesaria para provocar la activacion dela neurona.

• Funcion lineal: responde a las expresion f(x) = x. Sedefine un lımite inferior -t y otro superior, t. Si la suma delas senales de entrada es menor que que -t, la activacionse define como 0 o -1. Si la suma es mayor que t, laactivacion es 1. Para valores de entrada situada entreambos lımites, la activacion se define como una funcionlineal de la suma de las senales de entrada.

• Funcin sigmoidal: es la mas apropiada cuando se quierecomo salida informacion analogica. La importancia deesta funcion es que su derivada es siempre positivay cercana a cero para los valores grandes positivos onegativos; ademas toma su valor maximo cuando x es 0.Esto hace que se puedan utilizar las reglas de aprendizajeen las cuales se usan derivadas. La expresion de estafuncion responde a la forma.

C. Cuadro comparativo de funciones de activacion de lasRNAs.

El siguiente cuadro comparativo que se presenta en la Figura 2 hace referencia a las funciones de activacion em-pleadas en el entrenamiento de redes neuronales artificiales.

Figure 2. Cuadro comparativo: funciones de activacion.

D. Funcion de Activacion Hardlim

Hardlim es una funcion de transferencia escalon. Las fun-ciones de transferencia calculan la capa de salida a partir dela red de entrada. Ası esta funcion proporciona el valor de lasalida de una neurona igual a 1 si la entrada supera un valorumbral, y si no lo supera la salida toma el valor de 0. En laFigura 3 se presenta graficamente lo descrito anteriormente.[2]

Figure 3. Funcion Hardlim

E. Funcion de Activacion Hardlims

Esta funcion de transferencia proporciona el valor de lasalida de una neurona igual a 1 si la entrada supera unvalor umbral, y si no lo supera la salida toma el valor -1.A continuacion en la Figura 4 se presenta la grafica de lafuncion hardlims. [2]

Page 3: Redes neuronales-funciones-activacion-hardlim- hardlims-matlab

Figure 4. Funcion Hardlims

F. Aprendizaje o EntrenamientoEl aprendizaje es el proceso por el cual una red neuronal

modifica sus pesos en respuesta a una informacion de entrada.Los cambios que se producen durante el mismo se reducen ala destruccion, modificacion y creacion de conexiones entrelas neuronas.

Durante el proceso de aprendizaje, los pesos de lasconexiones de la red sufren modificaciones, por lo tanto,se puede afirmar que este proceso ha terminado (la redha aprendido) cuando los valores de los pesos permanecenestables (dwij/dt = 0).

Un aspecto importante respecto al aprendizaje de las redesneuronales es el conocer como se modifican los valores delos pesos, es decir, cuales son los criterios que se siguenpara cambiar el valor asignado a las conexiones cuando sepretende que la red aprenda una nueva informacion. Paraesto hay dos metodos de aprendizaje; el supervisado y el nosupervisado.

Otro criterio que se puede utilizar para diferenciar las reglasde aprendizaje se basa en considerar si la red puede aprenderdurante su funcionamiento habitual o si el aprendizaje suponela desconexion de la red, es decir, su inhabilitacion hastaque el proceso termine. En el primer caso, se tratarıa de unaprendizaje on line, mientras que el segundo es lo que seconoce como off line.

1.) Aprendizaje SupervisadoSe caracteriza porque el proceso de aprendizaje se realizamediante un entrenamiento controlado por un agente externo(supervisor, maestro) que determina la respuesta que deberıagenerar la red a partir de una entrada determinada.

El supervisor controla la salida de la red y en caso de queesta no coincida con la deseada, se procedera a modificar lospesos de las conexiones, con el fin de conseguir que la salidaobtenida se aproxime a la deseada.[3]

Para este tipo de aprendizaje de suele considerar tres formaspara llevarlo a cabo:

• Aprendizaje por correccion de error.• Aprendizaje por refuerzo

• Aprendizaje estocastico.

2.) Aprendizaje No SupervisadoNo requieren influencia externa para ajustar los pesos de lasconexiones entre sus neuronas. La red no recibe ningunainformacion por parte del entorno que le indique si la salidagenerada en respuesta a una determinada entrada es o nocorrecta.[3]

Para este tipo de aprendizaje se suelen considerar dos tipos,que dan lugar a los siguientes aprendizajes:

• Aprendizaje hebbiano.• Aprendizaje competitivo y comparativo.

G. Perceptron Simple

El Perceptron es un tipo Red Neuronal Monocapa Hıbridade Aprendizaje Supervisado.

Una limitacion del Perceptron basico de dos capas odimensiones es que solo pude establecer dos regionesseparadas por una frontera lineal en el espacio de patrones deentrada, donde se tendra el hiperplano. [4]

Caracterısticas del Perceptron Simple• Aprendizaje Supervisado (offline)• Aprendizaje por correccion de error• Reconocimiento de patrones sencillos• Clasificacion de patrones linealmente separables

H. Perceptron Multicapa

Un perceptron multicapa es una red de alimentacion haciaadelante compuesta por varias neuronas entre la entrada yla salida de la misma, esta red permite establecer regionesmucho mas complejas que las de dos semiplanos.

Un Perceptron con tres niveles de neuronas puede formarcualquier region convexa en este espacio. Un Perceptron concuatro capas puede generar regiones de decision arbitraria-mente complejas.

III. IMPLEMENTACION DE HARDLIM YHARDLIMS EN MATLAB

Para entender de mejor manera el funcionamiento de lasfunciones de activacion hardlim y hardlims se realizara unejemplo aplicado a cada funcion con la ayuda de MATLAB.Matlab es una herramienta desarrollada por MathWorks, esun lenguaje de alto nivel para la computacion tecnica.

MATLAB integra un toolbox o caja de herramientas paratrabajar con redes neuronales, pesos y umbrales, facilitandoasi la creacion y funcionamiento de las redes neuronales.

Page 4: Redes neuronales-funciones-activacion-hardlim- hardlims-matlab

A. Ejemplo aplicando la funcion de transferencia HardlimDescripcion: Se pretende simular un circuito con sensor de

movimiento que permite mantener encendido un led mientrashaya paso de corriente; es decir, mientras las salidas esten en 1.

En la Figura 5 se muestra el diseno del circuito del problemaantes mencionado:

Figure 5. Diseno del Circuito

La tabla de simplificacion del circuito con sensor demovimiento se presenta en la Figura 6:

Figure 6. Simplificacion del Circuito

A contnuacion se muestra la implementacion em MatLab:• Matrices de entrada y salida.

P = [0 0 1 1;0 1 0 1];T = [1 1 1 0];

• Con la funcion plotpv en base a las entradas y salidasse proyectan los puntos sobre un plano XY, y podemosobservar en la Figura 7 que el problema es linealmenteseparable y puede usarse el perceptron.

plotpv(P,T)

• Para crear la red utilizamos el comando newp cuyosparametros de entrada seran los valores maximos ymınimos para poder validar la funcion; el numero deneuronas de salida, en este caso solamente sera una; yla funcion de activacion aplicada.

net=newp([0 1;0 1],1,hardlim);

• El siguiente paso es entrenar la red para dar solucional problema planteado, para esto se utiliza el comandotrain, cuyos parametros son: el nombre de la red, consus entradas y salidas. Ver Figura 8.

Figure 7. Grafica de la funcion

net=train(net,P,T);

Figure 8. Entrenamiento de la Red

• Para verificar si los datos obtenidos satisfacen las salidasdeseadas se utiliza el comando sim, cuyos parametrosson: la red y su matrız de entrada.Como se puede observar en Figura 9 la los datosobtenidos por la red si satisfacen las salidas deseadas.

• Finalmente en la Figura 10 se presenta la grafica declasificacion obtenida por la red utilizando el comandoplotpc cuyos parametros son: la red con sus pesos y biasmodificados.

B. Ejemplo aplicando la funcion de transferencia HardlimsDescripcion: Con el siguiente ejemplo se trata de decidir

si una persona tiene diabetes a partir de 3 datos personalesde acuerdo a los criterios de la Organizacion Mundial de laSalud: concentracion de glucosa en plasma, presion sanguınea

Page 5: Redes neuronales-funciones-activacion-hardlim- hardlims-matlab

Figure 9. Simulacion de la Red

Figure 10. Clasificacion de la Red

diastolica, insulina.

Se va a disenar un Perceptron simple con el fin dediagnosticar, segun estas caracterısticas, si una mujer es, ono, diabetica.

A contnuacion se muestra la implementacion del casomencionado en MatLab:

• Matrices de entrada y salida.E=[-1 -1 -1 -1 1 1 1 1;-1 -1 1 1 -1 -1 1 1; -1 1 -1 1 -11 -1 1];S=[-1 -1 -1 1 -1 1 1 1];

• Para crear la red utilizamos el comando newp cuyosparametros de entrada seran los valores maximos ymınimos para poder validar la funcion; el numero deneuronas de salida, en este caso solamente sera una; yla funcion de activacion aplicada.

red=newp([-1 1;-1 1;-1 1],1,hardlims);

• El siguiente paso es entrenar la red para dar solucional problema planteado, para esto se utiliza el comandotrain, cuyos parametros son: el nombre de la red, consus entradas y salidas. Ver Figura 11.

red = train(red, E, S);

Figure 11. Entrenamiento de la Red

• Para verificar si los datos obtenidos satisfacen las salidasdeseadas se utiliza el comando sim, cuyos parametrosson: la red y su matrız de entrada. Como se puedeobservar en la ver Figura 12 los datos obtenidos por lared si satisfacen las salidas deseadas.

Figure 12. Simulacion de la Red

Page 6: Redes neuronales-funciones-activacion-hardlim- hardlims-matlab

IV. CONCLUSIONES• Las funciones de activacin se emplean con el fin de

disminuir la nmero de iteraciones y por lo tanto mejorarel rendimiento de la red.

• Utilizar la funcion hardlims acelera el aprendizaje de unaneurona.

• Las funciones de activacin hardlim y hardlims son degran importancia ya que permiten realizar la clasificacionde datos, aunque tienen una gran limitacion de que solopermiten resolver problemas linealmene separables.

V. RECOMENDACIONES• Utilizar la funcin hardlims sobre hardlim puesto que

hardlim al tener un 0 multiplicando alguno de los valoresresultantes del producto de las entradas del vector depesos ocasiona que estos no se actualicen y el aprendizajesea mas lento.

• Realizar la simulacion de la red con el comando sim paraverificar el funcionamiento de la red, especialmente enaquellos problemas en los que no es posible graficar yverificar si exite una clasificacion correcta.

REFERENCES

[1] Las redes neuronales artificiales. (s.f.). Descargado dehttp://www.flacsoandes.edu.ec/comunicacion/aaa/imagenes/publicaciones/pb 25.pdf, Fecha de consulta: 28-10-2014

[2] Mathworks. hardlim - hardlims. (s.f.). Descargado de http://www.mathworks.com/help/nnet/ref/hardlims.html, Fecha de consulta: 28-10-2014

[3] Redes neuronales: Conceptos basicos y aplicaciones. (s.f.). Descar-gado de http://www.frro.utn.edu.ar/repositorio/catedras/quimica/5 anio/orientadora1/monograias/matich-redesneuronales.pdf, Fecha de con-sulta: 29-10-2014

[4] LEZCANO, A; MONTANO MORENO. (s.f.). Inteligencia Artifi-cial. Descargado de http://disi.unal.edu.co/lctorress/RedNeu/LiRna001.pdf, Fecha de consulta: 29-10-2014

[5] PALMER POL, J., A*; MONTANO MORENO. (s.f.). que son lasredes neuronales artificiales? aplicaciones realizadas en el ambito delas adicciones. Descargado de http://disi.unal.edu.co/lctorress/RedNeu/LiRna001.pdf, Fecha de consulta: 29-10-2014

BIOGRAFIA

Ana Cristina Mora Medina, estudiante de la Car-rera de Ingenierıa en Sistemas de la UniversidadNacional de Loja. Provincia de Loja, Ciudad Loja- Ecuador, 2014.

Franklin de Jesus Michay Cuenca, estudiante de laCarrera de Ingenierıa en Sistemas de la UniversidadNacional de Loja. Provincia de Loja, Ciudad Loja -Ecuador, 2014.