Sei sulla pagina 1di 6

Determine the type of diabetes by logsig functions

and transfer tansig in Matlab


Determinar el tipo de diabetes mediante las
funciones de transferencia Logsig y Tansig en el
entorno Matlab
Veronica Chimbo y Ximena Astudillo
Ingeniera en Sistemas
Mg.Sc Henry Paz
Tutor

ResumenEn el presente artculo se abordan temas sobre


que es una Neurona Artificial, los tipos de aprendizaje que tiene
dicha neurona, Perceptron Multicapa y las diferentes capas que
intervienen en dicho Perceptron. Y principalmente sobre las dos
funciones de transferencia como la Logsig y la Tansig, durante
el desarrollo del mismo se realizo breve una descripcion sobre
las funciones antes mencionadas. Luego se procede a explicar
mediante un ejemplo el uso de estas dos funciones para su
mejor comprension.
Abstract.- This article topics is an Artificial Neuron, types
of learning that that neuron, Multilayer Perceptron and the
different layers involved in such Perceptron addressed. But chiefly
on the two transfer functions as tansig logsig and during its
development a description of the above functions are performed
shortly. Then he proceeds to explain by example the use of these
two functions for better understanding.

Mediante el proceso de entrenamiento de la red neuronal se


puede lograr determinar relaciones linealmente no separables
entre un conjunto de datos, asociando a los patrones de
entrada las salidas correspondientes [6].
EL presente articulo esta formado por 5 secciones las cuales
estan distribuidas de la siguiente manera: Seccion de Estado
del Arte, en el cual se detallan las funciones a utilizar para
el caso de estudio; Seccion del Caso de Estudio.- en este
apartado se describe el ejemplo en cual se implementa las
funciones tansig y logsig; la seccion de Resutados.- en este se
describe los resultados obtenidos y finalmente la seccion de
Conclusiones a las cuales se llego despues de aplicar el caso
de estudio.

Palabras clave
neurona, logsig, tansig, perceptron, aprendizaje
Index Termsneuron logsig, tansig, perceptron, learning

I.

I NTRODUCCI ON

II.

E STADO DEL A RTE

l estudio y el a mbito de aplicacion de las Redes


Neuronales es muy importante y nosotros como
estudiantes no debemos pasar por alto este tipo de
cuestionamiento. Las RNA por sus capacidades y
caractersticas, son aplicadas en diferentes a mbitos, en
los cuales los metodos y tecnicas tradicionales o conocidas no
han resultado eficaces y eficientes para resolver los problemas
subyacentes.
Las RN dieron fruto con el objetivo de simular ciertas
caractersticas de los seres humanos, como la capacidad de
memorizar, asociar hechos y generar acciones en concreto.
V. Chimbo, Universidad Nacional de Loja, Loja, Ecuador, vpchimboc@unl.edu.ec
X. Astudillo, Universidad Nacional de Loja, Loja, Ecuador, xeastudillov@unl.edu.ec

II-A.

Neurona Biologica

Podramos decir que poseen un conjunto de miles de


millones de celulas que se encuentran interconectadas
(aproximadamente 104 conexiones por elemento) entre s,
a estas se las conoce como neuronas. Estas neuronas estan
compuestas de tres tipos de elementos los cuales los puede
visualizar en la (figura 1)[1]:

Las dendritas
El nucleo de la celula
El axon

II-D.

Perceptron Multicapa

Es una red neuronal artificial (RNA) formada por multiples


capas, esto le permite resolver problemas que no son
linealmente separables, lo cual es la principal limitacion del
Perceptron[2].
La capacidad del Perceptron multicapa hace que sea un
prototipo apropiado para resolver problemas reales no
linealmente separables, filtrar ruido en los datos, etc. [2].
Internamente la distribucion de una red (RNA) se realiza por
niveles o capas. De acuerdo a esta condicion dentro de la red
se establecen tres tipos de capas ver (figura 4)[3].
figura 1: Ejemplo de Neurona Biologica
II-B.

Capa de entrada: en esta capa la informacion se recibe


desde el exterior algunos autores no la consideran como
porque all no se efectua ningun tipo de operacion.
Capas Ocultas: Estas capas se encargan de procesar y
comunicar la informacion hacia las otras capas o elementos, estos elementos pueden tener diferentes conexiones,
ademas son las que determinan el tipo de tipologa de la
red.
Capa de Salida: esta capa se ocupa de recibe la informacion de la capa oculta, enviar y transmitir la respuesta
hacia el medio exterior.

Neurona Artificial

La neurona artificial es la exacta imitacion de la neurona


biologica, pero en este caso la neurona artificial posee un
estado central conocido como nivel de activacion que a su vez
recibe senales que le proporcionan la capacidad de cambiar
de estado. Otra opcion que podemos manifestar es que puede
asemejarse a un sumador (figura 2) hecho con un amplificador
operacional [2]:

figura 2: Neurona artificial tipo sumador


II-C.

figura 4: Niveles de Capas del Perceptron

Tipos de Aprendizaje

Lo mas importante que hay que tomar en cuenta en el


