funciones_ hardlim_hardlims

8
Funciones Hardlim y Hardlims para la clasificaci ´ on de personas en un ambiente acad ´ emico Functions and Hardlims Hardlim for classification of people in a academic environment Paola Morocho. Lenin Ocampo. Tutor: Ing.:Henry Paz ResumenEste articulo trata sobre la neurona artifi- cial, su historia, caracter´ ısticas, y estructura. Adem ´ as se podr´ a apreciar las funciones de activaci´ on hardlim y hardlims en un ejemplo pr ´ actico para la clasificaci ´ on de personas, en donde tambi ´ en se us´ o la herramienta MATLAB. Abstract—This article is about the artificial neuron, its history, characteristics , and structure. Furthermore it will be appre- ciated hardlim activation functions and hardlims in a practical example, where the use of the Matlab is also seen . Index Terms—Neurona articial, hardlim, hardlims,funciones de activaci ´ on, funciones de aprendizaje. I I NTRODUCCI ´ ON U NO de los principales objetivos de los seres hu- manos a lo largo de la historia ha sido facilitar al m ´ aximo sus actividades, incluyendo aquellas que requieren cierto nivel de inteligencia. Para ello han desarrollado diversas t´ ecnicas que incluyen el desa- rrollo de la inteligencia artificial. El principio b´ asico de esta ´ area es la construcci´ on de m ´ aquinas capaces de servir de ayudantes en los procesos y actividades que requieren cierta capacidad intelectual . Una de las t´ ecnicas que se incluye en la inteligencia artificial son las redes neuronales artificiales, las mismas Paola Morocho, Universidad Nacional de Loja. Carrera de Inge- nier´ ıa en Sistemas. E-mail: [email protected] Lenin Ocampo. Universidad Nacional de Loja. Carrera de Inge- nier´ ıa en Sistemas. E-mail: [email protected] que son un sistema an´ alogo a las redes neuronales biol ´ ogicas y que tratan de imitar al m´ aximo su comportamiento y caracter´ ısticas. Sobre las caracteristicas y estructura de este tipo de redes, se profundizar´ am´ as en la secci ´ on II Estado del arte, en donde tambien se dar´ a a conocer acerca de las funciones de aprendizaje, transferencia y entrenamiento de las mismas. En la secci ´ on III Resultados, se dar´ a a conocer el caso pr´ actico que se realiz´ o, se tom´ o como ejemplo el uso de las funciones hardlim y hardlims en la clasificaci ´ on de personas. Para la realizaci´ on de este ejercicio se us´ o la herramienta MATLAB. En la seccion IV, correspondiente a conclusiones, se emiten conclusiones acordes a los temas tratados. II ESTADO DEL ARTE II.1 Historia Warren McCulloch y Walter Pitts, en 1943, simula- ron mediante circuitos el´ ectricos el funcionamiento de una neurona, siendo esto, el primer paso en el estudio de la computaci ´ on neuronal. En a ˜ nos posteriores se profundiz´ o en el estudio de la neu- rona artificial, hasta que en 1949, Donald Hebb dedujo el proceso de aprendizaje de una neurona. En 1957, Frank Rosenblatt desarroll´ o el estudio del perceptr ´ on. Luego en 1969 Marvin Minsky, de- mostr ´ o que el perceptr´ on era muy d´ ebil, dado que no pod´ ıa resolver problemas no lineales que eran empleados en el mundo real, a pesar de esto, se con- tinu ´ o investigando en el campo de las rna. En 1974 Paul Werbos desarroll´ o el algoritmo de aprendizaje

Upload: paola-morocho-arevalo

Post on 12-Aug-2015

28 views

Category:

Engineering


1 download

TRANSCRIPT

Page 1: Funciones_ hardlim_hardlims

Funciones Hardlim y Hardlims para laclasificacion de personas en un ambiente

academicoFunctions and Hardlims Hardlim for classification

of people in a academic environmentPaola Morocho. Lenin Ocampo. Tutor: Ing.:Henry Paz

F

Resumen—Este articulo trata sobre la neurona artifi-cial, su historia, caracterısticas, y estructura. Ademasse podra apreciar las funciones de activacion hardlimy hardlims en un ejemplo practico para la clasificacionde personas, en donde tambien se uso la herramientaMATLAB.

