SlideShare uma empresa Scribd logo
1 de 6
Baixar para ler offline
Funciones de Transferencia Satlin y Satlins Aplicadas para 
Reconocimiento de D´ıgitos a Trav´es de Matlab 
Sairy Chamba1, Juan Pinz´on2, Tutor: Henry Paz3 
1Carrera de Ingenier´ıa en Sistemas, Universidad Nacional de Loja, Loja, Ecuador 
fsfchambaj, jgpinzong, hpaz@unlg@unl.edu.ec 
Abstract: In this paper is explained the Satlin and 
Satlins Transfer functions, through the aplication 
of this in matlab. It also gives a brief explanation 
on Hopfield neural networks which use the transfer 
function satlins default, as well as an example of 
recognition of digits in matlab will be done using the 
same. 
Key words: Neural Network, Satlin, Satlins, Hop-field 
Network. 
Resumen: En este documento se explica, las fun-ciones 
de transferencia: satlin y satlins, a trav´es de 
la aplicaci´on de las mismas en matlab. Tambi´en se 
da una breve explicaci´on sobre las redes neuronales 
de hopfield las cuales usan la funcion de transferencia 
satlins de manera predeterminada, asi como tambien 
se har´a un ejemplo de reconocimiento de digitos en 
matlab usando las mismas. 
Palabras Clave: Red Neuronal, Satlin, Satlins, Red 
de Hopfield. 
1 INTRODUCCIO´ N 
El presente art´ıculo t´ecnico tiene la siguiente estruc-tura: 
estado del arte, resultados y conclusiones. 
El estado del arte se define en las 5 primeras sec-ciones: 
 Secci´on1: Neurona biol´ogica y artificial, describe 
la estructura neuronal. 
 Secci´on2: Funciones de activaci´on o trasnferen-cia, 
se realiza una comparaci´on de las funciones 
de activaci´on m´as utilizadas. 
 Secci´on3: Funciones satlin y satlins, describe la 
aplicaci´on de estas funciones. 
 Secci´on4: Redes neuronales de hopfield, describe 
la arquitectura de una red de hopfield. 
 Secci´on5: Dise˜no de una red de Hopfield, de-scribe 
el dise˜no de la red de hopfield. 
Resultados del ejercicio pr´actico: 
 Secci´on 7: Reconocimiento de D´ıgitos impares 
con Hopfield, se presenta la soluci´on en matlab 
y resultados obtenidos. 
 Secci´on 8: Conclusiones. 
2 NEURONA BIOLO´ GICA Y 
ARTIFICIAL 
Desde el punto de vista estructural, la mayor parte de 
las neuronas consisten en un cuerpo celular, que pre-senta 
una serie de ramificaciones denominadas den-dritas 
y una ramificaci´on m´as larga que se denomina 
ax´on (Figura 1). El ax´on transporta la se˜nal de sal-ida 
de la neurona hacia otras neuronas. Por otro lado, 
las entradas le llegan a trav´es de las dendritas, proce-dentes 
de los axones de otras c´elulas. Las conexiones 
existentes entre el ax´on de una neurona y la dendrita 
de otra se denominan sinapsis (M. Galipienso and Or-tega, 
2003). 
Figure 1: Similitud entre neuronas biol´ogicas y artificiales 
(M. Galipienso and Ortega, 2003) 
En En 1943 McCulloch and Pitts presentaron un mod-elo 
abstracto y simple de una neurona artificial. El 
modelo est´a compuesto por un vector de pesos w = 
(w1; :::;wd) equivalente a las conexiones sin´apticas en 
una neurona real, w0 es el umbral de acci´on o acti-vaci 
´on, el vector x es la entrada, y el escalar y la sal-
ida de la unidad. La actividad consiste en generar una 
´unica salida y a partir de la aplicaci´on de la funci´on 
de activaci´on f a la suma ponderada entre el vec-tor 
de entrada x = (x1; :::;xm) y el vector de pesos 
w = (w1; ::;wd), m´as un sesgo w0, obteni´endose la 
siguiente expresi´on (McCulloch and Pitts, 1943) : 
y = f ( 
må 
i=1 
wixi+w0) 
La funci´on de activaci´on f debe elegirse tomando 
en cuenta el problema que la neurona deber´a resolver. 
3 FUNCIONES DE ACTIVACIO´ N 
O TRANSFERENCIA 
Una neurona artificial tiene diferentes estados de ac-tivaci 
´on, que pueden ir desde 2 estados (al igual que 
una neurona biol´ogica) hasta varios estados compren-didos 
en un rango determinado. La funci´on de acti-vaci 
´on calcula el estado de actividad de una neurona, 
transformando la entrada global (a excepci´on del um-bral) 
en un valor de activaci´on, cuyo rango general-mente 
va de 0 a 1 , o de -1 a 1. Estos valores indican 
que una neurona puede estar totalmente inactiva (0 o 
1), o activa (1) (Matich, 2001). 
Existen diversos tipos de funciones de transferencia, 
entre estos tenemos (Buitrago and Mu˜noz, 2000): 
 Funci´on de Tranferencia Escal´on 
 Funci´on de Tranferencia Lineal 
 Funci´on de Tranferencia No lineal 
 Funci´on de Tranferencia de Saturaci´on 
 Funci´on de Tranferencia Competitiva 
