Cálculo de variación de voltaje con función purelin y variación de velocidad de un ventilador con función poslin.
1. 1
Calculating voltage variation with purelin function
and speed variation of fan with poslin function.
C´alculo de variaci´on de voltaje con funci´on purelin
y variaci´on de velocidad de un ventilador con
funci´on poslin.
1. K. I. Ram´on Campoverde, 2. V. M. Samaniego Calle, Tutor: Henry Paz.
Abstract— Neurons have a feature that allows them to change
the activation level from the signals they receive, this function is
called transition function. There are several transition functions,
among the best known are: hardlin, hardlims, satlin, satlins,
logsig, tansig, purelin and poslin. In this article specially speaks
of purelin and poslin, and two examples are provided using
these activation functions.
Resumen—Las neuronas poseen una funci´on que les permite
cambiar de nivel de activaci´on a partir de las se ˜ nales que reciben,
a esta funci´on se la llama funci´on de transici´on. Existen varias
funciones de transici´on, entre las m´as conocidas se encuentran:
hardlin, hardlims, satlin,satlins, logsig, tansig, purelin y poslin. En
el presente art´ıculo se habla especialmente de purelin y poslin, y se
proporciona dos ejemplos utilizando estas funciones de activaci´on.
Keywords—purelin, poslin, neural networks, transfer function.
Palabras clave— purelin, poslin, redes neuronales, funciones de
transferencia.
I. INTRODUCCI´O
N
El presente art´ıculo pretende demostrar el funcionamiento
de las funciones de transferencia poslin y purelin, a trav´es de
dos ejemplos de redes neuronales codificadas en el entorno
MatLab. El documento se encuentra estructurado de la
siguiente manera:
En la secci´on II-A se da una introducci´on a las Redes
neuronales. En la secci´on II-B se habla acerca de las
funciones de activaci´on o transferencia, su funcionamiento y
aplicaci´on en las redes neuronales. La secci´on II-C y II-D
abarca la conceptualizaci´on de las funciones purelin y poslin,
respectivamente. En la secci´on II-E se explica los tipos de
aprendizaje en las redes neuronales.
La secci´on III engloba los resultados de la pr´actica realizada.
En la secci´on III-A se demuestra la utilizaci´on de la funci´on
de tranferencia purelin a trav´es de un ejemplo de modificaci´on
de un voltaje de entrada. En la secci´on III-B se presenta el
ejemplo para la funci´on de transferencia poslin, que consiste
en el cambio del nivel de velocidad de un ventilador de acuerdo
a la temperatura del ambiente.
II. ESTADO DEL ARTE
II-A. Redes neuronales
Las redes Neuronales (RNA) se definen como un
sistema compuesto por un gran n´umero de elementos de
procesamiento (neuronas). Estas conexiones establecen una
estructura jer´arquica y permiten la interacci´on con los objetos
del mundo real tratando de emular al sistema nervioso
biol´ogico. A diferencia de la computadora tradicional, basada
en algoritmos predecibles, la computaci´on neuronal permite
desarrollar sistemas que resuelvan problemas complejos cuya
formalizaci´on matem´atica es sumamente dif´ıcil [1].
La neurona artificial es un elemento que posee un estado
interno, llamado nivel de activaci´on, y recibe se˜nales que le
permiten cambiar de estado. Si se denomina S al conjunto de
estados posibles de la neurona, S podr´a ser por ejemplo, S=0,1,
o incluso un intervalo continuo de valores, por ejemplo S=[0,
1]. Las neuronas poseen una funci´on que les permite cambiar
de nivel de activaci´on a partir de las se˜nales que reciben; a
dicha funci´on se la denomina funci´on transici´on de estado o
funci´on de activaci´on. Las se˜nales que recibe cada neurona
pueden provenir del exterior o de las neuronas a las cuales
est´a conectada [3].
1) Se˜nal de salida: En el caso de problemas de clasificaci´on
suele considerarse un conjunto finito de salidas (en muchos
casos binarias), mientras que las tareas de ajuste de funciones
(o tareas de regresi´on) suelen precisar salidas continuas en un
determinado intervalo. El tipo de salida deseada determinar´a
la funci´on de transferencia y salida que debe implementarse
en las neuronas de la ´ultima capa de la red [2].
II-B. Funci´on de activaci´on o transferencia
La funci´on de activaci´on combina la entrada total a la
j-´esima neurona o potencial post-sin´aptico (Netj), obtenido
a partir de los est´ımulos y pesos recibidos[2].
2. 2
Con el estado inicial de la neurona [aj(t1)], para producir
un nuevo estado de activaci´on acorde con la nueva informaci´on
recibida [aj(t)].
aj(t) = f[aj(t 1);Netj(t)]
En muchos modelos de RNAs se considera que el estado actual
de la neurona no depende de su estado previo, por lo que la
expresi´on anterior se simplifica:
aj(t) = f[Netj(t)] = f
XN
i=0
#
Wij(t) xi(t)
Generalmente, la funci´on de transferencia tiene car´acter
determinista, y en la mayor parte de los modelos es mon´otona
creciente y continua respecto al nivel de excitaci´on de la
neurona, tal como se observa en los sistemas biol´ogicos.
II-C. Funci´on Lineal o identidad (PURELIN)
Esta funci´on devuelve directamente el valor de activaci´on
de la neurona. Es muy utilizada, porque puede abarcar un
rango de salida mucho m´as amplio que otras. Responde
a una funci´on lineal con pendiente 1. La salida de una
funci´on de transferencia lineal es igual a su entrada, en
la Figura 1. puede verse la caracter´ıstica de la salida a de
la red, comparada con la entrada p, m´as un valor de ganancia b.
Figura 1. Funci´on de activaci´on purelin
Las neuronas de este tipo se utilizan como aproximadores
lineales en Filtros lineales. Este tipo de funci´on se utiliza en
redes de baja complejidad, como el modelo Adaline[4], el
diagrama para esta red se muestra en la Figura 2.
La matriz de los pesos W en este caso tiene una sola fila.
La salida de la red es:
a = purelin(n) = purelin(W p + b) = W p + b
a = w1;1p1 + w1;2p2 + b
La caracter´ıstica del clasificador del Perceptr´on viene dada
por la naturaleza de su salida binaria. Al ser binarias, s´olo
pueden codificar un conjunto discreto de estados, es decir que
no permite producir salidas reales, al contrario de la funci´on
de transferencia lineal que si permite salidas reales [3].
Figura 2. Red ADALINE simple con dos entradas
II-D. Funci´on Lineal positiva (poslin)
Esta funci´on siempre devuelve una salida positiva, en donde
si la entrada es negativa la salida es 0, y cuando la entrada
es positiva su salida ser´a igual a la entrada recibida, como se
aprecia en la Figura 3.
Poslin es una funci´on de transferencia neural. Las funciones
de transferencia calculan la producci´on de una capa a partir
de su entrada neta.
Figura 3. Funci´on de activaci´on poslin
A = poslin (N, FP) tiene N y los par´ametros de funci´on
opcionales,
———————————————————————
N = S -by- Q matriz de entrada neta (columna) vectores
FP = Struct de par´ametros de la funci´on (ignorado)
———————————————————————
y devuelve una , el S -by- Q matriz de N elementos ’s recorta
a [0, inf] .
F(x) es la funci´on de linealidad positiva de la forma [5]:
fi(xi) = poslin(xi) =
0; si xi 0
xi; si x 0 , i=1,2,...,n
3. 3
A continuaci´on se muestra un ejemplo de c´odigo M para
implementar la funci´on poslin.
function res = funtransfer2(ent)
if (ent ¡0)
aux = 0;
else
aux = ent;
end
res = xfix(xlSigned, 8, 4,aux);
Como se puede observar es muy f´acil realizar funciones que
involucren comparaciones, sentencias condicionales y asigna-ciones
simples de n´umeros enteros, como lo son las funciones
de umbral y las de tipo picewise linear.
II-E. Aprendizaje
La parte m´as importante de una Red de Neuronas Artificial
es el aprendizaje. El esquema de aprendizaje de una red es lo
que determina el tipo de problemas que ser´a capaz de resolver.
El aprendizaje en una Red de Neuronas Aritificial consiste en
la determinaci´on de los valores precisos de los pesos para todas
sus conexiones, que la capacite para la resoluci´on eficiente de
un problema.
Dependiendo del esquema de aprendizaje y del problema
a resolver se pueden distinguir tres tipos de esquemas de
aprendizaje [3]:
Aprendizaje supervisado. En este tipo de aprendizaje,
se tiene los datos propiamente dichos y adem´as cierta
informaci´on relativa a la soluci´on del problema, como se
observa en la Figura 4. Para este tipo de aprendizaje, se
dice que hay un profesor externo encargado de determi-nar
si la red se est´a comportando de forma adecuada, y
de actuar en consecuencia modificando apropiadamente
los valores de los pesos.
Figura 4. Aprendizaje supervisado
Aprendizaje no supervisado. En este tipo de aprendizaje
los datos del conjunto de aprendizaje s´olo tienen in-formaci
´on de los ejemplos, y no hay nada que permita
guiar en el proceso de aprendizaje. La red modificar´a
los valores de los pesos a partir de informaci´on interna,
como se observa en la Figura 5. A este tipo de modelos
se los conoce como sistemas autoorganizados.
Figura 5. Aprendizaje no supervisado
III. RESULTADOS
Para el desarrollo de la pr´actica se ha realizado un ejemplo
utilizando la funci´on de transferencia purelin y otro ejemplo
utilizando poslin, ambos codificados en MatLab.
III-A. Ejemplo con purelin
Se construir´a una red neuronal artificial para calcular el
voltaje de la onda senoidal. Una se˜nal senoidal, o sinusoidal,
v(t), se puede expresar matem´aticamente como una funci´on
del tiempo por medio de la siguiente ecuaci´on [7]:
v(t) = V0 sin(! t +
4. )
Donde:
V0 valor m´aximo o de pico (Voltaje m´aximo).
! es la pulsaci´on en radianes/segundo.
t es el tiempo en segundos.
5. el ´angulo de fase inicial en radianes.
La RNA se encargar´a de cambiar (en un rango no superior a
los 220 voltios) a un rango que no soprepase los 127.01 voltios,
asumiendo ! como 60rad=s. Por lo tanto las f´ormulas que se
usar´an son:
entrada(t) = 220 sin(60 t)
salida(t) = 127;01 sin(60 t)
1) Dise˜no de la Red neuronal: La red neuronal que se
ocupar´a responde a la estructura mostrada en la Figura 6.
Figura 6. Red neuronal para cambiar una corriente
Para construir la red neuronal en MatLab se utiliz´o el
siguiente c´odigo:
net = newff([220; 220]; 1; f0purelin0g;0 trainlm0);
6. 4
El entrenamiento se lo realiz´o con la funci´on train:
net = train(net; entrada; salida);
Con lo que se obtuvo los siguientes resultados:
La red neuronal construida es la indicada en la Figura 7.
Figura 7. Red neuronal con funci´on de transferencia purelin
Para simular el entrenamiento realizado se utiliz´o la siguien-te
funci´on:
Y = sim(net; entrada);
La se˜nal de entrada que oscilaba entre -220 y 220 voltios
fue reducida para que no sobrepase los 127.01 voltios como
se observa en la Figura 8.
Figura 8. Cambio de la se˜nal entrante
En la Figura 9. se aprecia que los datos de salida obtenidos
son muy cercanos a la se˜nal deseada.
Figura 9. Predicci´on del cambio de corriente
La Figura 10. muestra el error en la predicci´on, como se
aprecia es muy bajo.
Figura 10. Error en la predicci´on del cambio de corriente
III-B. Ejemplo con poslin
Se ha realizado una simulaci´on del funcionamiento de la
funci´on de transferencia poslin, donde se devolver´a una salida
0 en caso de que la entrada sea menor o igual a 0 y en los
dem´as casos se obtendr´a la misma entrada.
Para ilustrar esto se toma en consideraci´on el
funcionamiento de un ventilador, el cual debe permanecer
apagado cuando la temperatura es baja y accionarse y
modificar el nivel de velocidad de acuerdo a la temperatura
del ambiente.
Se ha tomado un rango de temperaturas entre -10 y 30
grados.
entrada = [10 : 30];
El nivel de la velocidad se calcula dividiendo la temperatura
para una constante k=6.
l = [entrada=6];
Para construir la red neuronal en MatLab se utiliz´o el
siguiente c´odigo:
red = newff([07]; [1]; 0poslin0);
El entrenamiento se lo realiz´o con la funci´on train:
red = train(red; entrada; d);
Los resultados que se obtuvieron son los siguientes:
La red neuronal construida es la indicada en la Figura 11.
Figura 11. Red neuronal con funci´on de transferencia poslin
7. 5
Con la red construida se obtiene la salida observada en la
Figura 12.
Figura 12. Variaci´on velocidad de ventilador
Puede revisar el c´odigo de ambos ejemplos en el si-guiente
enlace: https://sourceforge.net/projects/funcinpurelin/
files/?source=navbar
IV. CONCLUSIONES
Las funciones de transferencia poslin y purelin son
funciones lineales.
Purelin abarca un rango de salida mucho m´as amplio:
[1;+1] y es utilizado como aproximador lineal, y
como funci´on de activaci´on en las redes Adaline.
La funci´on poslin abarca un rango de salida m´as limitado
a la funci´on purelin: [0;+1].
REFERENCIAS
[1] HERRERO, F´elix de Moya Aneg´on V´ıctor; BOTE, Solana Vicente
Guerrero. La aplicaci´on de Redes Neuronales Artificiales (RNA): a la
recuperaci´on de la informaci´on. 1998.
[2] LO´ PEZ, Raquel Florez; FERNANDEZ, Jose´ Miguel Fernandez. Las
redes neuronales artificiales. Fundamentos Te´oricos y Aplicaciones
pr´acticas. Netbiblo, 2008.
[3] ISASI, Pedro; GALVA´ N, Ines. Redes neuronales artificiales–un enfoque
pr´actico. PEARSON Prentice Hall, Madrid, 2004.
[4] WIDROW, Bernard. Adaline and madaline—1963. En Proc. IEEE 1st
Int. Conf. on Neural Networks. 1987. p. 143-57.
[5] LIAO, Wudai; YANG, Xuezhao; WANG, Zhongsheng. Stability of
Stochastic Recurrent Neural Networks with Positive Linear Activation
Functions. En Advances in Neural Networks–ISNN 2009. Springer
Berlin Heidelberg, 2009. p. 279-285.
[6] BEALE, Mark Hudson; HAGAN, Martin T.; DEMUTH, Howard B.
Neural Network Toolbox 7. User’s Guide, MathWorks, 2010. p. 104-
105.
[7] TOMASI, Wayne. Sistemas de comunicaciones electr´onicas. Pearson
educaci´on, 2003. p. 14
Biography
Victor Samaniego Professional training for Enginee-ring
degree in Systems Engineering from Universi-dad
Nacional de Loja, Loja, Ecuador in 2014.
Katherine Ram´on Professional training for Engi-neering
degree in Systems Engineering from Uni-versidad
Nacional de Loja, Loja, Ecuador in 2014.