Abstract—This article is about the artificial neuron, its history,characteristics , and structure. Furthermore it will be appre-ciated hardlim activation functions and hardlims in a practicalexample, where the use of the Matlab is also seen .

Index Terms—Neurona articial, hardlim, hardlims,funciones deactivacion, funciones de aprendizaje.

I INTRODUCCION

UNO de los principales objetivos de los seres hu-manos a lo largo de la historia ha sido facilitar

al maximo sus actividades, incluyendo aquellas querequieren cierto nivel de inteligencia. Para ello handesarrollado diversas tecnicas que incluyen el desa-rrollo de la inteligencia artificial. El principio basicode esta area es la construccion de maquinas capacesde servir de ayudantes en los procesos y actividadesque requieren cierta capacidad intelectual . Una delas tecnicas que se incluye en la inteligencia artificialson las redes neuronales artificiales, las mismas

• Paola Morocho, Universidad Nacional de Loja. Carrera de Inge-nierıa en Sistemas.E-mail: [email protected]

• Lenin Ocampo. Universidad Nacional de Loja. Carrera de Inge-nierıa en Sistemas. E-mail: [email protected]

que son un sistema analogo a las redes neuronalesbiologicas y que tratan de imitar al maximo sucomportamiento y caracterısticas.

Sobre las caracteristicas y estructura de este tipode redes, se profundizara mas en la seccion II Estadodel arte, en donde tambien se dara a conocer acercade las funciones de aprendizaje, transferencia yentrenamiento de las mismas.

En la seccion III Resultados, se dara a conocer elcaso practico que se realizo, se tomo como ejemploel uso de las funciones hardlim y hardlims en laclasificacion de personas. Para la realizacion de esteejercicio se uso la herramienta MATLAB.

En la seccion IV, correspondiente a conclusiones,se emiten conclusiones acordes a los temas tratados.

II ESTADO DEL ARTE

II.1 HistoriaWarren McCulloch y Walter Pitts, en 1943, simula-ron mediante circuitos electricos el funcionamientode una neurona, siendo esto, el primer paso enel estudio de la computacion neuronal. En anosposteriores se profundizo en el estudio de la neu-rona artificial, hasta que en 1949, Donald Hebbdedujo el proceso de aprendizaje de una neurona.En 1957, Frank Rosenblatt desarrollo el estudiodel perceptron. Luego en 1969 Marvin Minsky, de-mostro que el perceptron era muy debil, dado queno podıa resolver problemas no lineales que eranempleados en el mundo real, a pesar de esto, se con-tinuo investigando en el campo de las rna. En 1974Paul Werbos desarrollo el algoritmo de aprendizaje

Page 2: Funciones_ hardlim_hardlims

de propagacion hacia atras, que quedo definidocompletamente en 1985. En la actualidad, numero-sos investigadores y cientıficos han profundizadoen el estudio de las redes neuronales artificiales,brindandole diferentes enfoques y perspectiva des-de la neurologıa hasta la matematica.

II.2 Neurona Artificial

Una neurona artificial es la unidad analoga a laneurona biologica, siendo una unidad procesadoraque recibe varias senales de entrada y las combinamediante una suma basica, esta suma es modificadamediante una funcion de activacion, cuyo resultadoes conocido como la senal de salida. El conjunto deestas neuronas, forman las redes neuronales artifi-ciales.

Elementos: En la figura 1, se puede apreciar loselementos que componen una neurona artificial.

L neurona artificial comparte elementos simila-res con las neuronas biologicas, ademas la neuronaartificial simula el funcionamiento de la neuronabiologica.

Figura 1. Elementos de una neurona artificial

• Entradas: reciben la informacion desde elexterior o desde otras neuronas, que soncapturadas por las dendritas. Xi

• Pesos: O tambien llamado peso sinaptico, re-presentan la intensidad de la conexion entredos neuronas, este valor puede ser positivo(excitatorio) o negativo (inhibitorio), Wi. Es-tos coeficientes pueden adaptarse dentro dela red debido a la topologıa utilizada o lasreglas de entrenamiento

• Umbral: es la funcion que la neurona debesobrepasar para activarse.

