Poslin y Purelin para la Resolución de la Discriminante de una Ecuación y de la Regresión Lineal Simple Respectivamente
1. 1
Utilizaci ´on de las Funciones de Activaci ´on Poslin
y Purelin para la Resoluci´on de la Discriminante
de una Ecuaci´on y Regresi ´on Lineal Simple
Respectivamente.
Henry Quishpe, Student, UNL, and Diego Cuenca, Student, UNL
Tutor: Ing. Henry Paz
F
Abstract—The subject of neural networks, definition, usage,
functions studied activation and learning functions. By studying
these issues using a practical example functions purelin poslin
and activation (an example separately) to demonstrate its cor-rect
operation and use was made, this means that for every
problem using one or more functions is suitable thereto, also
activating a learning function used to train the neuron, namely
that it can respond after alone to different situations learned.
Resumen.- Se estudi´o el tema de las redes neuronales,
su definici´on, utilizaci ´on, funciones de activaci ´on y funciones
de aprendizaje. Con el estudio de estos temas se realiz ´o un
ejemplo pr´actico haciendo uso de las funciones de activaci ´on
poslin y purelin (un ejemplo por separado) para demostrar
su correcto funcionamiento y utilizaci ´on, esto significa que
para cada problema se hace uso de una o mas funciones de
activaci ´on adecuadas al mismo, adem´as se utiliz ´o una funci´on
de aprendizaje para entrenar a la neurona, es decir que pueda
responder despu´es por si sola a situaciones diferentes a las
aprendidas.
Index Terms—paper, template, activation functions, neural net-work,
poslin, purelin, function of learning, Feedforwar, Backprop-agation,
trainlm, workspace.
Palabras Claves.- papel, plantilla, funci´on de activaci ´on, red
neuronal, poslis, purelin, funi´on de aprendizaje, espacio de
trabajo, retropropagaci´on.
1 INTRODUCTION
LA presente investigaci´on se refiere al tema
de las redes neuronales artificiales (RNA),
que est´an inspiradas en el funcionamiento del
cerebro humano, est´an compuestos por una
gran cantidad de elementos de procesamiento
conectados entre si y operan en forma
paralela.
En la actualidad su utilizaci ´on es muy
importante ya que consiguen resolver
problemas relacionados con el reconocimiento
de predicci´on, codificaci´on, patrones,
clasificaci ´on, control, optimizaci´on, y en
muchas ramas mas.
La caracter´ıstica principal de esta neurona
artificial es que tiene un aprendizaje inductivo,
es decir no se les indica las reglas para dar
soluci´on, extrae sus propias reglas a partir de
los ejemplos de aprendizaje.
Las RNA est´an compuestas por tres elemen-tos
los cuales son: lazos sin´apticos, mezclador
lineal y una funci´on de activaci ´on, est´a ultima
es de especial importancia ya que permite pro-porcionar
caracter´ısticas lineales y no lineales
al comportamiento de una neurona artificial.
Este articulo se enfoca a la realizaci ´on de las
funciones de activaci ´on como poslin y purelin,
se realiza un ejemplo por cada una usando la
herramienta de programaci´on matlab.
En la secci ´on 2 se habla de las Redes Neu-ronales
Artificiales (RNA), en la cual se hace
una definici´on, se espedifican sus ventajas y
desventajas, se menciona su arquitectura y los
elementos b´asicos que las componen.
2. 2
En la secci ´on 3 se habla de las funciones de
activaci ´on que se van a utilizar para la res-oluci
´on de los problemas ya especificados ante-riormente,
se habla de las condiciones de cada
funci´on.
En la secci ´on 4 se habla de las funciones de
aprendizaje, es aqui en donde se especifica que
funci´on se utiliza para cada ejemplo y que tipo
aprendizaje es el utilizado.
En la secci ´on 5 se presentan los resultados de
los ejemplos con las funciones poslin y purelin
utilizando la herramienta matlab para la res-oluci
´on del problema.
2 REDES NEURONALES ARTIFICIALES
(RNA)
2.1 Definici ´on
Sistema de computaci´on que consta de un gran
n´umero de elemntos simples, muy interconec-tados,
que procesan la informacion respondi-endo
din´amicamente frente a unos est´ımulos
externos. [1]
Una red neuronal artificial (ANN) es un es-quema
de computaci´on distribuida inspirada
en la estructura del sistema nervioso de los
seres humanos. La arquitectura de una red neu-ronal
es formada conectando m´ ultiples proce-sadores
elementales, siendo ´este un sistema
adaptivo que pose un algoritmo para ajustar
sus pesos (par´ametros libres) para alcanzar los
requerimientos de desempe˜no del problema
basado en muestras representativas. [2]
2.2 Ventajas y Desventajas
Algunas ventajas de las RNA frente a otros
sistemas de procesamiento de informaci´on son:
Las RNA pueden sintetizar algoritmos a
trav´es de un proceso de aprendizaje.
Para utilizar la tecnolog´ıa neural no es
necesario conocer los detalles matem´aticos.
S´olo serequiere estar familiarizado con los
datos del trabajo.
La soluci´on de problemas no lineales es
uno de los fuertes de las RNA.
Las desventajas de las redes neurales son:
Las RNA se deben entrenar para cada
problema. Adem´as, es necesario realizar
m´ ultiples pruebas para determinar la ar-quitectura
adecuada.
El entrenamiento es largo y puede con-sumir
varias horas de la computadora
(CPU). Debido a que las redes se entrenan
en lugar de programarlas, ´estas necesitan
muchos datos.
Las RNA representan un aspecto complejo
para un observador externo que desee re-alizar
cambios. [3]
2.3 Arquitectura de una red Neuronal
Las redes neuronales se basan en generalizar
informaci´on extra´ıda de datos experimentales,
tablas bibliogr´aficas o bases de datos, los cuales
se determinan por expertos humanos. Dichas
redes toman en cuenta las entradas y como sali-das
las se ˜ nales del sistema. Para ello resulta ´ util
la caracterizaci ´on de tres tipos de neuronas:de
entrada,de salida y ocultas.
Las neuronas de entrada reciben se ˜ nales
desde un entorno, las cuales son propor-cionadas
por sensores o de otros sectores
del sistema como por ejemplo archivos
de almacenamiento de patrones de apren-dizaje.
Estas neuronas se encuentran agru-padas
en una capa de entrada, las n´umero
de neuronas que la conformas depende de
los datos del problema.
Las neuronas de salida env´ıan su se ˜ nal
directamente fuera del sistema una vez que
ha finalizado el tratamiento de la infor-maci
´on.Se encuentran en la capa de salida
y el n´umero de neuronas depende del
formato esperado de salida de la red.
Las neuronas ocultas reciben est´ımulos y
emiten salidas dentro del sistema, sin man-tener
contacto alguno con el exterior. Aqui
es donde se establece la representaci´on
interna de la neurona.Estas se encuentran
en la capa intermedia y el n´umero de
neuronas depende del tipo y complejidad
del problema a resolver con la red.
3. 3
Fig. 1. Arquitectura de una red neuronal.
2.4 Elementos de un neurona artificial
Una red neuronal esta compuesta de varios
elementos esenciales los cuales le permiten re-solver
algun problema, en la figura 2 se puede
apreciar los elementos b´asicos que contiene una
neurona artificial:
Fig. 2. Elementos de una neurona artificial.
Entradas.- Son los datos o valores ingresadas
por el ser humano o tambien pueden ser leidos
desde un archivo de almacenamiento.
Pesos.- Por cada entrada existe un peso
relativo el cual proporciona la importancia de
la entrada dentro de la funci´on de agregaci´on
de la neurona. Estos pesos realizan la misma
funci´on que realizan las fuerzas sin´apticas
de la neurona biol ´ogicas. Estos pesos son
modificados en respuesta de los ejemplos
de entranamiento debiado a las reglas de
entrenamiento.
Salidas.- Cada elemento de procesamiento
tiene permitido una salida, la cual puede estar
asociada con un n´umero elevado de otras neu-ronas.
La valor de la salida obtenida resulta de
la funci´on de activaci ´on utilizada.
2.5 Red Multicapa Hacia Adelante
Este modelo Feedfoward no tiene retardos
y sus capas son implementadas una a
continuaci´on de otra. Por otro lado ´estas
redes tambien son llamadas Retropropagaci´on
(Backpropagation). Utilizan un algoritmo
matem´atico para el entranamiento de todas las
capas, lo cual permite una mayor eficiencia en
la modificaci´on de los pesos y el bias.
3 FUNCIONES DE ACTIVACI ´ON
Se encarga del c´alculo del nivel de activaci ´on
de la neurona en funci´on de la entrada total,
tambi´en denota la salida de la neurona. Las
funciones utilizadas en este trabajo son las
siguientes:
3.1 Funci ´on de Activaci ´on Poslin
La funci´on de transferencia poslin devuelve la
salida n si n es mayor que o igual a cero y 0 si
n es menor que cero.
a = 0 ! n 0 (1)
a = n ! n 0 (2)
Fig. 3. Funci´on de Activaci ´on poslin.
4. 4
3.2 Funci ´on de Activaci ´on Purelin
La funci´on de activaci ´on purelin es de tipo
lineal, es utilizado en redes ADALINE y a
veces en redes de Retropropagaci´on. Purelin
devuelve la salida n cuando a es igual a n.
a = n (3)
Fig. 4. Funci´on de Activaci ´on purelin.
4 FUNCIONES DE APRENDIZAJE
El aprendizaje consiste en la modificaci´on
del comportamiento inducido por la
interacci ´on con el entorno y como resultado
de experiencias conducente al establecimiento
de nuevos modelos de respuesta a est´ımulos
externos. [5]
La funci´on que se ha utilizado en los
ejemplos es la de trainlm, ya que esta
actualiza los valores de los pesos y bias de
acuerdo con la optimizaci´on de Levenberg-
Marquardt. Tambi´en conocido como los
m´ınimos cuadrados amortiguados.
Trainlm es a menudo el m´as r´apido algoritmo
de propagaci´on, y es muy recomendable
como primera elecci ´on supervisada, aunque s´ı
requiere m´as memoria que otros algoritmos.
Para el ejemplo con poslin se utiliz ´o un
aprendizaje supervisado, donde se conoce
las entradas y salidas deseadas que debe
tener la red, mientras que con purelin se
utiliz ´o un aprendizaje no supervisado ya
que no se conocen los valores de salida para
cada entrada, es decir no se puede hacer
correcciones por error.
5 RESULTADOS
Se hizo uso de la herramienta matlab para la
realizaci ´on de los respectivos ejemplos, con la
cual se puedo obtener los resultados deseados
los cuales son descritos a continuaci´on:
5.1 Ejemplo pr´actico con Poslin
Como se digo anteriormente que la funci´on
poslin es de tipo lineal positiva, es decir que
solo presenta datos de salida desde 0 hasta el
infinito positivo, es por ello que el problema
a resolver es sobre la discriminante de una
funci´on de segundo grado para saber cu´antas
soluciones reales tiene la ecuaci´on.
ax2 + bx + c = 0 (4)
El ejemplo consiste en entrenar a la neu-rona
para saber cu´antas soluciones tiene una
ecuaci´on de segundo grado con el c´alculo de la
discriminante, para ello se ingresan los valores
de cada ecuaci´on como a, b y c como entradas,
y las salidas respectivas. Para el c´alculo de la
discriminante la cual ser´a la salida de cada
ecuaci´on se hace uso de la siguiente formula:
b2 4ac (5)
Se llama discriminante de la ecuaci´on la cual
permite averiguar en cada ecuaci´on el n´umero
de soluciones. Podemos distinguir tres casos:
1) La ecuaci´on tiene dos soluciones, que son
n´umeros reales distintos.
b2 4ac 0 (6)
2) La ecuaci´on tiene una soluci´on doble.
b2 4ac = 0 (7)
3) La ecuaci´on no tiene soluciones reales.
b2 4ac 0 (8)
Los valores de entrada se los obtiene de las
siguientes ecuaciones de segundo grado:
f =
8
:
1) 2x2 5x 4
2) x2 + 2x 1
3) x2 5x + 6
4) x2 + 6x + 9
5) x2 + x 2
6) 2x2 + 5x + 4
(9)
5. 5
Los valores obtenidos de la ecuaci´on
anterior se presentan en la siguiente imagen y
as´ı tambien se presenta la salida que se desea
obtener.
Fig. 5. Valores de Entrada y Salida
En la siguiente imagen se puede apreciar la
representaci´on de la red neuronal.
Fig. 6. Representaci´on de la Red Neuronal
Una vez terminado el entranamiento la
neurona encuentra los valores de los pesos
ideales y el valor del bias.
Fig. 7. Pesos de las entradas
Fig. 8. Valores del Bias
Los Resultados finales son los que se obser-van
en la imagen:
Fig. 9. Resultados Finales
En donde se obtiene las mismas salidas que
las deseadas y ademas se puede apreciar el
n´umero de soluci´ones que tiene cada ecuaci´on,
el valor -7 es menor que cero por lo tanto poslin
lo presenta como cero.
5.2 Ejemplo pr´actico con Purelin
El presente programa resuelve el modelo de
Regresi ´on Lineal Simple, que es uno de los
aspectos m´as relevantes de la Estad´ıstica es
el an´alisis de la relaci ´on o dependencia en-tre
variables, est´a definido por el siguiente
planeamiento:
1. Planteamiento de la Regresi´on Lineal.
El comportamiento de una magnitud
econ´omica puede ser explicado a trav´es de
otra:
Y = F(x) (10)
Si se considera que la relaci ´on puede ser
de tipo lineal, la formalizaci´on vendr´ıa
determinada por una ecuaci´on como la
siguiente:
Y =
10. tX + Ut ! t = 1; 2; 3:::T (12)
El objetivo del an´alisis de regresi ´on es la esti-maci
´on de los par´ametros. El primer paso es la
representaci´on gr´afica de las variables (Y, X) en
un diagrama de dispersi´on:
Fig. 10. Diagrama de Dispersi´on
Dado que la relaci ´on de dependencia entre
ambas variables es aleatoria, las observaciones
no se encontrar´an a lo largo de una recta. La
estimaci´on de los par´ametros supone encontrar
la ordenada en el origen y la pendiente de una
recta que mejor se aproxime a los puntos. [6]
Fig. 11. Diagrama de Regresi ´on Lineal Simple
2. Problema a Resolver
La siguiente tabla muestra el salario an-ual,
para el primer trabajo y la califi-caci
´on media obtenida durante la licen-ciatura
de 8 personas reci´en licenciadas
escogidas al azar en una Facultad de Cien-cias
Econ´omicas y Empresariales.
Calificaci´on 5.2 5.8 6.3 7.5 7.8 8.2 8.6 8.8
Salario 1.5 1.6 1.8 2.6 2.7 3 3.1 3.8
TABLE 1
Tabla de Datos
3. Ejecuci´on del Programa
Al ejecutar el programa, en el workspace
de Matlab nos aparecer´a un mensaje
pidi´endonos que ingresemos los datos de
la variable independiente X.
Luego de ingresados los valores de X,
seguidamente nos pedir´a los valores de la
variable dependiente Y.
Con los datos de X y Y ingresados primer-amente
se presenta el diagrama de dis-persi
´on de estos valores. En esta imagen se
puede apreciar que no existe relaci ´on clara
entre todos los puntos, para solucionar eso
utilizamos una red neuronal.
Fig. 12. Diagrama de Dispersi´on
En la siguiente imagen se puede ver el
nntraintool en donde se muestra el resumen
del entrenamiento de la red neuronal, tal
como el n´umero de iteraciones que realiz ´ o, el
tiempo, el numero de neuronas, la funci´on,
etc.
11. 7
Fig. 13. Entranamiento de la Neurona
La red neuronal encuentra la recta que mejor
se aproxime a los puntos, que es el objetivo
de la Regresi ´on Lineal Simple con los m´etodos
manuales de los M´ınimos Cuadrados.
Fig. 14. Grafica de Purelin
Finalmente en el workspace de Matlab se
muestra la soluci´on en relaci ´on a la ecuaci´on
de la recta definida al inicio. Los valores que
conforman la ecuaci´on final es el valor peso
por la variable independiente y el del bias.
Fig. 15. Resultados Finales
El codigo de ambos ejemplos realizados en
matlab se puede encontrar en el siguiente en-lace:
https://code.google.com/p/
funcion-poslin-purelin/
6 CONCLUSIONES
Una vez finalizado el trabajo llegamos a con-cluir
que:
Las funciones de activaci ´on Purelin y
Poslin son aplicadas en la mayor parte
para la resoluci´on de problemas lineal-mente
separables, siendo esta una limi-tante.
Las redes neuronales artificiales mediante
un correcto entrenamiento nos permiten
solucionar diferentes tipos de problemas
con un margen de error no significativo.
El uso de la funci´on de activaci ´on Purelin
es importante para encontrar la soluci´on
de problemas de Regresi ´on Lineal Simple,
ya que su condici´on permite resolver prob-lemas
lineales.
La utilizaci ´on de la funcion de activaci ´on
poslin fue importante para obtener una
soluci´on al problema de la discriminante,
ya que por su condici´on se pudo saber las
soluciones posibles de una ecuaci´on.
La utilizaci ´on de la herramienta matlab
fue relevante, ya que nos facilita el
entranamiento de la red neuronal y con
ello obtener los resultados deseados.
12. 8
7 RECOMENDACIONES
Una vez concluido el trabajo se recomienda:
Conocer a fondo cada una de las funciones
de activaci ´on disponibles y tambi´en el
problema a resolver para con ello proponer
una soluci´on, ya que cada una de estas son
las responsables de la salida de la neurona
y por ende de la soluci´on del problema.
Utilizar mas neuronas para un mejor y
r´apido aprendizaje de la red neuronal.
No sobre entrenar a la red neuronal, ya
que sus valores vienen a variar consider-ablemente,
lo cual causa que la soluci´on
no sea optima.
REFERENCES
[1] R. Pino, A. G´omez, N. Mart´ınez Introducci´on a la Inteligen-cia
Artificial:Sistemas Expertos, Redes Neuronales Artificiales
y Computaci´on Evolutiva, 1rd ed.Universidad de Oviedo,
2001
[2] R. Salas, Redes Neuronales Artificiales, Departamento de
Computaci´on, Universidad de Valpara´ıso.
[3] P. Ponce, Inteligencia artificial con aplicaciones a la ingenier´ıa,
1rd ed.Alfoomega Grupo Editor, S.A: M´exico, 2010.
[4] Ivan Mart´ınez Ortiz, Introducci´on a las Redes Neuronales.
Universidad Complutense de Madrid.
[5] Hilera, JR, Msrt˜ ninez, VJ. Redes Neuronales Artificiales.
Fundamentos, Modelos y Aplicaciones. RA-MA / Addison
Wesley Iberoamericana , Madrid / M´exico, (1995)
[6] Sofia, Garc´ıa,Regresi´on Lineal Simple. Universidad
Aut´onama de Madrid (2000)