4 FUNCIONES SATLIN Y 
SATLINS 
Son funciones de transferencia de Satruraci´on, y 
se caracterizan porque saturan cualquier valor por 
encima o debajo de los l´ımites. El l´ımite de saturaci´on 
para Satlin es 0,1 y para Satlins es o -1,1 (ESCOM, 
2009). 
4.1 SATLIN 
Se caracteriza porque la entrada a la funci´on de trans-ferencia 
es del tipo real, y la salida es real y lin-eal 
pero limitada al intervalo de 0 a 1. Es decir, 
se satura cualquier valor por encima o debajo de los 
l´ımites(ESCOM, 2009). 
Figure 2: Funcion SATLIN (ESCOM, 2009) 
En matlab la sintaxis de la funcion satlin es la sigu-iente: 
A = satlin(N,FP) 
Donde 
N es una matriz de dimensiones SxQ de entradas de 
red. 
FP Parametros de funcion que pueden ser opcionales 
o ignorados 
4.1.1 Ejemplo 
El c´odigo para crear un plot de la funci´on satlin en 
matlab es: 
n = -5:0.1:5; 
a = satlin(n); 
plot(n,a) 
El Algoritmo que sigue la funcion satlin es el 
siguiente: 
a = satlin(n) = 0; i f n = 0 (1) 
n; i f 0 = n = 1 (2) 
1; i f 1 = n (3) 
4.2 SATLINS 
SATLINS Es una Funci´on de Trasferencia Lineal 
de Saturaci´on Sim´etrica que excita a la red, la cual 
regresa los valores de entrada reales para entradas 
que existen entre –1 y +1. M´as all´a de estas regiones 
los valores de entrada se saturan a sus m´ınimos y 
m´aximos valores (-1 y +1) (ESCOM, 2009). Como 
se puede observar en la siguiente gr´afica. 
a = satlins (n) 
a = satlins (w*p+b) 
Donde: n es el vector de entrada. 
w son los pesos. 
b es el bias. 
a es el vector de salida. 
2
Figure 3: Funcion SATLINS (ESCOM, 2009) 
En matlab la sintaxis de la funcion SATLINS es 
la siguiente: 
A = satlins(N,FP) 
Donde: 
N es la matriz S x Q de entradas de la red 
FP Parametro de funcion (opcionales, pueden ser 
ignorados) 
y devuelve A, una matriz S x Q de elementos de N 
entre [-1, 1]. 
4.2.1 Ejemplo 
El codigo para crear un plot de la funci´on de transfer-encia 
satlins en matlab es: 
n = -5:0.1:5; 
a = satlins(n); 
plot(n,a) 
El algoritmo que sigue la funci´on satlins es el 
siguiente: 
satlins(n) = 1; i f n = 1 (4) 
n; i f 1 = n = 1 (5) 
1; i f 1 = n (6) 
Se puede crear una red estandar que use satlins uti-lizando 
el comando newhop que crea una red neuronal 
de hopfield. 
5 REDES NEURONALES DE 
HOPFIELD 
La red de hopfield es de tipo recurrente y completa-mente 
iterconectada, pues la salida de dicha red es 
din´amica, lo que indica que despu´es de aplicar una 
nueva entrada, la salida es calculada y realimentada 
para modificar la entrada. Esta recurrencia asegura 
la estabilidad haciendo que sucesivas iteraciones, 
produzcan cambios de salida cada vez m´as peque˜nas, 
hasta lograr que las salidas sean constantes (Bonifa-cio, 
2007). 
La red de Hopfield utiliza la funci´on de transferencia 
lineal de saturaci´on sim´etrica (Satlins). Para las 
entradas menores a -1 satlins produce -1. Para las 
entradas en el rango de -1 a +1 simplemente devuelve 
el valor de entrada. Para entradas superiores a 1 
produce 1. A continuaci´on se presenta la arquitectura 
de la red (Demuth and Hagan, 2008): 
Figure 4: Arquitectura de una red Hopfield (Demuth and 
Hagan, 2008) 
El dise˜no de una red Hopfield en matlab se ejecuta de 
la siguiente manera: 
net=newhop(T); donde T es una matriz de vectores 
que representa un conjunto de puntos de equilibrio. 
A continuaci´on, se asegura de que la red est´e dise˜nada 
en los puntos de equilibrio. Debido a que las redes de 
Hopfield no tienen entradas el segundo argumento de 
la red es una matriz de celdas vac´ıas, cuyas columnas 
indican el n´umero de pasos de tiempo. 
Ai = fTg; 
[Y,Pf,Af] = net(cell(1,2),fg,Ai); 
Yf2g 
3
6 DISEN˜ O DE UNA RED DE 
HOPFIELD 
El objetivo aqu´ı es el dise˜no de una red que almacena 
un conjunto espec´ıfico de puntos de equilibrio de tal 
manera que, cuando se proporciona una condici´on ini-cial, 
la red con el tiempo se detiene en un punto del 
dise˜no. La red es recursiva en el sentido que la sal-ida 
realimenta a la entrada, una vez que la red est´a 
en funcionamiento. Con suerte, la salida de la red se 
instalar´a en uno de los puntos de dise˜no originales. 
El m´etodo de dise˜no presentado no es perfecto porque 
la red dise˜nada puede tener puntos de equilibrio falsos 
no deseados adem´as de los deseados. Sin embargo, 
el n´umero de estos puntos no deseados se hace tan 
peque˜no como sea posible por el m´etodo de dise˜no. 
Adem´as, el dominio de atracci´on de los puntos de 
equilibrio dise˜nados es tan grande como sea posible. 
El m´etodo de dise˜no se basa en un sistema de primer 
orden de ecuaciones diferenciales ordinarias lineales 
que se definen en un hipercubo cerrado del espacio de 
estado. Las soluciones existen en el l´ımite del hiper-cubo. 
Estos sistemas tienen la estructura b´asica del 
modelo de Hopfield, pero son m´as f´aciles de enten-der 
y dise˜nar que el modelo de Hopfield(Demuth and 
Hagan, 2008). 
6.1 Dise˜no(Newhop) 
Dado un conjunto de puntos de equilibrio destino rep-resentados 
como una matriz T de vectores, newhop 
devuelve pesos y umbrales para una red recursiva. La 
red est´a garantizada para tener puntos de equilibrio 
estable en los vectores objetivo, pero podr´ıa contener 
otros puntos de equilibrio falsos tambi´en. El n´umero 
de estos puntos no deseados se hace tan peque˜no 
como sea posible por el m´etodo de dise˜no(Demuth 
and Hagan, 2008). 
Se considera el siguiente ejemplo de dise˜no. 
Suponga que desea dise˜nar una red con dos puntos 
estables en un espacio tridimensional. 
T = [-1 -1 1; 1 -1 1]’ 
T = 
-1 1 
-1 -1 
1 1 
Se puede ejecutar el dise˜no con: 
net = newhop (T); 
A continuaci´on, debemos asegurarnos de que la 
red dise˜nada esta en esos dos puntos, de la siguiente 
manera. Debido a que las redes de Hopfield no 
tienen entradas, el segundo argumento de la red es 
un arreglo de celdas vac´ıo cuyas columnas indican el 
n´umero de incrementos de tiempo. 
Ai = fTg; 
[Y,Pf,Af] = net(cell(1,2),fg,Ai); 
Yf2g 
Esto da como resultado 
-1 1 
-1 -1 
1 1 
As´ı, la red de hecho ha sido dise˜nada para ser 
estable en sus puntos de dise˜no. A continuaci´on, 
puede intentar otra condici´on de entrada que no es un 
punto de dise˜no, tal como: 
Ai = [-0,9; -0.8; 0,7]; 
Los puntos estan razonablemente cerca del primer 
punto de dise˜no, por lo que se podr´ıa anticipar que la 
red ser´ıa convergente a ese primer punto. 
Para ver si esto ocurre, ejecute el siguiente c´odigo. 
[Y, Pf, Af] = net (celda (1,5), fg, Ai); 
Y fendg 
esto da como resultado 
-1 
-1 
1 
Por lo tanto, una condici´on original cerca de un 
punto de dise˜no hizo converger a ese punto. 
Esto es, por supuesto, el deseo para todas esas 
entradas. Desafortunadamente, incluso los dise˜nos 
m´as conocidos de Hopfield ocasionalmente incluyen 
puntos estables falso no deseados que atraen la 
soluci´on. 
7 RECONOCIMIENTO DE 
D´IGITOS IMPARES CON 
HOPFIELD 
Problema: Se necesita identificar los primeros cinco 
d´ıgitos impares (1,3,5,7). Para respresentar cada 
d´ıgito es necesario establecerlos dentro de un arreglo 
de tama˜no 10*7. 
Se dar´a el valor -1 para las celdas de color negro , y 
4
Figure 5: Primeros cinco d´ıgitos impares 
Arreglos de 10*7 
el valor 1 para las celdas de color blanco. Cada ar-reglo 
de 10*7 deber´a luego transformarse a un vector 
de 70*1. Los vectores de nuevas dimensiones se de-nominar 
´an como: DI1, DI2, DI3, DI4, DI5, respecti-vamente. 
7.1 RESULTADOS 
Soluci´on en Matlab: Para el reconocimiento de 
los cinco vectores se aplicar´a una red Hopfield. 
Primeramente obtenemos los arreglos iniciales de 
dimensiones 10*7, los cuales est´an denominados 
como: D1, D2, D3, D4 y D5. La representaci´on del 
primer arreglo se muestra a continuaci´on: 
D1= 
[1 1 1 1 1 1 1 
1 1 1 1 1 1 1 
1 1 1 1 1 1 1 
1 1 1 1 1 1 1 
1 1 1 1 1 1 1 
1 1 1 1 1 1 1 
1 1 1 1 1 1 1 
1 1 1 1 1 1 1 
1 1 1 1 1 1 1 
1 1 1 1 1 1 1] 
Transformamos los arreglos de 10*7 a vectores de 
70*1: 
DI1=reshape(D1’,70,1); 
DI2=reshape(D2’,70,1); 
DI3=reshape(D3’,70,1); 
DI4=reshape(D4’,70,1); 
DI5=reshape(D5’,70,1); 
D = [ DI1 DI2 DI3 DI4 DI5 ]; 
net = newhop( D ); 
net.lw 
A continuaci´on verificamos el reconocimiento de 
los vectores DI2 y DI4. 
nVect = 1; %verificando el segundo d´ıgito 
D2r = sim( net , nVect , [] , DI2 ) ; 
any( DI2 - D2r ) % vectores iguales 
nVeces = 100; 
Alteramos el cuarto d´ıgito para simular la presencia 
de ruido: 
D4ruido= 
[1 1 1 1 1 1 1 
1 1 1 1 1 1 1 
1 1 1 1 1 1 1 
1 1 1 1 1 1 1 
1 1 1 1 1 1 1 
1 1 1 1 1 1 1 
1 1 1 1 1 1 1 
1 1 1 1 1 1 1 
1 1 1 1 1 1 1 
1 1 1 1 1 1 1] 
DI4ruido=reshape(D4ruido’,70,1); 
DI4ruido = DI4ruido ; 
Para corregir el vector ruidoso hacemos uso de la 
red hopfield: 
Y = sim( net , f nVect nVeces g , f g , DI4ruido ) ; 
Y 100 % muestra la ´ultima simulaci´on 
any( DI4 - Y ) 
Se reconoce correctamente el segundo d´ıgito impar, y 
esto se verifica con el comando any(DI2D2r), este 
devuelve un valor 0, que indica que se ha alcando el 
punto de quilibrio deseado. 
ans= 0 
El vector ruidoso es entrenado hasta alcanzar el punto 
de equilibrio con respecto al cuarto d´ıgito impar.Los 
valores son arrojados en forma de un vector 70*1. 
ans= (vector 70*1) 
El codigo del ejemplo realizado se encuentra 
alojado en un repositorio github la direccion del 
mismo es: https://github.com/pinzon1992/ 
SATLINSMATLAB, y para clonarlo en git el en-lace 
es: https://github.com/pinzon1992/ 
SATLINSMATLAB.git 
8 CONCLUSIONES 
 La sintaxis newhop(T) en matlab, utiliza la 