• Salidas: Cada neurona tiene una unica salidaque puede estar asociado con otras neuronas.Esta salida depende directamente de la fun-cion de activacion

II.3 Perceptron

Fue uno de los primeros modelos de redesneuronales, trabaja principalmente con la funcion

de activacion limitador duro y limitador simetrico(Hardlim y Hardlims).

Usa la suma ponderada de sus entradas, dandocomo salida un 1 si la suma es mas grande queun valor umbral ajustable o da como salida 0 siocurre lo contrario, esta caracteritica pertenece asu funcion de activacion por defecto, hardlim. Lasentradas y pesos son numeros reales, negativos opositivos. El mecanismo de pesos se llama reglade aprendizaje del perceptron. En la figura 2 seobserva la estructura de un perceptron.

Figura 2. Estructura de un perceptron

II.4 Funciones de activacionLa funcion de activacion calcula el estado de ac-tividad de una neurona, esta funcion transforma elconjunto de entradas (gini - umbral) en un estado deactivacion. Por este estado la neurona puede estarinactiva con valores de 0 o -1 o activa con 1. Lafuncion de activacion es una funcion de la entradaglobal (gin i) menos el umbral Las funciones masusadas son:

Funcion lineal: Los valores de salida obtenidospor medio de esta funcion de activacion seran: a(cuando el argumento de gin i - (umbral)i) este com-prendido dentro del rango (-1/a, 1/a). Por encimao por debajo de esta zona se fija la salida en 1 o–1, respectivamente. Cuando a = 1 (siendo que lamisma afecta la pendiente de la grafica), la salida esigual a la entrada. Esta consideracion se aprecia enla figura 3.

Figura 3. Funcion lineal

Page 3: Funciones_ hardlim_hardlims

Funcion Sigmoidea: Los valores de salida queproporciona esta funcion estan comprendidos den-tro de un rango que va de 0 a 1. Al modificar elvalor de g se ve afectada la pendiente de la funcionde activacion. Tal como se observa en la figura 4.

Figura 4. Funcion Sigmoidea

Funcion Tangente Hiperbolica: En la figura 5 seobserva la funcion tangente hiperbolica, en donde,los valores de salida estan comprendidos dentro deun rango que va de -1 a 1. Al modificar el valorde g se ve afectada la pendiente de la funcion deactivacion.

Figura 5. Funcion Tangente Hiperbolica

II.5 Funcion de TransferenciaFuncion Escalon: se utiliza cuando las salidas dela red son binarias. La salida de una neurona seactiva solo cuando el estado de activacion es mayoro igual que cierto valor umbral t que representala mınima entrada total ponderada necesaria paraprovocar la activacion de la neurona. Esta funcioncrea neuronas que clasifican las entradas en doscategorıas diferentes, caracterıstica que le permiteser empleada en la red tipo Perceptron. En la figura6 se puede apreciar esta funcion.

Figura 6. Funcion Escalon

Funcion Escalon Simetrica: que restringe el es-pacio de salida a valores entre 1 y –1. Tal como seobserva en la figura 7.

Figura 7. Funcion Escalon Simetrica

Funcion lineal Esta funcion se observa en lafigura 8. Responde a las expresion f(x) = x. Se defineun lımite inferior -t y otro superior, t. Si la sumade las senales de entrada es menor que que -t, laactivacion se define como 0 o -1. Si la suma es mayorque t, la activacion es 1. Para valores de entradasituada entre ambos lımites, la activacion se definecomo una funcion lineal de la suma de las senalesde entrada. Neuronas que emplean esta funcion detransferencia son utilizadas en la red tipo Adaline.

Page 4: Funciones_ hardlim_hardlims

Figura 8. Funcion Lineal

Funcion sigmoidal Esta funcion toma los va-lores de entrada, los cuales pueden oscilar entremas y menos infinito, y restringe la salida a valoresentre cero y uno, de acuerdo a la expresion quese puede obervar en la figura 9. Esta funcion escomunmente usada en redes multicapa, como laBackpropagation, en parte porque la funcion logsiges diferenciable

Figura 9. Funcion Sigmoidal

