Redes Neuronales: Funciones de Activación
Hardlim para simular un circuito con sensor de
movimiento y Hardlims para determinar si una
persona es diabética en Matlab
1. 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´O
N
Dentro 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,
acmoram@unl.edu.ec
F. Michay, Universidad Nacional de Loja, Loja, Ecuador,
fdmichayc@unl.edu.ec
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
2. Figure 1. Esquema de una RNA
entrada como una capa ya que no se lleva a cabo ning´un
proceso 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 informaci´on de la capa oculta
y comunica o transmite la respuesta al medio externo.
B. Funciones de Activaci´on de las RNAs
Una funci´on de activaci´on es la encargada de calcular la
entrada total de la neurona como combinaci´on de todas las
entradas. [1]
La funci´on activaci´on calcula el estado de actividad de una
neurona; transformando la entrada global (menos el umbral)
en un valor (estado) de activaci´on, cuyo rango normalmente
va de (0 a 1) o de (1 a 1). Esto es as´ı, porque una neurona
puede estar totalmente inactiva (0 o 1) o activa (1).
Existen tres funciones de transferencia t´ıpicas que determi-nan
distintos tipos de neuronas:
Funci´on escal´on: se utiliza cuando las salidas de la red
son binarias. La salida de una neurona se activa s´olo
cuando el estado de activaci´on es mayor o igual que
cierto valor umbral t que representa la m´ınima entrada
total ponderada necesaria para provocar la activaci´on de
la neurona.
Funci´on lineal: responde a las expresi´on f(x) = x. Se
define un l´ımite inferior -t y otro superior, t. Si la suma de
las se˜nales de entrada es menor que que -t, la activaci´on
se define como 0 o -1. Si la suma es mayor que t, la
activaci´on es 1. Para valores de entrada situada entre
ambos l´ımites, la activaci´on se define como una funci´on
lineal de la suma de las se˜nales de entrada.
Funcin sigmoidal: es la m´as apropiada cuando se quiere
como salida informaci´on anal´ogica. La importancia de
esta funci´on es que su derivada es siempre positiva
y cercana a cero para los valores grandes positivos o
negativos; adem´as toma su valor m´aximo cuando x es 0.
Esto hace que se puedan utilizar las reglas de aprendizaje
en las cuales se usan derivadas. La expresi´on de esta
funci´on responde a la forma.
C. Cuadro comparativo de funciones de activaci´on de las
RNAs.
El siguiente cuadro comparativo que se presenta en la F
igura 2 hace referencia a las funciones de activaci´on em-pleadas
en el entrenamiento de redes neuronales artificiales.
Figure 2. Cuadro comparativo: funciones de activaci´on.
D. Funci´on de Activaci´on Hardlim
Hardlim es una funci´on de transferencia escal´on. Las fun-ciones
de transferencia calculan la capa de salida a partir de
la red de entrada. As´ı esta funci´on proporciona el valor de la
salida de una neurona igual a 1 si la entrada supera un valor
umbral, y si no lo supera la salida toma el valor de 0. En la
Figura 3 se presenta gr´aficamente lo descrito anteriormente.
[2]
Figure 3. Funci´on Hardlim
E. Funci´on de Activaci´on Hardlims
Esta funci´on de transferencia proporciona el valor de la
salida de una neurona igual a 1 si la entrada supera un
valor umbral, y si no lo supera la salida toma el valor -1.
A continuaci´on en la Figura 4 se presenta la gr´afica de la
funcion hardlims. [2]
3. Figure 4. Funci´on Hardlims
F. Aprendizaje o Entrenamiento
El aprendizaje es el proceso por el cual una red neuronal
modifica sus pesos en respuesta a una informaci´on de entrada.
Los cambios que se producen durante el mismo se reducen a
la destrucci´on, modificaci´on y creaci´on de conexiones entre
las neuronas.
Durante el proceso de aprendizaje, los pesos de las
conexiones de la red sufren modificaciones, por lo tanto,
se puede afirmar que este proceso ha terminado (la red
ha aprendido) cuando los valores de los pesos permanecen
estables (dwij/dt = 0).
Un aspecto importante respecto al aprendizaje de las redes
neuronales es el conocer c´omo se modifican los valores de
los pesos, es decir, cu´ales son los criterios que se siguen
para cambiar el valor asignado a las conexiones cuando se
pretende que la red aprenda una nueva informaci´on. Para
esto hay dos m´etodos de aprendizaje; el supervisado y el no
supervisado.
Otro criterio que se puede utilizar para diferenciar las reglas
de aprendizaje se basa en considerar si la red puede aprender
durante su funcionamiento habitual o si el aprendizaje supone
la desconexi´on de la red, es decir, su inhabilitaci´on hasta
que el proceso termine. En el primer caso, se tratar´ıa de un
aprendizaje on line, mientras que el segundo es lo que se
conoce como off line.
1.) Aprendizaje Supervisado
Se caracteriza porque el proceso de aprendizaje se realiza
mediante un entrenamiento controlado por un agente externo
(supervisor, maestro) que determina la respuesta que deber´ıa
generar la red a partir de una entrada determinada.
El supervisor controla la salida de la red y en caso de que
´esta no coincida con la deseada, se proceder´a a modificar los
pesos de las conexiones, con el fin de conseguir que la salida
obtenida se aproxime a la deseada.[3]
Para este tipo de aprendizaje de suele considerar tres formas
para llevarlo a cabo:
Aprendizaje por correcci´on de error.
Aprendizaje por refuerzo
Aprendizaje estoc´astico.
2.) Aprendizaje No Supervisado
No requieren influencia externa para ajustar los pesos de las
conexiones entre sus neuronas. La red no recibe ninguna
informaci´on por parte del entorno que le indique si la salida
generada en respuesta a una determinada entrada es o no
correcta.[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. Perceptr´on Simple
El Perceptr´on es un tipo Red Neuronal Monocapa H´ıbrida
de Aprendizaje Supervisado.
Una limitaci´on del Perceptr´on b´asico de dos capas o
dimensiones es que solo pude establecer dos regiones
separadas por una frontera lineal en el espacio de patrones de
entrada, donde se tendra el hiperplano. [4]
Caracter´ısticas del Perceptr´on Simple
Aprendizaje Supervisado (offline)
Aprendizaje por correcci´on de error
Reconocimiento de patrones sencillos
Clasificaci´on de patrones linealmente separables
H. Perceptr´on Multicapa
Un perceptr´on multicapa es una red de alimentaci´on hacia
adelante compuesta por varias neuronas entre la entrada y
la salida de la misma, esta red permite establecer regiones
mucho mas complejas que las de dos semiplanos.
Un Perceptr´on con tres niveles de neuronas puede formar
cualquier regi´on convexa en este espacio. Un Perceptr´on con
cuatro capas puede generar regiones de decisi´on arbitraria-mente
complejas.
III. IMPLEMENTACI´O
N DE HARDLIM Y
HARDLIMS EN MATLAB
Para entender de mejor manera el funcionamiento de las
funciones de activaci´on hardlim y hardlims se realizar´a un
ejemplo aplicado a cada funci´on con la ayuda de MATLAB.
Matlab es una herramienta desarrollada por MathWorks, es
un lenguaje de alto nivel para la computaci´on t´ecnica.
MATLAB integra un toolbox o caja de herramientas para
trabajar con redes neuronales, pesos y umbrales, facilitando
asi la creaci´on y funcionamiento de las redes neuronales.
4. A. Ejemplo aplicando la funci´on de transferencia Hardlim
Descripci´on: Se pretende simular un circuito con sensor de
movimiento que permite mantener encendido un led mientras
haya paso de corriente; es decir, mientras las salidas est´en en 1.
En la Figura 5 se muestra el dise˜no del circuito del problema
antes mencionado:
Figure 5. Dise˜no del Circuito
La tabla de simplificaci´on del circuito con sensor de
movimiento se presenta en la Figura 6:
Figure 6. Simplificaci´on del Circuito
A contnuaci´on se muestra la implementaci´on em MatLab:
Matrices de entrada y salida.
P = [0 0 1 1;0 1 0 1];
T = [1 1 1 0];
Con la funci´on plotpv en base a las entradas y salidas
se proyectan los puntos sobre un plano XY, y podemos
observar en la Figura 7 que el problema es linealmente
separable y puede usarse el perceptr´on.
plotpv(P,T)
Para crear la red utilizamos el comando newp cuyos
par´ametros de entrada ser´an los valores m´aximos y
m´ınimos para poder validar la funci´on; el n´umero de
neuronas de salida, en este caso solamente ser´a una; y
la funci´on de activaci´on aplicada.
net=newp([0 1;0 1],1,hardlim);
El siguiente paso es entrenar la red para dar soluci´on
al problema planteado, para esto se utiliza el comando
train, cuyos par´ametros son: el nombre de la red, con
sus entradas y salidas. Ver Figura 8.
Figure 7. Gr´afica de la funci´on
net=train(net,P,T);
Figure 8. Entrenamiento de la Red
Para verificar si los datos obtenidos satisfacen las salidas
deseadas se utiliza el comando sim, cuyos par´ametros
son: la red y su matr´ız de entrada.
Como se puede observar en Figura 9 la los datos
obtenidos por la red si satisfacen las salidas deseadas.
Finalmente en la Figura 10 se presenta la gr´afica de
clasificaci´on obtenida por la red utilizando el comando
plotpc cuyos par´ametros son: la red con sus pesos y bias
modificados.
B. Ejemplo aplicando la funci´on de transferencia Hardlims
Descripci´on: Con el siguiente ejemplo se trata de decidir
si una persona tiene diabetes a partir de 3 datos personales
de acuerdo a los criterios de la Organizaci´on Mundial de la
Salud: concentraci´on de glucosa en plasma, presi´on sangu´ınea
5. Figure 9. Simulaci´on de la Red
Figure 10. Clasificaci´on de la Red
diast´olica, insulina.
Se va a dise˜nar un Perceptr´on simple con el fin de
diagnosticar, seg´un estas caracter´ısticas, si una mujer es, o
no, diab´etica.
A contnuaci´on se muestra la implementaci´on del caso
mencionado 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 -1
1 -1 1];
S=[-1 -1 -1 1 -1 1 1 1];
Para crear la red utilizamos el comando newp cuyos
par´ametros de entrada ser´an los valores m´aximos y
m´ınimos para poder validar la funci´on; el n´umero de
neuronas de salida, en este caso solamente ser´a una; y
la funci´on de activaci´on aplicada.
red=newp([-1 1;-1 1;-1 1],1,hardlims);
El siguiente paso es entrenar la red para dar soluci´on
al problema planteado, para esto se utiliza el comando
train, cuyos par´ametros son: el nombre de la red, con
sus 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 salidas
deseadas se utiliza el comando sim, cuyos par´ametros
son: la red y su matr´ız de entrada. Como se puede
observar en la ver Figura 12 los datos obtenidos por la
red si satisfacen las salidas deseadas.
Figure 12. Simulaci´on de la Red
6. IV. CONCLUSIONES
Las funciones de activacin se emplean con el fin de
disminuir la nmero de iteraciones y por lo tanto mejorar
el rendimiento de la red.
Utilizar la funci´on hardlims acelera el aprendizaje de una
neurona.
Las funciones de activacin hardlim y hardlims son de
gran importancia ya que permiten realizar la clasificaci´on
de datos, aunque tienen una gran limitaci´on de que solo
permiten resolver problemas linealmene separables.
V. RECOMENDACIONES
Utilizar la funcin hardlims sobre hardlim puesto que
hardlim al tener un 0 multiplicando alguno de los valores
resultantes del producto de las entradas del vector de
pesos ocasiona que estos no se actualicen y el aprendizaje
sea m´as lento.
Realizar la simulaci´on de la red con el comando sim para
verificar el funcionamiento de la red, especialmente en
aquellos problemas en los que no es posible graficar y
verificar si exite una clasificaci´on correcta.
REFERENCES
[1] Las redes neuronales artificiales. (s.f.). Descargado de
http://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 b´asicos 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; MONTAN˜ O 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*; MONTAN˜ O MORENO. (s.f.). que´ son las
redes neuronales artificiales? aplicaciones realizadas en el ´ambito de
las adicciones. Descargado de http://disi.unal.edu.co/lctorress/RedNeu/
LiRna001.pdf, Fecha de consulta: 29-10-2014
BIOGRAF´IA
Ana Cristina Mora Medina, estudiante de la Car-rera
de Ingenier´ıa en Sistemas de la Universidad
Nacional de Loja. Provincia de Loja, Ciudad Loja
- Ecuador, 2014.
Franklin de Jes ´us Michay Cuenca, estudiante de la
Carrera de Ingenier´ıa en Sistemas de la Universidad
Nacional de Loja. Provincia de Loja, Ciudad Loja -
Ecuador, 2014.