funci´on de transferencia satlins y devuelve una 
nueva red neuronal recurrente Hopfield con pun-tos 
estables en el vector T. 
 En el ejemplo de reconocimiento de d´ıgitos im-pares, 
una vez que finaliza la etapa de aprendizaje, 
5
la red proporciona una salida correcta para cada 
patr´on de entrada dado, incluso si el vector es rui-doso. 
 La red de Hopfield utiliza por defecto la funci´on 
de transferencia Satlins ya que esta necesita sat-urarse 
para obtener los puntos de equilibrio de la 
misma y llegar al estado deseado. 
REFERENCIAS 
Bonifacio, M. (2007). Redes neuronales y Sistemas Bor-rosos. 
Alfa y Omega., 2da edici´on edition. 
Buitrago, M. and Mu˜noz, C. (2000). Tutorial sobre re-des 
neuronales aplicadas en ingenier´ıa el´ectrica y su 
implementaci´on en un sitio web. Universidad Tec-nol 
´ogica de Pereira. 
Demuth, H. and Hagan, M. (2008). Neural network 
toolboxTM 6. User’s guide. 
ESCOM (2009). Funciones de matlab en redes hopfield. 
escuela superior de c´omputo. mexico. 
M. Galipienso, M. Q. and Ortega, M. (2003). Inteligen-cia 
artificial: modelos, t´ecnicas y ´areas de aplicaci´on. 
Editorial Paraninfo. 
Matich, D. (2001). Redes Neuronales: Conceptos B´asicos 
y Aplicaciones. C´atedra de Inform´atica Aplicada a la 
Ingenier´ıa de Procesos–Orientaci´on I. 
McCulloch, W. and Pitts, W. (1943). A logical calculus of 
ideas immanent in nervous activity.bulletin of mathe-matical 
biophysics. 
BIOGRAF´IA 
Sairy Chamba profes-sional 
training for Engineering degree in 
Systems Engineering from Universidad 
Nacional de Loja, Loja, Ecuador in 2014. 
Juan Pinz´on professional 
training for Engineering degree in Sys-tems 
Engineering from Universidad Na-cional 
de Loja, Loja, Ecuador in 2014. 
6

Mais conteúdo relacionado

Mais procurados

Utp 2015-2_ia_lab1.pdf
 Utp 2015-2_ia_lab1.pdf Utp 2015-2_ia_lab1.pdf
Utp 2015-2_ia_lab1.pdfjcbp_peru
 
Utp sirn_2015-2 lab1
 Utp sirn_2015-2 lab1 Utp sirn_2015-2 lab1
Utp sirn_2015-2 lab1jcbp_peru
 
Utp 2015-2_ia lab2
 Utp 2015-2_ia lab2 Utp 2015-2_ia lab2
Utp 2015-2_ia lab2jcbp_peru
 
Utp 2015-2_ia_s4_red perceptron
 Utp 2015-2_ia_s4_red perceptron Utp 2015-2_ia_s4_red perceptron
Utp 2015-2_ia_s4_red perceptronjcbp_peru
 
Utp sirn_2015-2 lab3
 Utp sirn_2015-2 lab3 Utp sirn_2015-2 lab3
Utp sirn_2015-2 lab3jcbenitezp
 
Utp 2015-2_sirn_s4_red perceptron
 Utp 2015-2_sirn_s4_red perceptron Utp 2015-2_sirn_s4_red perceptron
Utp 2015-2_sirn_s4_red perceptronjcbp_peru
 
Utp 2015-2_sirn lab2
 Utp 2015-2_sirn lab2 Utp 2015-2_sirn lab2
Utp 2015-2_sirn lab2jcbp_peru
 
Utp sirn_s13_sistemas de control basados en logic difusa
 Utp sirn_s13_sistemas de control basados en logic difusa Utp sirn_s13_sistemas de control basados en logic difusa
Utp sirn_s13_sistemas de control basados en logic difusajcbp_peru
 
Satlin y satlins en matlab
Satlin y satlins en matlabSatlin y satlins en matlab
Satlin y satlins en matlabInnoVacompu
 