II.6 Funcion de AprendizajeAprendizaje Supervisado Se requiere el empareja-miento de cada vector de entrada con su correspon-diente vector de salida. El entrenamiento consiste enpresentar un vector de entrada a la red, calcular lasalida de la red, compararla con la salida deseada,y el error o diferencia resultante se utiliza para re-alimentar la red y cambiar los pesos de acuerdo conun algoritmo que tiende a minimizar el error. Lasparejas de vectores del conjunto de entrenamientose aplican secuencialmente y de forma cıclica. Secalcula el error y el ajuste de los pesos por cadapareja hasta que el error para el conjunto de entre-namiento entero sea un valor pequeno y aceptable.

Los sistemas neuronales con entrenamiento su-pervisado han tenido exito en muchas aplicacionesy sin embargo tienen muchas crıticas debido a quedesde el punto de vista biologico no son muy logi-cos. Resulta difıcil creer que existe un mecanismoen el cerebro que compare las salidas deseadas conlas salidas reales.

Aprendizaje No Supervisado

No se requiere de influencia externa para ajustarlos pesos de las conexiones entre neuronas. Solose cuenta con las entradas para la red, en estesentido se habla de auto organizacion. Lo que sebusca es encontrar caracterısticas, regularidades ocorrelaciones entre los datos de entrada. Se generanlas salidas mediante: 1. El grado de familiaridado similitud entre la informacion de entrada y lasdel pasado. 2. Agrupando en categorıas a partirde correlaciones entre la informacion de entrada.Cuando no se tiene una salida predeterminadala red compara la informacion de entrada con lainformacion del sistema.

III RESULTADOS

A la hora de aplicar redes neuronales, y en generalpara cualquier problema de reconocimiento de pa-trones, hay una serie de pasos que seran comunes ala mayorıa de los problemas.

• Representacion original de los datos• Pre procesamiento de los datos originales

para codificarlos en un formato apropiadopara la red neuronal.

• Procesamiento de la informacion. (aplicacionde la red neuronal)

• Interpretacion de los resultados.

• 1. Representacion de la informacion origi-nal.

Lo primero que debemos tener en cuenta, es larepresentacion original de los datos que se debeprocesar, en este caso, una red neuronal, cuya basede conocimiento permite clasificar si una personaes docente o estudiante en base a la Ropa que llevay a su edad. En las figuras 10 y 11 se puede apreciarla informacion que se considero para realizar laclasificacion.

• Funcion Hardlim

Figura 10. Informacion para la construccion de la red. Hardlim

Page 5: Funciones_ hardlim_hardlims

• Funcion Hardlims

Figura 11. Informacion para la construccion de la red. Hardlims

2. Pre-procesamiento de los datos originalespara codificarlos en un formato apropiado para lared neuronal.

Para aplicar la informacion, se debe realizaralgun tipo de procesamiento para obtener lainformacion apropiada que le pasaremos comoentrada a dicha red.

• En el caso de hardlim, se genera un vectorde valores enteros 0 o 1, de manera que en laprimera entrada “ROPA O VESTIMENTA”un 1 significa que la persona esta con ropaformal y 0 con ropa informal, en la segundaentrada “EDAD” un 1 significa que la per-sona tiene 25 o mayor numero de anos y0 su edad es menor a 25 anos, de maneraque el vector de valores discretos sera lainformacion que pasaremos a la entrada dela red neuronal.

• En el caso de hardlims, lo que haremossera generar un vector de valores enteros -1 o 1, de manera que en la primera entrada“ROPA O VESTIMENTA” un 1 significaque la persona esta con ropa formal y -1con ropa informal, en la segunda entrada“EDAD” un 1 significa que la persona tiene25 o mayor numero de anos y -1 su edad esmenor a 25 anos, de manera que el vectorde valores discretos sera la informacion quepasaremos a la entrada de la red neuronal.

3. Procesamiento de la informacion. Creacionde la Red Neuronal en Matlab.

Una vez se ha creado los vectores correspondientespara representar la ropa o vestimenta y la edadde las personas, la red debe ser capaz de procesaresta informacion para detectar el tipo de persona(Docente-Estudiante) que el sensor ha captado. Eneste caso sencillo, se clasifica el tipo de personaen Docente o Estudiante, para lo cual se va a usaruna red neuronal y para su implementacion seutilizara el toolbox de redes neuronales de Matlab.