estudio de una red neuronal es el aprendizaje. El aprendizaje es
lo que determina el tipo de problemas que es capaz de resolver
la red. Ademas dentro del aprendizaje hay que determinar los
valores precisos de los pesos para todas sus conexiones, que
la entrene para la resolucion eficiente de un problema [3].
Dependiendo del tipo de aprendizaje y del problema a
resolver existen distintos tipos que los puede observar en
(figura 3).

II-E.

Funciones de Transferencia

Para el Perceptron Multicapa las funciones de transferencia


o de activacion mas utilizadas son la funcion sigmoidal y la
funcion tangencial[2].
Ambas funciones son crecientes que poseen dos niveles de
saturacion: el maximo, que proporciona una salida de 1 y el
mnimo una salida de 0 para la funcion sigmoidal y -1 para
la funcion tangencial o tangente hiperbolica[3].
Basicamente, las funciones de transferencia realizan dos
tareas importantes: la primera, es que sirven para limitar la
salida de una neurona, y as los resultados no crezcan a
valores demasiado grandes; y la segunda, es que proporciona
caractersticas de no linealidad, lo cual es muy importante en
RNA.

figura 3: Tipos de Aprendizaje

II-E1. Funcion de transferencia sigmoidal (logsig):: La


salida de esta funcion siempre sera continua en el rango entre
cero y uno. Con esta familia de funciones se pueden resolver
problemas linealmente no separables o con datos continuos,
proporcionando salidas exclusivamente continuas. Al aplicar
esta funcion se realiza aplicando la siguiente expresion[5]:

figura 6: Formula y representacion de la funcion tansig


III.

C ASO DE E STUDIO

En este trabajo se presentara un ejemplo de la vida real


el cual consiste en determinar un conjunto de datos clnicos
para aprender el tipo de diabetes
EJEMPLO
En este fichero tenemos los datos de 569 pacientes con
diabetes. Cada paciente esta descrito por 32 atributos. El
primero es un identificador, el segundo el tipo de diabetes
(Tipo 1 y Tipo 2) y el resto son el resultado de otros analisis
clnicos. Pretendemos aprender el tipo de diabetes.

figura 5: Formula y representacion de la funcion logsig

II-E2. Funcion de transferencia tangencial (tansig):: Esta


es una de las funciones mas utilizadas en las redes neuronales
por su flexibilidad y el amplio rango de resultados que ofrece.
Las ventajas de utilizar una funcion tangencial frente a una
sigmoidal reside en que la segunda solo ofrece resultados en
el rango positivo entre cero y uno, en cambio la tangencial
sigmoidea da resultados entre 1 y 1 ver(figura 6), por lo que
se ampla a los numeros negativos los posibles resultados. La
funcion tiene una tipologa como la siguiente[4]:

En el fichero hay que sustituir las Tipo1s por 1 y las Tipo2s


por 0.

Como la red necesita que se le suministre cada ejemplo en


una columna, necesitamos trasponer la matriz de datos:

Ahora tenemos que definir cual es el objetivo y cuales son


los datos de entrada:

Para obtener los rangos de las variables de entrada podemos


utilizar:

Ahora creamos la red. No sabemos ni cuantas capas ocultas


necesita ni cuantas neuronas necesita en esas capas. Lo que
si sabemos que necesita 30 neuronas de entrada y una de
salida. Vamos a crear la red con una capa oculta de 10

neuronas (porque algo hay que probar). Como algoritmo de


entrenamiento utilizaremos trainlm.

Como tenemos bastantes ejemplos podemos utilizar una parte para el entrenamiento y otra parte para validar lo aprendido
mientras se esta entrenando la red. Lo ideal sera parar el
entrenamiento cuando el error sobre el conjunto de validacion
se incremente (estaramos empezando a sobre ajustarnos).
Esto se puede hacer separando una parte del conjunto de
entrenamiento para validar la solucion. Se hara de la siguiente
manera:

Ahora podemos entrenar la red:

Ponemos el parametro show a 1 para que nos muestre los


datos de cada iteracion. En la grafica vemos en azul el error
de entrenamiento y en verde el de validacion. Para calcular
la precision de la solucion aportada por la red tenemos que
implementar una funcion:

IV.

R ESULTADOS

Las funciones de activacion tienen que estar acordes con


el tipo de numero que van a recibir en la capa de entrada. Si
reciben algo en [0,1] ponemos logsig, si es algo entre [1,1]
ponemos tansig. Lo mismo sucede con la capa de salida:
si queremos devolver algo en [-1,1] ponemos tansig y si es
entre [0,1] ponemos logsig.

En este caso tenemos 2 clases etiquetadas como 0 y 1, por


eso ponemos el 0.5 como punto de division entre las dos
clases. Si las clases fuesen +1 y -1, la separacion entre las
dos clases estara en el 0. Esta funcion podremos utilizarla de
la siguiente manera:

Y as obtendremos el error en el conjunto original. Finalmente nuestro Script quedara de la siguiente manera

Grafica de la sin red entrenada ver (figura 7)