Capitulo4 funciones bases_radiales
Capitulo4 funciones bases_radialesCapitulo4 funciones bases_radiales
Capitulo4 funciones bases_radialesmayra jimenez
 
Clasificador Caracteres Logsig Tansig
Clasificador Caracteres Logsig TansigClasificador Caracteres Logsig Tansig
Clasificador Caracteres Logsig TansigYeferson Torres Berru
 
Practica 5 simulink-5156
Practica 5 simulink-5156Practica 5 simulink-5156
Practica 5 simulink-5156RossiHeredia1
 
Utp 2015-2_ia_s2_intro a las rna
 Utp 2015-2_ia_s2_intro a las rna  Utp 2015-2_ia_s2_intro a las rna
Utp 2015-2_ia_s2_intro a las rna jcbp_peru
 
Matlab Neural Network Toolbox MATLAB
Matlab Neural Network Toolbox MATLABMatlab Neural Network Toolbox MATLAB
Matlab Neural Network Toolbox MATLABESCOM
 
Implementacion de la funcion logica xor, mediante un modelo neuronal y el alg...
Implementacion de la funcion logica xor, mediante un modelo neuronal y el alg...Implementacion de la funcion logica xor, mediante un modelo neuronal y el alg...
Implementacion de la funcion logica xor, mediante un modelo neuronal y el alg...Tribunal Electoral Provincia de Misiones
 
Woi9 ia 2015 1 balotario de la pc2
Woi9 ia 2015 1 balotario de la pc2Woi9 ia 2015 1 balotario de la pc2
Woi9 ia 2015 1 balotario de la pc2jcbp_peru
 
Utp sirn_sl8 sistemas difusos i 2013-3
 Utp sirn_sl8 sistemas difusos i 2013-3 Utp sirn_sl8 sistemas difusos i 2013-3
Utp sirn_sl8 sistemas difusos i 2013-3jcbenitezp
 
Actividad no13 y_14_de_2do_parcial
Actividad no13 y_14_de_2do_parcialActividad no13 y_14_de_2do_parcial
Actividad no13 y_14_de_2do_parcialCarlos Mendoza
 
A152 woia sistemasinteligentesyredesneuronales
A152 woia sistemasinteligentesyredesneuronalesA152 woia sistemasinteligentesyredesneuronales
A152 woia sistemasinteligentesyredesneuronalesjcbp_peru
 

Mais procurados (20)

Utp 2015-2_ia_lab1.pdf
 Utp 2015-2_ia_lab1.pdf Utp 2015-2_ia_lab1.pdf
Utp 2015-2_ia_lab1.pdf
 
Utp sirn_2015-2 lab1
 Utp sirn_2015-2 lab1 Utp sirn_2015-2 lab1
Utp sirn_2015-2 lab1
 
Utp 2015-2_ia lab2
 Utp 2015-2_ia lab2 Utp 2015-2_ia lab2
Utp 2015-2_ia lab2
 
Utp 2015-2_ia_s4_red perceptron
 Utp 2015-2_ia_s4_red perceptron Utp 2015-2_ia_s4_red perceptron
Utp 2015-2_ia_s4_red perceptron
 
Utp sirn_2015-2 lab3
 Utp sirn_2015-2 lab3 Utp sirn_2015-2 lab3
Utp sirn_2015-2 lab3
 
Utp 2015-2_sirn_s4_red perceptron
 Utp 2015-2_sirn_s4_red perceptron Utp 2015-2_sirn_s4_red perceptron
Utp 2015-2_sirn_s4_red perceptron
 
Utp 2015-2_sirn lab2
 Utp 2015-2_sirn lab2 Utp 2015-2_sirn lab2
Utp 2015-2_sirn lab2
 
Utp sirn_s13_sistemas de control basados en logic difusa
 Utp sirn_s13_sistemas de control basados en logic difusa Utp sirn_s13_sistemas de control basados en logic difusa
Utp sirn_s13_sistemas de control basados en logic difusa
 
Satlin y satlins en matlab
Satlin y satlins en matlabSatlin y satlins en matlab
Satlin y satlins en matlab
 
Purelin y poslin
Purelin y poslinPurelin y poslin
Purelin y poslin
 
Capitulo4 funciones bases_radiales
Capitulo4 funciones bases_radialesCapitulo4 funciones bases_radiales
Capitulo4 funciones bases_radiales
 
Clasificador Caracteres Logsig Tansig
Clasificador Caracteres Logsig TansigClasificador Caracteres Logsig Tansig
Clasificador Caracteres Logsig Tansig
 
Practica 5 simulink-5156
Practica 5 simulink-5156Practica 5 simulink-5156
Practica 5 simulink-5156
 
Utp 2015-2_ia_s2_intro a las rna
 Utp 2015-2_ia_s2_intro a las rna  Utp 2015-2_ia_s2_intro a las rna
Utp 2015-2_ia_s2_intro a las rna
 
Matlab Neural Network Toolbox MATLAB
Matlab Neural Network Toolbox MATLABMatlab Neural Network Toolbox MATLAB
Matlab Neural Network Toolbox MATLAB
 
Implementacion de la funcion logica xor, mediante un modelo neuronal y el alg...
Implementacion de la funcion logica xor, mediante un modelo neuronal y el alg...Implementacion de la funcion logica xor, mediante un modelo neuronal y el alg...
Implementacion de la funcion logica xor, mediante un modelo neuronal y el alg...
 
Woi9 ia 2015 1 balotario de la pc2
Woi9 ia 2015 1 balotario de la pc2Woi9 ia 2015 1 balotario de la pc2
Woi9 ia 2015 1 balotario de la pc2
 
Utp sirn_sl8 sistemas difusos i 2013-3
 Utp sirn_sl8 sistemas difusos i 2013-3 Utp sirn_sl8 sistemas difusos i 2013-3
Utp sirn_sl8 sistemas difusos i 2013-3
 
Actividad no13 y_14_de_2do_parcial
Actividad no13 y_14_de_2do_parcialActividad no13 y_14_de_2do_parcial
Actividad no13 y_14_de_2do_parcial
 
A152 woia sistemasinteligentesyredesneuronales
A152 woia sistemasinteligentesyredesneuronalesA152 woia sistemasinteligentesyredesneuronales
A152 woia sistemasinteligentesyredesneuronales
 

Semelhante a Funciones satlin y satlins

Red neuronal artificial
Red neuronal artificialRed neuronal artificial
Red neuronal artificialcarlos colque
 
Reconocimiento de Patrones Incompletos Mediante Funciones de Activación Satli...
Reconocimiento de Patrones Incompletos Mediante Funciones de Activación Satli...Reconocimiento de Patrones Incompletos Mediante Funciones de Activación Satli...
Reconocimiento de Patrones Incompletos Mediante Funciones de Activación Satli...Juan Carlos Gonzalez Ortiz
 
Función de Activación POSLIN y PURELIN
Función de Activación POSLIN y PURELINFunción de Activación POSLIN y PURELIN
Función de Activación POSLIN y PURELINRossy Faican Cango
 
redes neuronales perceptron
redes neuronales  perceptronredes neuronales  perceptron
redes neuronales perceptronMarc Llanos
 
Utp sirn_sl4 la rna perceptron
 Utp sirn_sl4 la rna perceptron Utp sirn_sl4 la rna perceptron