Como se ha explicado anteriormente, la entrada dela red neuronal, sera un vector de 8 elementos quecontiene la informacion de la persona a clasificar,ası que se necesita una red neuronal de 2 entradas,de manera que en cada entrada se le aplicara ununo o un cero indicando la existencia de un trazoen dicha zona de la imagen.

Como el objetivo es reconocer 2 tipos de personaso mejor dicho, el objetivo es que la red neuronalaprenda a clasificar los patrones de entrada en 2clases diferentes, la red neuronal dispondra de 2salidas, una para cada tipo de persona, de maneraque tan solo se activara la salida correspondiente altipo de persona reconocida.

1) Creacion de la red neuronal Para la creaciony simulacion de la red neuronal, se ha gene-rado una serie de patrones de muestra paralos dos tipos de personas que se requierereconocer. Esta informacion se puede apre-ciar en la figura 12 para la funcion hardlimy figura 13 para la funcion hardlims.

• Funcion Hardlim

Figura 12. Patrones de muestra

• Funcion Hardlims

Figura 13. Patrones de muestra

Seguidamente, tambien se genera la infor-macion de la salida que la red neuronaldebera generar para cada uno de estos pa-trones. En la figuras 14 y 15 se aprecian losvalores de salida para las funciones hardlimy hardlims respectivamente.

• Funcion Hardlim

Page 6: Funciones_ hardlim_hardlims

Figura 14. Patrones de Muestra de Salida

• Funcion Hardlims

Figura 15. Patrones de Muestra de Salida

A continuacion, en las figuras 16 y 17, secrea la red neuronal con la funcion newp,y establecemos la funcion de transferencia‘hardlim’ y para el siguiente ejemplo seestablece ‘hardlims’.

• Funcion Hardlim

Figura 16. Construccion de la red usando funcion Hardlim

• Funcion Hardlims

Figura 17. Construccion de la red usando funcion Hardlims

2) Entrenamiento de la red neuronal.Una vez creada la red neuronal, y como yase tiene los patrones de entrenamiento consus respectivos targets cargados en Matlab,se debe invocar a la funcion train. El coman-do de entrenamiento es comun para ambasfunciones, esto se aprecia en la figura 18.

Figura 18. Entrenando la red

Con esto Matlab comenzara a entrenar lared neuronal hasta alcanzar el performance

deseado, para lo cual Matlabmuetra unaventana con la informacion de dicho pro-ceso.

3) Simulacion de la red neuronal.Una vez entrenada la red neuronal, ya po-demos aplicar un patron real a la entraday ver en la salida la clase (Docente - Estu-diante) en la que se ha clasificado. Se uso laventana de comandos de la herramientamatlab, como se aprecia en la figura 19, parahacer la simulacion inicial de la funcionhardlim. Para la simulacion

• Funcion Hardlim

Figura 19. Simulacion de la red. Funcion Hardlim

Como se observa en el grafico 19 lared se encuentra entrenada de manerasatisfactoria, ya que se pretende clasificara una persona con vestimenta informalpro que tiene 25 o mas anos, arroja lasalida esperada que es una persona de tipoDOCENTE.

INTERFAZ GRAFICA

• Funcion Hardlim

Haciendo use del guide de Matlab, se cons-truyo una interfaz grafica, como se apreciaen la figura 20, en donde se puede ingresarlos valores correspondientes al tipo de ropay la edad correspondiente al objeto que sepretende clasificar.Accionando el boton simular, se construyela red con los valores establecidos previa-mente. Y se simula con los valores ingre-sados en los respectivos campos de texto.De la simulacion que realiza, se obtieneel resultado del tipo de persona que fueingresado.

Page 7: Funciones_ hardlim_hardlims

Figura 20. Interfaz Grafica para la Funcion Hardlim

• Funcion Hardlims

Asi mismo, para la simulacion de la redHardlims se puede observar que arroja losresultados esperados. Esto se puede com-probar en la figura 21.

Figura 21. Simulacion de la red. Funcion Hardlims

INTERFAZ GRAFICA

Figura 22. Interfaz Grafica para la funcion Hardlims