1. DESCRIPCION:
de la grafica obtenida ver (figura 9)
se puede detectar que la parte azul corresponde a los
objetivos, la parte roja es la solucion obtenida y la parte
verde la salidas.

figura 10: Resultados Obtenidos

figura 7: Representacion de resultados sin entrenar red

El entrenamiento de la Red Neuronal es ver (figura 8).

2. RESULTADOS: de los 569 pacientes evaluados con los


dos tipos de diabetes la red acertado con 184 datos, as
mismo tenemos el porcentaje de error: 1.0526 de datos
de entrada, 5.9859 de datos validos y en total tenemos
3.51 porcentaje de error de la red neuronal ver (figura
10).
Para su mayor comprension la implementacion del ejercicio
se lo puede visualizar en el siguiente link:
https://github.com/chimboveronica/
EJERCICIO-REDES-NEURONALES.git

figura 8: Entrenamiento de la red


V.
Grafica de la red entrenada ver (figura 9)

figura 9: Representacion de resultados entrenada la red

C ONCLUSIONES

Luego de elaborar el presente artculo se pueden emitir las


siguientes conclusiones:
Las funciones de transferencia logsig y tansig son muy
utilizadas dentro de las redes multicapa porque nos
ayudan a resolver problemas no lineales o linealmente
no separables.
La simulacion de problemas mediante el uso de redes
neuronales podemos obtener resultados mas eficaces con
respecto a los metodos tradicionales basados por ejemplo
en ecuaciones, ya que podemos encontrar los errores mas
especficos de la respuesta obtenida.
Programar en Matlab es necesario tener un conocimiento
promedio sobre su utilizacion y funcionamiento, ya que
esta herramienta no nos presenta ayuda como otras
por ejemplo(NetBeans)sobre los errores que se puedan
presentar durante su desarrollo.
Las funciones de transferencia logsig y tansig son utilizadas en diferentes a mbitos de la ciencia, principalmente
en el calculo de las probabilidades y predicciones.
La utilizacion de Matlab es una excelente herramienta y
opcion para el analisis y simulacion de las redes neuronales por la facilidad con la que se pueden visualizar los
resultados.

R EFERENCIAS
[1] Tanco, F. (2003). Introduccion a las redes neuronales artificiales. Grupo
de Inteligencia Artificial.
[2] Isasi, P., Galvan, I. (2004). Redes neuronales artificialesun enfoque
practico.
[3] de la Fe-Dotres, S., Domnguez-Fontanill, J., Sierra-Rodrguez, J.

(2012). RED NEURONAL PARA EL PRONOSTICO


DEL CONSUMO
DE COMBUSTIBLE DE GRUPOS MOTOGENERADORES NEURAL
NETWORK FOR PREDICTING FUEL COSUMPTION ON GENERATOR SETS. Ciencia en su PC, (4), 88-97.
[4] Garca Estevez, P. (2002). Aplicaciones de las Redes Neuronales en las
Finanzas.
[5] Millan Trujillo, F. R., Ostojich Cuevas, Z. (2006). Prediccion mediante
redes neuronales artificiales de la transferencia de masa en frutas
osmoticamente deshidratadas. Interciencia, 31(3), 206-210
[6] Dez, R. P., Gomez, A. G., de Abajo Martnez, N. (2001). Introduccion
a la inteligencia artificial: sistemas expertos, redes neuronales artificiales
y computacion evolutiva. Universidad de Oviedo.
[7] Aldabas-Rubira, E. (2002). Introduccion al reconocimiento de patrones

mediante redes neuronales. IX Jornades de Confer`encies dEnginyeria


Electr`onica del Campus de Terrassa, Terrassa, Espana, del 9 al 16 de
Diciembre del 2002.
[8] Rojas, J., Vasquez, V. (2012). Prediccion mediante Redes Neuronales
Artificiales (RNA) de la difusividad, masa, humedad, volumen y solidos
en yacon (Smallantus sonchifolius) deshidratado osmoticamente. Scientia Agropecuaria, 3(3), 201-214.
[9] Lorenzo Fonseca, I., Macia Perez, F., Lau Fernandez, R., Mora Gimeno,
F. J., Gil Martnez-Abarca, J. A. (2008). Metodo para la Deteccion
de Intrusos mediante Redes Neuronales basado en la Reduccion de
Caractersticas.
[10] Jalil, M. A., Misas, M. (2007). Evaluacion de pronosticos del tipo de
cambio utilizando redes neuronales y funciones de perdida asimetricas.
Revista Colombiana de Estadstica, 30(1), 143-161.
[11] Palmer Pol, A., Montano Moreno, J. J., Calafat Far, A. (2000). Prediccion del consumo de e xtasis a partir de redes neuronales artificiales.
Adicciones, 12(1).

Veronica Chimbo C.
Professional training for Engineering degree in
Systems Engineering from Universidad Nacional de
Loja, Loja, Ecuador in 2014.

Ximena Astudillo V.
Professional training for Engineering degree in
Systems Engineering from Universidad Nacional de
Loja, Loja, Ecuador in 2014.

Licencia

Potrebbero piacerti anche