Utp sirn_sl4 la rna perceptronc09271
 
Utp ia_sl4 la rna perceptron
 Utp ia_sl4 la rna perceptron Utp ia_sl4 la rna perceptron
Utp ia_sl4 la rna perceptronjcbenitezp
 
implementación simulated annealing-en-perceptronmulticapa
implementación simulated annealing-en-perceptronmulticapaimplementación simulated annealing-en-perceptronmulticapa
implementación simulated annealing-en-perceptronmulticapaBrian Piragauta
 
Redes Neuronales Artificiales: Aplicación de la función Hardlim para la clasi...
Redes Neuronales Artificiales: Aplicación de la función Hardlim para la clasi...Redes Neuronales Artificiales: Aplicación de la función Hardlim para la clasi...
Redes Neuronales Artificiales: Aplicación de la función Hardlim para la clasi...Sheyli Patiño
 
RED NEURONAL Backpropagation
RED NEURONAL BackpropagationRED NEURONAL Backpropagation
RED NEURONAL BackpropagationESCOM
 
Cálculo de variación de voltaje con función purelin y variación de velocidad ...
Cálculo de variación de voltaje con función purelin y variación de velocidad ...Cálculo de variación de voltaje con función purelin y variación de velocidad ...
Cálculo de variación de voltaje con función purelin y variación de velocidad ...kathyR04
 
Hardlim hardlims en_matlab
Hardlim hardlims en_matlabHardlim hardlims en_matlab
Hardlim hardlims en_matlabjhymermartinez
 
Hardlim hardlims en_matlab
Hardlim hardlims en_matlabHardlim hardlims en_matlab
Hardlim hardlims en_matlabjairo0990
 
Utp ia_s4_red perceptron
 Utp ia_s4_red perceptron Utp ia_s4_red perceptron
Utp ia_s4_red perceptronjcbp_peru
 
REDES NEURONALES Demos Hopfield
REDES NEURONALES Demos HopfieldREDES NEURONALES Demos Hopfield
REDES NEURONALES Demos HopfieldESCOM
 
Utp ia_2014-2_s4_red perceptron
 Utp ia_2014-2_s4_red perceptron Utp ia_2014-2_s4_red perceptron
Utp ia_2014-2_s4_red perceptronhiperu2005
 
Utp sirn_s3_red perceptron
 Utp sirn_s3_red perceptron Utp sirn_s3_red perceptron
Utp sirn_s3_red perceptronc09271
 
Algoritmo de Retropropagación
Algoritmo de RetropropagaciónAlgoritmo de Retropropagación
Algoritmo de RetropropagaciónESCOM
 
Metodos Neuronales En Sistemas Difusos
Metodos Neuronales En Sistemas DifusosMetodos Neuronales En Sistemas Difusos
Metodos Neuronales En Sistemas DifusosESCOM
 

Semelhante a Funciones satlin y satlins (20)

Boletin3
Boletin3Boletin3
Boletin3
 
Red neuronal artificial
Red neuronal artificialRed neuronal artificial
Red neuronal artificial
 
Reconocimiento de Patrones Incompletos Mediante Funciones de Activación Satli...
Reconocimiento de Patrones Incompletos Mediante Funciones de Activación Satli...Reconocimiento de Patrones Incompletos Mediante Funciones de Activación Satli...
Reconocimiento de Patrones Incompletos Mediante Funciones de Activación Satli...
 
Función de Activación POSLIN y PURELIN
Función de Activación POSLIN y PURELINFunción de Activación POSLIN y PURELIN
Función de Activación POSLIN y PURELIN
 
redes neuronales perceptron
redes neuronales  perceptronredes neuronales  perceptron
redes neuronales perceptron
 
Utp sirn_sl4 la rna perceptron
 Utp sirn_sl4 la rna perceptron Utp sirn_sl4 la rna perceptron
Utp sirn_sl4 la rna perceptron
 
Utp ia_sl4 la rna perceptron
 Utp ia_sl4 la rna perceptron Utp ia_sl4 la rna perceptron
Utp ia_sl4 la rna perceptron
 
implementación simulated annealing-en-perceptronmulticapa
implementación simulated annealing-en-perceptronmulticapaimplementación simulated annealing-en-perceptronmulticapa
implementación simulated annealing-en-perceptronmulticapa
 
Redes Neuronales Artificiales: Aplicación de la función Hardlim para la clasi...
Redes Neuronales Artificiales: Aplicación de la función Hardlim para la clasi...Redes Neuronales Artificiales: Aplicación de la función Hardlim para la clasi...
Redes Neuronales Artificiales: Aplicación de la función Hardlim para la clasi...
 
RED NEURONAL Backpropagation
RED NEURONAL BackpropagationRED NEURONAL Backpropagation
RED NEURONAL Backpropagation
 
Funciones_ hardlim_hardlims
Funciones_ hardlim_hardlimsFunciones_ hardlim_hardlims
Funciones_ hardlim_hardlims
 
Cálculo de variación de voltaje con función purelin y variación de velocidad ...
Cálculo de variación de voltaje con función purelin y variación de velocidad ...Cálculo de variación de voltaje con función purelin y variación de velocidad ...
Cálculo de variación de voltaje con función purelin y variación de velocidad ...
 
Hardlim hardlims en_matlab
Hardlim hardlims en_matlabHardlim hardlims en_matlab
Hardlim hardlims en_matlab
 
Hardlim hardlims en_matlab
Hardlim hardlims en_matlabHardlim hardlims en_matlab
Hardlim hardlims en_matlab
 
Utp ia_s4_red perceptron
 Utp ia_s4_red perceptron Utp ia_s4_red perceptron
Utp ia_s4_red perceptron
 
REDES NEURONALES Demos Hopfield
REDES NEURONALES Demos HopfieldREDES NEURONALES Demos Hopfield
REDES NEURONALES Demos Hopfield
 
Utp ia_2014-2_s4_red perceptron
 Utp ia_2014-2_s4_red perceptron Utp ia_2014-2_s4_red perceptron
Utp ia_2014-2_s4_red perceptron
 
Utp sirn_s3_red perceptron
 Utp sirn_s3_red perceptron Utp sirn_s3_red perceptron
Utp sirn_s3_red perceptron
 
Algoritmo de Retropropagación
Algoritmo de RetropropagaciónAlgoritmo de Retropropagación
Algoritmo de Retropropagación
 
Metodos Neuronales En Sistemas Difusos
Metodos Neuronales En Sistemas DifusosMetodos Neuronales En Sistemas Difusos
Metodos Neuronales En Sistemas Difusos
 

Último

Formato de práctica reflexiva ante una problemática social.docx.pdf
Formato de práctica reflexiva ante una problemática social.docx.pdfFormato de práctica reflexiva ante una problemática social.docx.pdf
Formato de práctica reflexiva ante una problemática social.docx.pdfjuanrubenc78
 
Algoritmos Paralelos - Actividad 14 - UNIBE.pdf
Algoritmos Paralelos - Actividad 14 - UNIBE.pdfAlgoritmos Paralelos - Actividad 14 - UNIBE.pdf
Algoritmos Paralelos - Actividad 14 - UNIBE.pdfdarosario3d
 