En la interfaz grafica para la funcion Hard-lims, de la figura 22, tambien se ingresalos valores correspondientes para la simu-lacion. Arrojando el resultado de la personaclasificada.

4. Interpretacion de los resultados

• En el caso de hardlim, los resultados sonfaciles de interpretar como hemos visto enel apartado anterior, la salida de la red neu-ronal que tenga valor 1 (o que mas se parez-ca al valor 1) sera la que tomaremos comosalida activa indicando el tipo de personareconocido como docente y si el valor es 0se identificara a un estudiante.

• En el caso de hardlims, los resultados sonfaciles de interpretar como hemos visto en elapartado anterior, la salida de la red neuro-nal que tenga valor 1 (o que mas se parez-ca al valor 1) sera la que tomaremos comosalida activa indicando el tipo de personareconocido como docente y si el valor es -1se identificara a un estudiante.

IV CONCLUSION

Luego de la investigacion de los temas pertinentesy de la aplicacion practica, se llego a las siguientesconclusiones.

• Cuando los valores de entrada de la redinclyen valores negativos, es convenienteusar la funcion de transferencia hardlims,debido a que al realizar el ajuste de pesosy umbral permite obtener valores negativos,lo que ayudarıa a realizar el entranamientomas rapido.

• Las funciones Hardlim y Hardlims, ajustanla salida de la red a valores que permiten rea-lizar una clasificacion, esto se puede emplearen la solucion de problemas que requierenuna clasificacion lineal de sus caracterısticas.

• El entorno Matlab ofrece multiples funcio-nalidades para el desarrollo de aplicaciones,principalmente, matematicas, para la aplica-cion se uso el toolbox de redes neuronalesartificiales.

REFERENCIAS

[1] L. Ocampo y P. Morocho, Codigo de la aplicacion. Funcioneshardlim y hardlims, [En lınea] Disponible en https://github.com/leninsebastian/casoPracticoHardlimhardlims

[2] P. Ponce Cruz, Inteligencia Artificial con Aplicaciones a laIngenierıa, 1ra ed. Harlow, Mexico, 2010.

Page 8: Funciones_ hardlim_hardlims

[3] J. Marın, Introduccion a las redes neuronales aplicadas,1ra ed. [En lınea] Disponible en http://halweb.uc3m.es/esp/Personal/personas/jmmarin/esp/DM/tema3dm.pdf

[4] R. Salas, Redes Neuronales Artificiales, [En lınea]Disponible en http://www.inf.utfsm.cl/∼rsalas/PaginaInvestigacion/docs/Apuntes/Redes%20Neuronales%20Artificiales.pdf

[5] MATLAB, MATLAB, [En lınea] Disponible en www.mathworks.com

[6] J. Levy, Las redes neuronales artificiales, [Enlınea] Disponible en http://books.google.com.ec/books?id=X0uLwi1Ap4QC&printsec=frontcover&dq=libros+sobre+redes+neuronales&hl=es&sa=X&ei=P2lYVIuWMc7LsASEjIKwBw&ved=0CBoQ6AEwAA#v=onepage&q=libros%20sobre%20redes%20neuronales&f=false

[7] L. Alvarez, Fundamentos de inteligencia artificial,[En lınea] Disponible en http://books.google.com.ec/books?id=UfccXvwzIOUC&pg=PA240&dq=libros+sobre+redes+neuronales&hl=es&sa=X&ei=P2lYVIuWMc7LsASEjIKwBw&ved=0CDwQ6AEwBg#v=onepage&q=libros%20sobre%20redes%20neuronales&f=false

[8] M. Gestal, Introduccion a las redes de neuronas artificiales,[En lınea] Disponible en http://sabia.tic.udc.es/mgestal/cv/RNAtutorial/TutorialRNA.pdf

Lenin Ocampo Estudiante de novenomodulo de la carrera de Ingenierıa en Sis-temas de la Universidad Nacional de Loja.Desarrollador junior en lenguajes de pro-gramacion java y web. Especialista en re-des.

Paola Morocho Estudiante de novenomodulo de la carrera de Ingenierıa en Sis-temas de la Universidad Nacional de Loja.Desarrollador junior en lenguajes de pro-gramacion java. Analisis y disenar aplica-ciones.