Simuladores de circuitos electrónicos.pdf
Simuladores de circuitos electrónicos.pdfSimuladores de circuitos electrónicos.pdf
Simuladores de circuitos electrónicos.pdfLeonardoOa4
 
Diseño de Algoritmos Paralelos. Mejorando la eficiencia computacional aprovec...
Diseño de Algoritmos Paralelos. Mejorando la eficiencia computacional aprovec...Diseño de Algoritmos Paralelos. Mejorando la eficiencia computacional aprovec...
Diseño de Algoritmos Paralelos. Mejorando la eficiencia computacional aprovec...AlexaRamirez39
 
Los mejores simuladores electrónicos que se pueden utilizar
Los mejores simuladores electrónicos que se pueden utilizarLos mejores simuladores electrónicos que se pueden utilizar
Los mejores simuladores electrónicos que se pueden utilizarjosuesj13
 
Herramientas de Mantenimiento_Soporte Técnico_David Andrade.pdf
Herramientas de Mantenimiento_Soporte Técnico_David Andrade.pdfHerramientas de Mantenimiento_Soporte Técnico_David Andrade.pdf
Herramientas de Mantenimiento_Soporte Técnico_David Andrade.pdfdaa100407
 
02 - RUP_Introduccion_Definicion.pdf
02 - RUP_Introduccion_Definicion.pdf02 - RUP_Introduccion_Definicion.pdf
02 - RUP_Introduccion_Definicion.pdfRodrigo Cerón
 
Virus -Josue Cabascango _20240322_194349_0000.pdf
Virus -Josue Cabascango _20240322_194349_0000.pdfVirus -Josue Cabascango _20240322_194349_0000.pdf
Virus -Josue Cabascango _20240322_194349_0000.pdfMiSpotify
 
03 - RUP_Elaboracion_Construccion_1_2024.pdf
03 - RUP_Elaboracion_Construccion_1_2024.pdf03 - RUP_Elaboracion_Construccion_1_2024.pdf
03 - RUP_Elaboracion_Construccion_1_2024.pdfRodrigo Cerón
 

Último (9)

Formato de práctica reflexiva ante una problemática social.docx.pdf
Formato de práctica reflexiva ante una problemática social.docx.pdfFormato de práctica reflexiva ante una problemática social.docx.pdf
Formato de práctica reflexiva ante una problemática social.docx.pdf
 
Algoritmos Paralelos - Actividad 14 - UNIBE.pdf
Algoritmos Paralelos - Actividad 14 - UNIBE.pdfAlgoritmos Paralelos - Actividad 14 - UNIBE.pdf
Algoritmos Paralelos - Actividad 14 - UNIBE.pdf
 
Simuladores de circuitos electrónicos.pdf
Simuladores de circuitos electrónicos.pdfSimuladores de circuitos electrónicos.pdf
Simuladores de circuitos electrónicos.pdf
 
Diseño de Algoritmos Paralelos. Mejorando la eficiencia computacional aprovec...
Diseño de Algoritmos Paralelos. Mejorando la eficiencia computacional aprovec...Diseño de Algoritmos Paralelos. Mejorando la eficiencia computacional aprovec...
Diseño de Algoritmos Paralelos. Mejorando la eficiencia computacional aprovec...
 
Los mejores simuladores electrónicos que se pueden utilizar
Los mejores simuladores electrónicos que se pueden utilizarLos mejores simuladores electrónicos que se pueden utilizar
Los mejores simuladores electrónicos que se pueden utilizar
 
Herramientas de Mantenimiento_Soporte Técnico_David Andrade.pdf
Herramientas de Mantenimiento_Soporte Técnico_David Andrade.pdfHerramientas de Mantenimiento_Soporte Técnico_David Andrade.pdf
Herramientas de Mantenimiento_Soporte Técnico_David Andrade.pdf
 
02 - RUP_Introduccion_Definicion.pdf
02 - RUP_Introduccion_Definicion.pdf02 - RUP_Introduccion_Definicion.pdf
02 - RUP_Introduccion_Definicion.pdf
 
Virus -Josue Cabascango _20240322_194349_0000.pdf
Virus -Josue Cabascango _20240322_194349_0000.pdfVirus -Josue Cabascango _20240322_194349_0000.pdf
Virus -Josue Cabascango _20240322_194349_0000.pdf
 
03 - RUP_Elaboracion_Construccion_1_2024.pdf
03 - RUP_Elaboracion_Construccion_1_2024.pdf03 - RUP_Elaboracion_Construccion_1_2024.pdf
03 - RUP_Elaboracion_Construccion_1_2024.pdf
 

Funciones satlin y satlins

  • 1. Funciones de Transferencia Satlin y Satlins Aplicadas para Reconocimiento de D´ıgitos a Trav´es de Matlab Sairy Chamba1, Juan Pinz´on2, Tutor: Henry Paz3 1Carrera de Ingenier´ıa en Sistemas, Universidad Nacional de Loja, Loja, Ecuador fsfchambaj, jgpinzong, hpaz@unlg@unl.edu.ec Abstract: In this paper is explained the Satlin and Satlins Transfer functions, through the aplication of this in matlab. It also gives a brief explanation on Hopfield neural networks which use the transfer function satlins default, as well as an example of recognition of digits in matlab will be done using the same. Key words: Neural Network, Satlin, Satlins, Hop-field Network. Resumen: En este documento se explica, las fun-ciones de transferencia: satlin y satlins, a trav´es de la aplicaci´on de las mismas en matlab. Tambi´en se da una breve explicaci´on sobre las redes neuronales de hopfield las cuales usan la funcion de transferencia satlins de manera predeterminada, asi como tambien se har´a un ejemplo de reconocimiento de digitos en matlab usando las mismas. Palabras Clave: Red Neuronal, Satlin, Satlins, Red de Hopfield. 1 INTRODUCCIO´ N El presente art´ıculo t´ecnico tiene la siguiente estruc-tura: estado del arte, resultados y conclusiones. El estado del arte se define en las 5 primeras sec-ciones: Secci´on1: Neurona biol´ogica y artificial, describe la estructura neuronal. Secci´on2: Funciones de activaci´on o trasnferen-cia, se realiza una comparaci´on de las funciones de activaci´on m´as utilizadas. Secci´on3: Funciones satlin y satlins, describe la aplicaci´on de estas funciones. Secci´on4: Redes neuronales de hopfield, describe la arquitectura de una red de hopfield. Secci´on5: Dise˜no de una red de Hopfield, de-scribe el dise˜no de la red de hopfield. Resultados del ejercicio pr´actico: Secci´on 7: Reconocimiento de D´ıgitos impares con Hopfield, se presenta la soluci´on en matlab y resultados obtenidos. Secci´on 8: Conclusiones. 2 NEURONA BIOLO´ GICA Y ARTIFICIAL Desde el punto de vista estructural, la mayor parte de las neuronas consisten en un cuerpo celular, que pre-senta una serie de ramificaciones denominadas den-dritas y una ramificaci´on m´as larga que se denomina ax´on (Figura 1). El ax´on transporta la se˜nal de sal-ida de la neurona hacia otras neuronas. Por otro lado, las entradas le llegan a trav´es de las dendritas, proce-dentes de los axones de otras c´elulas. Las conexiones existentes entre el ax´on de una neurona y la dendrita de otra se denominan sinapsis (M. Galipienso and Or-tega, 2003). Figure 1: Similitud entre neuronas biol´ogicas y artificiales (M. Galipienso and Ortega, 2003) En En 1943 McCulloch and Pitts presentaron un mod-elo abstracto y simple de una neurona artificial. El modelo est´a compuesto por un vector de pesos w = (w1; :::;wd) equivalente a las conexiones sin´apticas en una neurona real, w0 es el umbral de acci´on o acti-vaci ´on, el vector x es la entrada, y el escalar y la sal-
  • 2. ida de la unidad. La actividad consiste en generar una ´unica salida y a partir de la aplicaci´on de la funci´on de activaci´on f a la suma ponderada entre el vec-tor de entrada x = (x1; :::;xm) y el vector de pesos w = (w1; ::;wd), m´as un sesgo w0, obteni´endose la siguiente expresi´on (McCulloch and Pitts, 1943) : y = f ( må i=1 wixi+w0) La funci´on de activaci´on f debe elegirse tomando en cuenta el problema que la neurona deber´a resolver. 3 FUNCIONES DE ACTIVACIO´ N O TRANSFERENCIA Una neurona artificial tiene diferentes estados de ac-tivaci ´on, que pueden ir desde 2 estados (al igual que una neurona biol´ogica) hasta varios estados compren-didos en un rango determinado. La funci´on de acti-vaci ´on calcula el estado de actividad de una neurona, transformando la entrada global (a excepci´on del um-bral) en un valor de activaci´on, cuyo rango general-mente va de 0 a 1 , o de -1 a 1. Estos valores indican que una neurona puede estar totalmente inactiva (0 o 1), o activa (1) (Matich, 2001). Existen diversos tipos de funciones de transferencia, entre estos tenemos (Buitrago and Mu˜noz, 2000): Funci´on de Tranferencia Escal´on Funci´on de Tranferencia Lineal Funci´on de Tranferencia No lineal Funci´on de Tranferencia de Saturaci´on Funci´on de Tranferencia Competitiva 4 FUNCIONES SATLIN Y SATLINS Son funciones de transferencia de Satruraci´on, y se caracterizan porque saturan cualquier valor por encima o debajo de los l´ımites. El l´ımite de saturaci´on para Satlin es 0,1 y para Satlins es o -1,1 (ESCOM, 2009). 4.1 SATLIN Se caracteriza porque la entrada a la funci´on de trans-ferencia es del tipo real, y la salida es real y lin-eal pero limitada al intervalo de 0 a 1. Es decir, se satura cualquier valor por encima o debajo de los l´ımites(ESCOM, 2009). Figure 2: Funcion SATLIN (ESCOM, 2009) En matlab la sintaxis de la funcion satlin es la sigu-iente: A = satlin(N,FP) Donde N es una matriz de dimensiones SxQ de entradas de red. FP Parametros de funcion que pueden ser opcionales o ignorados 4.1.1 Ejemplo El c´odigo para crear un plot de la funci´on satlin en matlab es: n = -5:0.1:5; a = satlin(n); plot(n,a) El Algoritmo que sigue la funcion satlin es el siguiente: a = satlin(n) = 0; i f n = 0 (1) n; i f 0 = n = 1 (2) 1; i f 1 = n (3) 4.2 SATLINS SATLINS Es una Funci´on de Trasferencia Lineal de Saturaci´on Sim´etrica que excita a la red, la cual regresa los valores de entrada reales para entradas que existen entre –1 y +1. M´as all´a de estas regiones los valores de entrada se saturan a sus m´ınimos y m´aximos valores (-1 y +1) (ESCOM, 2009). Como se puede observar en la siguiente gr´afica. a = satlins (n) a = satlins (w*p+b) Donde: n es el vector de entrada. w son los pesos. b es el bias. a es el vector de salida. 2
  • 3. Figure 3: Funcion SATLINS (ESCOM, 2009) En matlab la sintaxis de la funcion SATLINS es la siguiente: A = satlins(N,FP) Donde: N es la matriz S x Q de entradas de la red FP Parametro de funcion (opcionales, pueden ser ignorados) y devuelve A, una matriz S x Q de elementos de N entre [-1, 1]. 4.2.1 Ejemplo El codigo para crear un plot de la funci´on de transfer-encia satlins en matlab es: n = -5:0.1:5; a = satlins(n); plot(n,a) El algoritmo que sigue la funci´on satlins es el siguiente: satlins(n) = 1; i f n = 1 (4) n; i f 1 = n = 1 (5) 1; i f 1 = n (6) Se puede crear una red estandar que use satlins uti-lizando el comando newhop que crea una red neuronal de hopfield. 5 REDES NEURONALES DE HOPFIELD La red de hopfield es de tipo recurrente y completa-mente iterconectada, pues la salida de dicha red es din´amica, lo que indica que despu´es de aplicar una nueva entrada, la salida es calculada y realimentada para modificar la entrada. Esta recurrencia asegura la estabilidad haciendo que sucesivas iteraciones, produzcan cambios de salida cada vez m´as peque˜nas, hasta lograr que las salidas sean constantes (Bonifa-cio, 2007). La red de Hopfield utiliza la funci´on de transferencia lineal de saturaci´on sim´etrica (Satlins). Para las entradas menores a -1 satlins produce -1. Para las entradas en el rango de -1 a +1 simplemente devuelve el valor de entrada. Para entradas superiores a 1 produce 1. A continuaci´on se presenta la arquitectura de la red (Demuth and Hagan, 2008): Figure 4: Arquitectura de una red Hopfield (Demuth and Hagan, 2008) El dise˜no de una red Hopfield en matlab se ejecuta de la siguiente manera: net=newhop(T); donde T es una matriz de vectores que representa un conjunto de puntos de equilibrio. A continuaci´on, se asegura de que la red est´e dise˜nada en los puntos de equilibrio. Debido a que las redes de Hopfield no tienen entradas el segundo argumento de la red es una matriz de celdas vac´ıas, cuyas columnas indican el n´umero de pasos de tiempo. Ai = fTg; [Y,Pf,Af] = net(cell(1,2),fg,Ai); Yf2g 3
  • 4. 6 DISEN˜ O DE UNA RED DE HOPFIELD El objetivo aqu´ı es el dise˜no de una red que almacena un conjunto espec´ıfico de puntos de equilibrio de tal manera que, cuando se proporciona una condici´on ini-cial, la red con el tiempo se detiene en un punto del dise˜no. La red es recursiva en el sentido que la sal-ida realimenta a la entrada, una vez que la red est´a en funcionamiento. Con suerte, la salida de la red se instalar´a en uno de los puntos de dise˜no originales. El m´etodo de dise˜no presentado no es perfecto porque la red dise˜nada puede tener puntos de equilibrio falsos no deseados adem´as de los deseados. Sin embargo, el n´umero de estos puntos no deseados se hace tan peque˜no como sea posible por el m´etodo de dise˜no. Adem´as, el dominio de atracci´on de los puntos de equilibrio dise˜nados es tan grande como sea posible. El m´etodo de dise˜no se basa en un sistema de primer orden de ecuaciones diferenciales ordinarias lineales que se definen en un hipercubo cerrado del espacio de estado. Las soluciones existen en el l´ımite del hiper-cubo. Estos sistemas tienen la estructura b´asica del modelo de Hopfield, pero son m´as f´aciles de enten-der y dise˜nar que el modelo de Hopfield(Demuth and Hagan, 2008). 6.1 Dise˜no(Newhop) Dado un conjunto de puntos de equilibrio destino rep-resentados como una matriz T de vectores, newhop devuelve pesos y umbrales para una red recursiva. La red est´a garantizada para tener puntos de equilibrio estable en los vectores objetivo, pero podr´ıa contener otros puntos de equilibrio falsos tambi´en. El n´umero de estos puntos no deseados se hace tan peque˜no como sea posible por el m´etodo de dise˜no(Demuth and Hagan, 2008). Se considera el siguiente ejemplo de dise˜no. Suponga que desea dise˜nar una red con dos puntos estables en un espacio tridimensional. T = [-1 -1 1; 1 -1 1]’ T = -1 1 -1 -1 1 1 Se puede ejecutar el dise˜no con: net = newhop (T); A continuaci´on, debemos asegurarnos de que la red dise˜nada esta en esos dos puntos, de la siguiente manera. Debido a que las redes de Hopfield no tienen entradas, el segundo argumento de la red es un arreglo de celdas vac´ıo cuyas columnas indican el n´umero de incrementos de tiempo. Ai = fTg; [Y,Pf,Af] = net(cell(1,2),fg,Ai); Yf2g Esto da como resultado -1 1 -1 -1 1 1 As´ı, la red de hecho ha sido dise˜nada para ser estable en sus puntos de dise˜no. A continuaci´on, puede intentar otra condici´on de entrada que no es un punto de dise˜no, tal como: Ai = [-0,9; -0.8; 0,7]; Los puntos estan razonablemente cerca del primer punto de dise˜no, por lo que se podr´ıa anticipar que la red ser´ıa convergente a ese primer punto. Para ver si esto ocurre, ejecute el siguiente c´odigo. [Y, Pf, Af] = net (celda (1,5), fg, Ai); Y fendg esto da como resultado -1 -1 1 Por lo tanto, una condici´on original cerca de un punto de dise˜no hizo converger a ese punto. Esto es, por supuesto, el deseo para todas esas entradas. Desafortunadamente, incluso los dise˜nos m´as conocidos de Hopfield ocasionalmente incluyen puntos estables falso no deseados que atraen la soluci´on. 7 RECONOCIMIENTO DE D´IGITOS IMPARES CON HOPFIELD Problema: Se necesita identificar los primeros cinco d´ıgitos impares (1,3,5,7). Para respresentar cada d´ıgito es necesario establecerlos dentro de un arreglo de tama˜no 10*7. Se dar´a el valor -1 para las celdas de color negro , y 4
  • 5. Figure 5: Primeros cinco d´ıgitos impares Arreglos de 10*7 el valor 1 para las celdas de color blanco. Cada ar-reglo de 10*7 deber´a luego transformarse a un vector de 70*1. Los vectores de nuevas dimensiones se de-nominar ´an como: DI1, DI2, DI3, DI4, DI5, respecti-vamente. 7.1 RESULTADOS Soluci´on en Matlab: Para el reconocimiento de los cinco vectores se aplicar´a una red Hopfield. Primeramente obtenemos los arreglos iniciales de dimensiones 10*7, los cuales est´an denominados como: D1, D2, D3, D4 y D5. La representaci´on del primer arreglo se muestra a continuaci´on: D1= [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] Transformamos los arreglos de 10*7 a vectores de 70*1: DI1=reshape(D1’,70,1); DI2=reshape(D2’,70,1); DI3=reshape(D3’,70,1); DI4=reshape(D4’,70,1); DI5=reshape(D5’,70,1); D = [ DI1 DI2 DI3 DI4 DI5 ]; net = newhop( D ); net.lw A continuaci´on verificamos el reconocimiento de los vectores DI2 y DI4. nVect = 1; %verificando el segundo d´ıgito D2r = sim( net , nVect , [] , DI2 ) ; any( DI2 - D2r ) % vectores iguales nVeces = 100; Alteramos el cuarto d´ıgito para simular la presencia de ruido: D4ruido= [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1] DI4ruido=reshape(D4ruido’,70,1); DI4ruido = DI4ruido ; Para corregir el vector ruidoso hacemos uso de la red hopfield: Y = sim( net , f nVect nVeces g , f g , DI4ruido ) ; Y 100 % muestra la ´ultima simulaci´on any( DI4 - Y ) Se reconoce correctamente el segundo d´ıgito impar, y esto se verifica con el comando any(DI2D2r), este devuelve un valor 0, que indica que se ha alcando el punto de quilibrio deseado. ans= 0 El vector ruidoso es entrenado hasta alcanzar el punto de equilibrio con respecto al cuarto d´ıgito impar.Los valores son arrojados en forma de un vector 70*1. ans= (vector 70*1) El codigo del ejemplo realizado se encuentra alojado en un repositorio github la direccion del mismo es: https://github.com/pinzon1992/ SATLINSMATLAB, y para clonarlo en git el en-lace es: https://github.com/pinzon1992/ SATLINSMATLAB.git 8 CONCLUSIONES La sintaxis newhop(T) en matlab, utiliza la funci´on de transferencia satlins y devuelve una nueva red neuronal recurrente Hopfield con pun-tos estables en el vector T. En el ejemplo de reconocimiento de d´ıgitos im-pares, una vez que finaliza la etapa de aprendizaje, 5
  • 6. la red proporciona una salida correcta para cada patr´on de entrada dado, incluso si el vector es rui-doso. La red de Hopfield utiliza por defecto la funci´on de transferencia Satlins ya que esta necesita sat-urarse para obtener los puntos de equilibrio de la misma y llegar al estado deseado. REFERENCIAS Bonifacio, M. (2007). Redes neuronales y Sistemas Bor-rosos. Alfa y Omega., 2da edici´on edition. Buitrago, M. and Mu˜noz, C. (2000). Tutorial sobre re-des neuronales aplicadas en ingenier´ıa el´ectrica y su implementaci´on en un sitio web. Universidad Tec-nol ´ogica de Pereira. Demuth, H. and Hagan, M. (2008). Neural network toolboxTM 6. User’s guide. ESCOM (2009). Funciones de matlab en redes hopfield. escuela superior de c´omputo. mexico. M. Galipienso, M. Q. and Ortega, M. (2003). Inteligen-cia artificial: modelos, t´ecnicas y ´areas de aplicaci´on. Editorial Paraninfo. Matich, D. (2001). Redes Neuronales: Conceptos B´asicos y Aplicaciones. C´atedra de Inform´atica Aplicada a la Ingenier´ıa de Procesos–Orientaci´on I. McCulloch, W. and Pitts, W. (1943). A logical calculus of ideas immanent in nervous activity.bulletin of mathe-matical biophysics. BIOGRAF´IA Sairy Chamba profes-sional training for Engineering degree in Systems Engineering from Universidad Nacional de Loja, Loja, Ecuador in 2014. Juan Pinz´on professional training for Engineering degree in Sys-tems Engineering from Universidad Na-cional de Loja, Loja, Ecuador in 2014. 6