SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
1 
REDES NEURONALES ARTIFICIALES: 
Aplicaci´on de la funci´on Hardlim para la 
clasificaci´on de carros y la funci´on Hardlims para la 
determinaci´on de los movimientos de un robot 
ARTIFICIAL NEURAL NETWORKS: Application 
of the Hardlim function for the classification of 
vehicles and the Hardlims function determining the 
movements of a robot 
K. Barrionuevo and S. Pati˜no. 
Tutor: H.Paz. 
Resumen: El presente art´ıculo propone el uso de redes 
neuronales artificiales para dar soluci´on a problemas 
linealmente separables como la clasificaci´on de carros y la 
determinaci´on de los movimientos de un robot, utilizando las 
funciones de transferencia Hardlim y Hardlims. La simulaci´on 
de las redes neuronales artificiales que se proponen para dar 
soluci´on a los problemas antes mencionados se encuentran 
desarrollados en el entorno Matlab. 
Palabras clave: Neuronas artificiales, funci´on de transici´on, 
entrenamiento/aprendizaje, problemas lineales. 
Abstract—The paper present proposes the use of artificial 
neural networks for solving linearly separable problems as 
the classification of cars and determining the movements of a 
robot, using the transfer functions Hardlim and Hardlims.The 
simulation of the artificial neural networks proposed to solve the 
aforementioned problems are developed in the Matlab environ-ment. 
Index Terms—Artificial neurons, transition function , workout/ 
learning,linear problems. 
I. INTRODUCCI´O 
N 
Con el transcurso de los a˜nos el hombre se ha caracterizado 
siempre por su b´usqueda constante de nuevas v´ıas para 
mejorar sus condiciones de vida. Estos esfuerzos le han 
servido para reducir trabajos en operaciones donde la fuerza 
y la capacidad juegan un papel principal. Los progresos 
K. Barrionuevo, Universidad Nacional de Loja, Loja, Ecuador, E-mail: 
ykbarrionuevo@unl.edu.ec 
S. Pati˜no, Universidad Nacional de Loja, Loja, Ecuador, E-mail: 
slpatinor@unl.edu.ec 
H. Paz, Universidad Nacional de Loja, Loja, Ecuador, E-mail: 
hpaz@unl.edu.ec 
obtenidos han permitido direccionar estos esfuerzos en 
muchos campos, como por ejemplo la inteligencia artificial 
en la cual esta inmersa redes neuronales artificiales. 
La importancia que se le ha dado a las redes neuronales 
es porque con estas es capaz de emular ciertas caracter´ısticas 
propios del ser humano, como capacidad de memorizar 
y asociar hechos. En s´ı problemas que no son resueltos 
a trav´es de un algoritmo, sino con la experiencia que se 
tiene, por lo cual se dice que la soluci´on a estos problemas 
es la construcci´on de sistemas capaces de reproducir esta 
caracter´ıstica humana. 
En conclusi´on, las redes neuronales no son m´as que 
un modelo artificial y simplificado del cerebro humano, 
siendo este un ejemplo para un sistema capaz de adquirir 
conocimiento mediante la experiencia. Una red neuronal es 
un nuevo sistema para el tratamiento de informaci´on, donde 
la unidad b´asica de procesamiento es la neurona. 
Tambi´en sabemos que el ser humano es capaz de aprender, 
es decir que aquellos problemas que al principio no se 
puede dar una soluci´on, pueden resolverse despu´es de 
obtener informaci´on acerca del problema, por lo tanto cuando 
de desarrollo una red para resolver dicho problema, se 
une ejemplares que ser´an utilizados durante esta fase de 
entrenamiento o aprendizaje, para lo cual se da valores a los 
pesos de las conexiones entre las neuronas. 
La organizaci´on del art´ıculo es la siguiente: 
La Secci´on II (ESTADO DEL ARTE) se documenta 
los conceptos acerca de la neurona artificial, red neuronal 
artificial y del perceptr`on.
2 
La Secci´on III (CASO DE ESTUDIO) se muestra el caso 
de estudio 1 que trata de la clasificaci´on de carros y el caso 
de estudio 2 que trata de la determinaci´on de movimientos 
de un robot; adem´as se dan los lineamientos necesarios de 
ambos casos de estudio. 
La Secci´on IV (RESULTADOS) se puede encontrar los 
resultados obtenidos del caso de estudio 1 y el caso de 
estudio 2. 
La Secci´on V (CONCLUSIONES) se pueden encontrar las 
conclusiones generadas apartir de la informaci´on recopilada 
en el presente art´ıculo. 
La Secci´on VI (RECOMENDACIONES) se puede 
encontrar las recomendaciones que realizaron en base a la 
experimentaci´on del estudio efectuado. 
La Secci´on VII (TRABAJOS FUTUROS) se puede 
encontrar las futuros trabajos que se pueden realizar a partir 
del estudio planteado. 
II. ESTADO DEL ARTE 
A. LA NEURONA ARTIFICIAL 
El modelo de una neurona artificial es una imitaci´on del 
proceso de una neurona biol´ogica. puede tambi´en asemejarse 
a un sumador hecho con un amplificador operacional tal como 
se ve en la Fig. 1. 
Fig. 1. Amplificador operacional 
Existen varias formas de nombrar una neurona artificial, es 
conocida como nodo, neuronodo, celda, unidad o elemento 
de procesamiento (PE). En la Fig. 2 se observa un PE en 
forma general y su similitud con una neurona biol´ogica [1]: 
Fig. 2. Neurona artificial y Neurona biol´ogica 
De la observaci´on detallada del proceso biol´ogico se han 
hallado los siguientes an´alogos con el sistema artificial: 
 Las entradas Xi representan las se˜nales que provienen de 
otras neuronas y que son capturadas por las dendritas. 
 Los pesos Wi son la intensidad de la sin´apsis que conecta 
dos neuronas; tanto Xi como Wi son valores reales. 
  es la funci´on umbral que la neurona debe sobrepasar 
para activarse; este proceso ocurre biol´ogicamente en el 
cuerpo de la c´elula. 
Las se˜nales de entrada a una neurona artificial X1, X2,.., 
Xn son variables continuas en lugar de pulsos discretos, como 
se presentan en una neurona biol´ogica. Cada se˜nal de entrada 
pasa a trav´es de una ganancia o peso, llamado peso sin´aptico 
o fortaleza de la conexi´on cuya funci´on es an´aloga a la de la 
funci´on sin´aptica de la neurona biol´ogica. Los pesos pueden 
ser positivos (excitatorios), o negativos (inhibitorios), el nodo 
sumatorio acumula todas las se˜nales de entradas multiplicadas 
por los pesos o ponderadas y las pasa a la salida a trav´es de 
una funci´on umbral o funci´on de transferencia. La entrada neta 
a cada unidad puede escribirse como se muestra en la Fig. 3 
[1]: 
Fig. 3. Entrada neta 
Una idea clara de este proceso se muestra en la Fig. 4, en 
donde puede observarse el recorrido de un conjunto de se˜nales 
que entran a la red.
3 
Fig. 4. Proceso de trabajo de la red neuronal 
Una vez que se ha calculado la activaci´on del nodo, el valor 
de salida equivale a la Fig. 5; 
Fig. 5. Salida seg´un el calculo de la activaci´on del nodo 
Donde fi representa la funci´on de activaci´on para esa 
unidad, que corresponde a la funci´on escogida para transfor-mar 
la entrada neta i en el valor de salida xi y que depende 
de las caracter´ısticas espec´ıficas de cada red. [1] 
B. RED NEURONAL ARTIFICIAL 
Las RNA se definen como sistemas de mapeos no lineales 
cuya estructura se basa en principios observados en los 
sistemas nerviosos de humanos y animales. Constan de 
un n´umero grande de procesadores simples ligados por 
conexiones con pesos. Las unidades de procesamiento se 
denominan neuronas. Cada unidad recibe entradas de otros 
nodos y genera una salida simple escalar que depende de la 
informaci´on local disponible, guardada internamente o que 
llega a trav´es de las conexiones con pesos. Pueden realizarse 
muchas funciones complejas dependiendo de las conexiones 
[2]. 
Las neuronas artificiales simples fueron introducidas por 
McCulloch y Pitts en 1943. Una red neuronal se caracteriza 
por los siguientes elementos: 
1) Un conjunto de unidades de procesamiento o neuronas. 
2) Un estado de activaci´on para cada unidad, equivalente a 
la salida de la unidad. 
3) Conexiones entre las unidades, generalmente definidas 
por un peso que determina el efecto de una se˜nal de 
entrada en la unidad. 
4) Una regla de propagaci´on, que determina la entrada 
efectiva de una unidad a partir de las entradas externas. 
5) Una funci´on de activaci´on que actualiza el nuevo nivel 
de activaci´on bas´andose en la entrada efectiva y la 
activaci´on anterior. 
6) Una entrada externa que corresponde a un t´ermino 
determinado como bias para cada unidad. 
7) Un m´etodo para reunir la informaci´on, correspondiente 
a la regla del aprendizaje. 
8) Un ambiente en el que el sistema va a operar, con se˜nales 
de entrada e incluso se˜nales de error. 
En muchas redes las unidades de proceso tienen la respuesta 
como se muestra en la Fig. 6: 
Fig. 6. Ecuaci´on de respuesta del proceso redes artificiales 
Donde: 
 xk : se˜nales de salida de otros nodos o entradas externas. 
 !k : pesos de las ligas de conexi´on. 
 f() : funci´on no lineal simple. 
La funci´on f puede ser sigmoidal, tangente hiperb´olica, 
escal´on, entre otras. En MATLAB se tiene diferentes funciones 
de activaci´on como tansig, hardlim y purelin, entre otras, lo 
cual facilita las aproximaciones que se requieran hacer, emple-ando 
RNA. Cada unidad de proceso tiene una tarea simple: 
recibe la entrada de otras unidades o de fuentes externas y 
procesa la informaci´on para obtener una salida que se propaga 
a otras unidades. Una red puede tener una estructura arbitraria, 
pero las capas que contienen estas estructuras est´an definidas 
de acuerdo con su ubicaci´on en la topolog´ıa de la red neuronal. 
Las entradas externas son aplicadas en la primera capa, y las 
salidas se consideran la ´ultima capa. Las capas internas que 
no se observan como entradas o salidas se denominan capas 
ocultas. Por convenci´on, las entradas no se consideran como 
capa porque no realizan procesamiento. 
La entrada total u de una unidad k es la suma de los pesos de 
las entradas conectadas, m´as un bias , la ecuaci´on se muestra 
en la Fig. 7: 
Fig. 7. Ecuaci´on: Entrada total de una unidad. 
Si el peso !j es positivo se habla de una excitaci´on y si 
el peso es negativo se considera una inhibici´on de la entrada. 
Si consideramos a las entradas como funciones del tiempo, la 
expresi´on anterior se convierte en la ecuaci´on mostrada en la 
Fig. 8: 
Fig. 8. Ecuaci´on: Entrada total de una unidad en funci´on del tiempo.
4 
C. PERCEPTRON 
En los a˜nos 50 se dio la aparici´on del modelo Perceptron, 
inventado por el psic´ologo Frank Rosemblatt. Este modelo 
se concibi´o como un sistema capaz de realizar tareas de 
clasificaci´on de forma autom´atica. El prop´osito era tener 
un sistema que, mediante un conjunto de ejemplos de 
clases diferentes, fuera capaz de determinar ecuaciones de 
las superficies que hac´ıan referencia a dichas clases. La 
informaci´on en la cual se basaba el sistema era mediante las 
clases, a esto se lo conoce como patrones, estos patrones 
eran quienes aportan la informaci´on necesaria para que el 
sistema construyera la superficies y adem´as funcionar´a como 
un discriminador para nuevas clases. 
En si el objetivo principal era aprender, usando parte de la 
informaci´on, de tal modo que siempre que se un patr´on de 
entrada p la salida sea la salida deseada, oses t. 
1) Estructura de la red: 
La arquitectura de la red es muy simple. Se trata de 
una estructura monocapa, en la que hay un conjunto 
de entradas, y una o varias salidas. Cada entrada tiene 
conexi´on con las salidas, y estas conexiones determinan 
la superficie de discriminaci´on del sistema [3]. 
En el ejemplo de la Fig. 9 puede emplearse dos fun-ciones 
de transferencia; hardlim con salidas 0 y 1 o 
hardlims con salidas -1 y 1; su uso depende del valor de 
salida que se espera para la red; sin embargo, la funci´on 
hardlims es preferida sobre la hardlim, ya que en esta 
´ultima al tener un cero multiplicando algunos de los 
valores resultantes del producto de las entradas por el 
vector de pesos, ocasiona que estos no se actualicen y 
que el aprendizaje sea m´as lento. 
Fig. 9. Estructura de la red. 
2) Funciones de transferencia: 
Un modelo m´as acad´emico que facilita el estudio de 
una neurona, puede visualizarse en la Fig. 10: Las 
entradas a la red ser´an ahora presentadas en el vector 
p, que para el caso de una sola neurona contiene 
solo un elemento, w sigue representando los pesos y 
Fig. 10. Funci´on de transferencia 
la nueva entrada b es una ganancia que refuerza la 
salida del sumador n, la cual es la salida neta de la 
red; la salida total est´a determinada por la funci´on de 
transferencia , la cual puede ser una funci´on lineal o 
no lineal de n, y que es escogida dependiendo de las 
especificaciones del problema que la neurona tenga 
que resolver; aunque las RNA se inspiren en modelos 
biol´ogicos no existe ninguna limitaci´on para realizar 
modificaciones en las funciones de salida, as´ı que se 
encontrar´an modelos artificiales que nada tienen que 
ver con las caracter´ısticas del sistema biol´ogico [1]. 
 Limitador fuerte (Hardlim): la Fig. 11 muestra 
como esta funci´on de transferencia acerca la salida 
de la red a cero, si el argumento de la funci´on es 
menor que cero y la lleva a uno si este argumento 
es mayor que uno. Esta funci´on crea neuronas que 
clasifican las entradas en dos categor´ıas diferentes, 
caracter´ıstica que le permite ser empleada en la red 
tipo Perceptr´on[1]. 
Fig. 11. Funci´on de transferencia: Hardlim 
El ´ıcono para la funci´on Hardlim reemplazara a la 
letra f en la expresi´on general, cuando se utilice la 
funci´on Hardlim. 
 Limitador Fuerte Sim´etrico (Hardlims): Es una 
modificaci´on de la funci´on Hardlim, como puede 
verse en la Fig. 12, la que representa la funci´on de
5 
transferencia Hardlims que restringe el espacio de 
salida a valores entre 1 y –1 [1]. 
Fig. 12. Funci´on de transferencia: Hardlims 
3) Funciones de entrenamiento: 
La funci´on de entrenamiento de la red de retropropa-gaci 
´on BTF utilizada traingdx, es la funci´on de retro-propagaci 
´on de gradiente descendente con momento y 
con constante de aprendizaje adaptativa. Adem´as otra 
funciones son [4]: 
 Trainlm: funci´on de retropropagaci´on que actualiza 
los valores de peso y sesgo de acuerdo con la 
optimizaci´on levenberg-marquardt. 
 Traingd: funci´on de retropropagaci´on, actualiza los 
valores de peso y sesgo seg´un gradiente descen-dente. 
 Trainfg: funci´on de retropropagaci´on causi-Newton 
BFGS. 
 Trainbr: funci´on de regularizaci´on bayesiana. 
 Trainwb: funci´on de entrenamiento por pesos y 
umbrales de red. 
4) Funciones de aprendizaje: 
La funci´on de aprendizaje de pesos/umbrales de propa-gaci 
´on BLF utilizada es learngdm, Es decir, la funci´on 
de aprendizaje de gradiente descendente con momento 
y pesos en umbrales. Pero tambi´en hay otras funciones 
[4]: 
 Learcon: funci´on de aprendizaje de conciencia de 
umbrales. 
 Learngd: funci´on de aprendizaje de gradiente de-scendente 
con pesos en umbrales. 
 Learnp: funci´on de aprendizaje del perceptron con 
pesos umbrales. 
 Learnpn: funci´on de aprendizaje normalizado con 
pesos umbrales. 
 Learnwh: funci´on de aprendizaje de windrow-hoff 
con pesos en umbrales. 
III. CASO DE ESTUDIO 
A. CASO DE ESTUDIO 1 
Mediante la funci´on de activaci´on hardlim se pretende 
solucionar el siguiente problema: Una compa˜n´ıa de carros 
tienes la actividad de clasificar los carros que se encuentran 
es esta, para llevar un control detallado sobre su producto. 
Para ello cada carro deber pasar por un conjunto de sensores 
que detecten las siguientes caracter´ısticas: n´umero de ejes, 
capacidad y tama˜no. 
El sensor contador de ejes sacar´a 0 si el carro tiene 1 y 2 ejes, 
1 si 3,4 o 5 ejes. El sensor de la capacidad arrogara 0 si la 
capacidad es para pocos tripulantes y 1 si es para varios. El 
sensor de tama˜no sacar´a 0 si es peque˜no y 1 si es grande. Para 
ello se muestra la Fig. 13 las caracter´ısticas a evaluar. 
Fig. 13. Caracter´ısticas: sensores 
n = Wp+b 
a = hardlim(n) 
En la Fig. 14 se muestra los valores de las entradas de la 
neurona. 
Fig. 14. Entradas de la neurona 
B. CASO DE ESTUDIO 2 
Mediante la funci´on de activaci´on hardlims se pretende 
solucionar el siguiente problema:Se requiere que un robot se 
movilice en un entorno con obst´aculos sin impactarse con 
alguno de estos. Para ello dicho robot cuenta con cuatro 
sensores de proximidad de obst´aculos, cada uno en distintas 
ubicaciones (norte, sur , este, oeste) que permanentemente 
detectan si hay obst´aculos cercanos en cualquiera de las 
direcciones que eviten su movilizaci´on; adem´as el robot tiene 
dos motores que comandan el movimiento de sus ruedas 
laterales. 
Los sensores S1, S2, S3 y S4, son los que deben detectar 
la proximidad de un obst´aculos, adoptando el valor 1 ante la 
presencia del obst´aculo o el valor -1 ante la no cercan´ıa del 
obst´aculo. Los motores (M1, M2) adquieren un par ordenado 
de valores que va a determinar el movimiento a efectuar, estos 
valores pueden ser: 
 (-1 -1) Desplazamiento del robot hacia atr´as
6 
 (-1 1) Desplazamiento del robot hacia la izquierda 
 (1 -1) Desplazamiento del robot hacia la derecha 
 (1 1) Desplazamiento del robot hacia delante 
El primer elemento del par ordenado de valores es otorgado 
a el Motor1 de acuerdo a el resultado del S1 y el S2, mientras 
el el segundo elemento del par ordenado es otorgado al Motor2 
de acuerdo al resultado del S3 y S4. 
IV. RESULTADOS 
A. RESULTADOS CASO DE ESTUDIO 1 
De acuerdo al problema a solucionar se ha utilizado el 
modelo perceptr´on ya que es un problema simple, pudiendo ser 
entrenada con patrones de cualesquier dimensi´on en la entrada 
y proporcionando la salida en datos binarios. El modelo de 
perceptr´on que se propone tiene una capa de entrada y una 
capa de salida, cuya arquitectura se puede observar en la Fig. 
15: 
Fig. 15. Arquitectura de la red neuronal-Caso estudio 1 
La red est´a estructurada por 8 patrones, mismos que se 
muestran en la tabla I, dependiendo de los resultados que env´ıa 
los sensores se conocer´a el tipo de veh´ıculo. 
Num. Ejes Capacidad Tama˜no Salida 
1 0 0 0 
2 0 1 0 
3 1 0 1 
4 1 1 1 
5 0 0 1 
2 0 1 0 
3 1 0 1 
5 1 1 1 
TABLE I 
MATRIZ DE ENTRADA-CASO DE ESTUDO 1 
Los estados de lectura de los sensores en el caso de el 
n´umero de ejes se trabajo con n´umeros de entre [1,5] y de 
operaci´on de la clasificadora est´an designados con 0 y 1, y 
seg´un la salida del problema a resolver es conveniente trabajar 
con la funci´on de transferencia hardlim. 
Para qu´e existe la clasificaci´on de los carros se ha planteado 
2 matrices; matriz SC(contiene los datos de los sensores), y la 
matriz TC(salidas esperadas seg´un los datos de los sensores). 
Con los datos necesarios, se cre´o un Programa en MATLAB 
tipo Script, llamado “ClasificacionCarro”, cuyo c´odigo se 
transcribe a modo de ilustraci´on: 
%Clasificaci´on tipo de carro 
%Las variables a utilizarse para el entrenamiento son: 
%Entradas en los sensores est´an en la matriz SC 
% Ejes: 1y2=peque˜no, ¿3=grande 
%SC= Capacidad: 0=pocos, 1=muchos 
% Tama˜no: 0= peque˜no, 1=grande 
clc 
clear 
SC=[1 2 3 4 5 2 3 5;0 0 1 1 0 0 1 1; 0 1 0 1 0 1 0 1]; 
%Las salidas est´an en la matriz TC: 
TC=[0 0 1 1 1 0 1 1]; 
%Mediante una gr´afica de presenta la ubicaci´on de los 
carros de acuerdo a los valores censados 
plotpv(SC,TC) 
%Se determina la variaci´on o rango que tendr´a el perceptr´on 
de acuerdo al valor de las entradas 
variaci´on=[1 5; 0 1; 0 1]; 
%Se crea una red tipo Perceptr´on con funci´on de transfer-encia 
hardlims, dos neuronas en la salida 
% Sintaxis 
% NET = NEWP(PR,S,TF,LF) , crea un perceptr´on donde: 
% PR - Rx2 matriz de valores m´aximos y m´ınimos para los 
R elementos de entrada. 
% S - N´umero de neuronas. 
% TF - Funci´on de transferencias, que por defecto 
es’‘hardlim’. 
% LF - Funci´on de aprendizaje, que por defecto es ‘learnp’. 
car=newp(variacion,1,’hardlim’); 
% Cantidad de Epocas 
car.trainParam.epochs=1000; 
%Intervalo de visualizaci´on de los resultados 
car.trainParam.show=5; 
%Aprendizaje de la red 
%Como par´ametros recibe la red, las entradas y las salidas 
car=train(car,SC,TC); 
%Simulaci´on de la red se almacena en una matriz control 
%Se verifica luego las salidas deseadas y se las compara con 
la simulaci´on: 
simulacion= sim(car,SC); 
simulacion 
SP 
La ejecuci´on de este c´odigo a trav´es de MATLAB, arroja 
como resultado la salida de la red para este patr´on de 
entrenamiento: 
TC = 0 0 1 1 1 0 1 1 
simulacion = 0 0 1 1 1 0 1 1 
Como se puede observar en los resultados de la ejecuci´on, 
existe la similitud de la salida “simulacion” con la matriz TC, 
es decir que la salida de la red es igual a la salida deseada 
del patr´on de entrenamiento; esto nos permite verificar que el 
perceptr´on aprendi´o correctamente el patr´on. 
Para la comprensi´on de la simulaci´on de la clasificaci´on de 
los carros se desarroll´o un peque˜no programa que se compone 
de dos archivos ClasificacionCarro.m y ClasificacionCarro.fig
7 
y se ha dise˜nado mediante el GUIDE de MATLAB [6]. 
En el cual se realizaron pruebas con otros valores 
de entrada, los resultados se muestran en la Fig. 16 a 
continuaci´on: 
Fig. 16. Ingreso de valor de sensores C.E1 
Las entradas de los sensores indican que el tipo de carro es 
un AUTO, debido a que el sensor NumEjes detecta n´umeros 
de 1 o 2, el sensor capacidad detecta valor de 0 o 1 y el 
sensor tama˜no detecta valores de 0 o 1, en este caso la salida 
ser´a 0, el cual indica que es un auto. 
Las entradas de los sensores indican que el tipo de 
carro es un CAMIO´ N, debido a que el sensor NumEjes 
detecta n´umeros de 3,4 o 5, el sensor capacidad detecta 
valor de 0 o 1 y el sensor tama˜no detecta valores de 0 o 
1, en este caso la salida ser´a 1, el cual indica que es un cami´on. 
Es importante destacar, que en el caso que los tres sensores 
env´ıan valor de 0(detectan que no existe ningun tipo de 
carro), la salida que me genera es un valor (0) el cual indica 
un carro de tipo AUTO,pero esto es incorrecto debido a que 
no deber´ıa generar ning´un tipo de clasificaci´on, por lo cual 
el modelo que se propone para dar soluci´on al problema del 
Caso de Estudio1 establece que debe haber algun carro para 
que exista clasificac´on. Para ello se enviamos un mensaje de 
NO HAY CARRO A CLASIFICAR cuando se reciba una 
valor de 0 en todos los sensores pero esto solo como salida 
did´actica; este caso se puede ver en la Fig. 17: 
Fig. 17. Error: si ingresa valores erroreos en los sensores C.E1 
B. RESULTADOS CASO DE ESTUDIO 2 
Este caso de estudio puede ser solucionada con una red 
de tipo Perceptr´on, ya que puede ser entrenada con patrones 
de cualquier dimensi´on en la entrada y en la salida con datos 
binarios, por la simplicidad del problema este tipo de red es la 
m´as adecuada. El modelo de perceptr´on que se propone tiene 
una capa de entrada y una capas de salida, cuya arquitectura 
se puede observar en la Fig. 18: 
Fig. 18. Arquitectura de la red neuronal-Caso estudio 2 
A la red se le presentaran 8 patrones los cuales se muestran 
en la tabla II, para los cuales dependiendo de las lecturas de los 
sensores se le dir´a al robot que hacer espec´ıficamente y luego 
se probar´a la red con otros casos restantes para comprobar la 
capacidad de generalizaci´on de la red neuronal ante un patr´on 
nunca antes visto 
S1 S2 S3 S4 M1 M2 
-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 
TABLE II 
MATRIZ DE ENTRADA-CASO DE ESTUDO 2
8 
Los estados de lecturas de los sensores y de operaci´on 
de los motores fueron designados con 1 y –1, puesto que 
para la convergencia del proceso de entrenamiento resulta m´as 
ventajosos propagar valores de 1 y –1 que de 1 y 0. 
Debido a la naturaleza de la salida y de la entrada de la 
red, la funci´on de transferencia apropiada es hardlims, la cual 
trabaja con valores bipolares. 
Para que el robot realice el movimiento indicado por los 
motores, se debe armar la matriz PS (que contiene los datos 
de los sensores), y la matriz M (las salidas esperada acuerdo 
a los datos de los sensores). 
Con todos estos datos necesarios, se cre´o un Programa 
en MATLAB tipo Script, llamado “MovimientosRobot”, cuyo 
c´odigo se transcribe a modo de ilustraci´on. 
% *********************** 
% MovimientosRobot 
% *********************** 
% Se definen las variables requeridas para el entrenamiento 
% Las entradas est´an dadas por el valor de los sensores son 
almacenados en la matriz SP 
% Sens1 
% Sens2 
% Sens3 
% Sens4 
SP=[ -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]; 
% Las salidas est´an almacenadas en la matriz que generan 
los motores 
% M1 
% M2 
M= [ 1 1 -1 1 -1 1 -1 1 ; 
1 1 -1 1 1 -1 1 1 ] ; 
%Se crea una red tipo Perceptr´on con funci´on de 
transferencia hardlims, dos neuronas en la salida 
% Sintaxis 
% NET=NEWP(PR,S,TF,LF) , crea un perceptr´on donde: 
% PR= Rx2 matriz de valores m´aximos y m´ınimos para los 
R elementos de entrada. 
% S=N´umero de neuronas. 
% TF=Funci´on de transferencias, que por defecto es’‘hardlim’. 
% LF=Funci´on de aprendizaje, que por defecto es ‘learnp’. 
% La funci´on de transferencia en nuestro caso es HARDLIMS. 
net=newp([-1 1;-1 1;-1 1;-1 1],2,’hardlims’); 
% Cantidad de Epocas 
net.trainParam.epochs=1000; 
%Intervalo de visualizaci´on de los resultados 
net.trainParam.show=5; 
%Aprendizaje de la red 
%Como par´ametros recibe la red, las entradas y las salidas 
net=train(net,SP,M); 
%Simulaci´on de la red se almacena en una matriz control 
%Se verifica luego las salidas deseadas y se las compara con 
la tabla “control”: 
control = sim(net,SP); 
control 
SP 
La ejecuci´on de este c´odigo a trav´es de MATLAB, arroja 
como resultado la salida de la red para este patr´on de entre-namiento: 
MovimientosRobot 
M = 
1 1 -1 1 -1 1 -1 1 1 1 -1 1 1 -1 1 1 
control = 
1 1 -1 1 -1 1 -1 1 1 1 -1 1 1 -1 1 1 
Como se puede observar en los resultados de la ejecuci´on, 
existe la similitud de la salida “control” con la matriz M, es 
decir que la salida de la red es igual a la salida deseada del 
patr´on de entrenamiento; esto nos permite verificar que el 
perceptr´on aprendi´o correctamente el patr´on. 
Para la comprensi´on de la simulaci´on de los movimientos 
de un robot se desarroll´o un peque˜no programa que se 
compone de dos archivos InterfazRobot.m y InterfazRobot.fig 
y se ha dise˜nado mediante el GUIDE de MATLAB [6]. 
En el cual se realizaron pruebas con otros valores de entrada, 
los resultados se muestran a continuaci´on en la Fig. 19: 
Fig. 19. Ingreso de valores a los sensores C.E2 
Las entradas de los sensores indican que el movimiento 
a efectuar ser´a hacia ADELANTE, debido a que el S1 no 
detecta obst´aculo por lo que env´ıa un valor -1, el S2 detecta 
obst´aculo por se envia un valor 1, el S3 tambi´en detecta 
obst´aculo por lo tanto env´ıa 1 y el S4 detecta obst´aculo por
9 
ello tambien se envia un 1. Generando como salida en el 
Motor1 un valor 1 y en el Motor2 un valor 2, por lo tanto 
el par ordenado de valores es (1,1) lo que indica que el 
movimiento ser´a hacia ADELANTE. 
Es importante destacar, que en el caso que los cuatro 
sensores env´ıan valor de 1(detectan obst´aculos en todas las 
direcciones), la salida que me genera en el Motor1 y Mo-tor2 
son los valores(1,1) el cual indica un movimiento ha-cia 
ADELANTE,pero esto es incorrecto debido a que no 
deber´ıa generar ning´un tipo de movimiento pero el modelo 
que se propone para dar soluci´on al problema del Caso de 
Estudio2 establece que el robot tiene que realizar alg´un tipo 
de movimiento. Para ello solo enviamos un mensaje de NO 
EFECTUAR MOVIMIENTO cuando se reciba una valor de 
1 en todos los sensores pero esto solo como salida did´actica; 
este caso se puede ver en la Fig. 20: 
Fig. 20. Error: si ingresa valores erroneos en los sensores C.E2 
V. CONCLUSIONES 
 Para resolver casos de estudio como los presentados en 
el presente art´ıculo se puede utilizar una red neuronal de 
tipo perceptr´on debido a que las entrada y las salida son 
datos binarios. 
 Matlab es una herramienta muy potente para la creaci´on 
y simulaci´on de redes neuronales artificiales que nos 
permiten dar soluci´on a diferentes tipos de problemas 
gracias a las funciones que nos brinda. 
 Las funciones hardlim y hardlims nos permiten resolver 
problemas linealmente separables 
 La funci´on hardlims es preferida sobre la hardlim, ya 
que el tener un cero multiplicando algunos de los valores 
resultantes del producto de las entradas por el vector de 
los pesos, ocasionan que estos no se actualicen y que el 
aprendizaje sea m´as lento. 
VI. RECOMENDACIONES 
 Para resolver cualquier tipo de problema se puede utilizar 
redes neuronales artificiales. 
 Utilizar Matlab para la simulaci´on de redes neuronales 
de cualquier tipo. 
 Utilizar las funciones hardlim y hardlims cuando se 
tengan entradas y salidas con dos valores diferentes en 
problemas linealmente separable. 
 Entender bien el tipo de problema a solucionar para poder 
aplicar la o las funciones adecuadas. 
VII. TRABAJOS FUTUROS 
El presente trabajo puede servir como punto de partida para 
generar trabajos futuros sobre la aplicaci´on de las funciones 
hardlim y hardlims para dar soluciones a otros problemas 
linealmente separables. 
Se tiene previsto utilizar otra funciones de transferencia 
(purelin, poslin) para resolver problemas que son linealmente 
separables, con el fin de determinar la eficiencia de cada una 
de estas funciones frente a los casos de estudio presentados 
en este art´ıculo. 
REFERENCIAS 
[1] Fernando Tanco . INTRODUCCIO´ N A LAS REDES NEURONALES 
ARTIFICIALES. UNIVERSIDAD TECNOLO´ GICA NACIONAL 
FACULTAD REGIONAL BUENOS AIRES; [En linea] link: 
http://www.secyt.frba.utn.edu.ar/gia/RNA.pdf, consulta realizada 30- 
Oct-2014. 
[2] P. Ponce Cruz; ”Redes neuronales artificiales”, en Inteligencia artificial 
con aplicaciones a la ingenier´ıa publicado por: Alfaomega; Editorial: 
Mexico, 2011, pp: 198-199. 
[3] P. Isasi Vi˜nuela, I. M. Galv´an Le´on; ”Primeros modelos 
computacionales”, en Redes neuronales artificiales un enfoque pr´actico 
publicado por: Pearson Prentice Hall; Editorial: Ribera del Loira, 28 
28042 MADRID (Espa˜na), 2004, pp: 26-27. 
[4] I.F. Su´arez B´arcena; ”Materiales y m´etodos”, en Utilidad diagnosticada 
en la glucoma del an´alisis de las fibras retinianas mediante polarimetr´ıa 
l´aser asociado a la autoperimetr´ıa y a sistemas de inteligencia artificial 
(Redes neuronales) publicado por: Colecci´on Vitor; Editorial: Salamanca, 
Espa˜na, 2011, pp: 103-104. 
[5] A E. Hossian, G. E. Monte, V. Olivera; ”An´alisis del comportamiento 
de robots m´oviles aut´onomos en base a RNA”, en Un 
enfoque desde el paradigama relativo publicado por: Universida 
Tecnol´ogica Nacional; Facultad Reqional Neuqu´en; [En linea] link: 
http://www.unilibre.edu.co/revistaavances/avances-8-2/r8-2 art3.pdf, 
consulta realizada: 30-Oct-2014 
[6] El c´odigo de los casos de estudio, se lo puede encontrar en l 
siguiente enlace;[En linea] link: https://github.com/KarinaBarrionuevo/ 
Redes-Neuronales-Artificiales-Funciones-Hardlim-Hardlims/tree/ 
e5898a6b7ca424cbafcab378bc4c2edd1f79379c
10 
Karina Barrionuevo 
Estudiante de la Carrera de Ingenier´ıa en Sistemas de la 
Universidad Nacional de Loja, Provincia de Loja, Ciudad Loja, 
Ecuador, 2014. 
Sheimy Pati ˜no 
Estudiante de la Carrera de Ingenier´ıa en Sistemas de la 
Universidad Nacional de Loja, Provincia de Loja, Ciudad Loja, 
Ecuador, 2014.

Más contenido relacionado

La actualidad más candente

Perceptron Simple y Regla Aprendizaje
Perceptron  Simple y  Regla  AprendizajePerceptron  Simple y  Regla  Aprendizaje
Perceptron Simple y Regla AprendizajeRoberth Figueroa-Diaz
 
INTRODUCCIÓN A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCIÓN A LAS REDES NEURONALES ARTIFICIALESINTRODUCCIÓN A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCIÓN A LAS REDES NEURONALES ARTIFICIALESESCOM
 
Funciones de activacion Poslin y Purelin
Funciones de activacion Poslin y PurelinFunciones de activacion Poslin y Purelin
Funciones de activacion Poslin y PurelinDiego Guamán
 
Perceptrón simple y multicapa
Perceptrón simple y multicapaPerceptrón simple y multicapa
Perceptrón simple y multicapaJefferson Guillen
 
Diseño de Redes Neuronales Multicapa y Entrenamiento
Diseño de Redes Neuronales Multicapa y EntrenamientoDiseño de Redes Neuronales Multicapa y Entrenamiento
Diseño de Redes Neuronales Multicapa y EntrenamientoESCOM
 
REDES NEURONALES Algoritmos de Aprendizaje
REDES NEURONALES Algoritmos  de AprendizajeREDES NEURONALES Algoritmos  de Aprendizaje
REDES NEURONALES Algoritmos de AprendizajeESCOM
 
Red Neuronal Difusa
Red Neuronal DifusaRed Neuronal Difusa
Red Neuronal DifusaESCOM
 
Redes Neuronales Basadas En Sistemas Difusos
Redes Neuronales Basadas En Sistemas DifusosRedes Neuronales Basadas En Sistemas Difusos
Redes Neuronales Basadas En Sistemas DifusosESCOM
 
Redes Neuronales Basadas En Sistemas Difusos
Redes Neuronales Basadas En Sistemas DifusosRedes Neuronales Basadas En Sistemas Difusos
Redes Neuronales Basadas En Sistemas DifusosESCOM
 
REDES NEURONALES ADALINE
REDES NEURONALES ADALINEREDES NEURONALES ADALINE
REDES NEURONALES ADALINEESCOM
 
Perceptrón Simple – Redes Neuronales con Aprendizaje Supervisado
Perceptrón Simple – Redes Neuronales con Aprendizaje SupervisadoPerceptrón Simple – Redes Neuronales con Aprendizaje Supervisado
Perceptrón Simple – Redes Neuronales con Aprendizaje SupervisadoAndrea Lezcano
 
RED NEURONAL ADALINE
RED NEURONAL ADALINERED NEURONAL ADALINE
RED NEURONAL ADALINEESCOM
 
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
 
Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales
Construccion , Diseño y Entrenamiento de Redes Neuronales ArtificialesConstruccion , Diseño y Entrenamiento de Redes Neuronales Artificiales
Construccion , Diseño y Entrenamiento de Redes Neuronales ArtificialesESCOM
 
REDES NEURONALES Mapas con Características Autoorganizativas Som
REDES NEURONALES Mapas   con Características Autoorganizativas  SomREDES NEURONALES Mapas   con Características Autoorganizativas  Som
REDES NEURONALES Mapas con Características Autoorganizativas SomESCOM
 
Red NEURONAL de Hamming
Red   NEURONAL    de HammingRed   NEURONAL    de Hamming
Red NEURONAL de HammingESCOM
 

La actualidad más candente (20)

Perceptron Simple y Regla Aprendizaje
Perceptron  Simple y  Regla  AprendizajePerceptron  Simple y  Regla  Aprendizaje
Perceptron Simple y Regla Aprendizaje
 
INTRODUCCIÓN A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCIÓN A LAS REDES NEURONALES ARTIFICIALESINTRODUCCIÓN A LAS REDES NEURONALES ARTIFICIALES
INTRODUCCIÓN A LAS REDES NEURONALES ARTIFICIALES
 
Perceptron parte 2
Perceptron parte 2Perceptron parte 2
Perceptron parte 2
 
Funciones de activacion Poslin y Purelin
Funciones de activacion Poslin y PurelinFunciones de activacion Poslin y Purelin
Funciones de activacion Poslin y Purelin
 
Perceptrón simple y multicapa
Perceptrón simple y multicapaPerceptrón simple y multicapa
Perceptrón simple y multicapa
 
Diseño de Redes Neuronales Multicapa y Entrenamiento
Diseño de Redes Neuronales Multicapa y EntrenamientoDiseño de Redes Neuronales Multicapa y Entrenamiento
Diseño de Redes Neuronales Multicapa y Entrenamiento
 
Aprendizaje de un perceptrón simple
Aprendizaje de un perceptrón simpleAprendizaje de un perceptrón simple
Aprendizaje de un perceptrón simple
 
REDES NEURONALES Algoritmos de Aprendizaje
REDES NEURONALES Algoritmos  de AprendizajeREDES NEURONALES Algoritmos  de Aprendizaje
REDES NEURONALES Algoritmos de Aprendizaje
 
Perceptron parte 1
Perceptron parte 1Perceptron parte 1
Perceptron parte 1
 
Red Neuronal Difusa
Red Neuronal DifusaRed Neuronal Difusa
Red Neuronal Difusa
 
Redes Neuronales Basadas En Sistemas Difusos
Redes Neuronales Basadas En Sistemas DifusosRedes Neuronales Basadas En Sistemas Difusos
Redes Neuronales Basadas En Sistemas Difusos
 
Redes Neuronales Basadas En Sistemas Difusos
Redes Neuronales Basadas En Sistemas DifusosRedes Neuronales Basadas En Sistemas Difusos
Redes Neuronales Basadas En Sistemas Difusos
 
Tedes estocasticas
Tedes estocasticasTedes estocasticas
Tedes estocasticas
 
REDES NEURONALES ADALINE
REDES NEURONALES ADALINEREDES NEURONALES ADALINE
REDES NEURONALES ADALINE
 
Perceptrón Simple – Redes Neuronales con Aprendizaje Supervisado
Perceptrón Simple – Redes Neuronales con Aprendizaje SupervisadoPerceptrón Simple – Redes Neuronales con Aprendizaje Supervisado
Perceptrón Simple – Redes Neuronales con Aprendizaje Supervisado
 
RED NEURONAL ADALINE
RED NEURONAL ADALINERED NEURONAL ADALINE
RED NEURONAL ADALINE
 
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...
 
Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales
Construccion , Diseño y Entrenamiento de Redes Neuronales ArtificialesConstruccion , Diseño y Entrenamiento de Redes Neuronales Artificiales
Construccion , Diseño y Entrenamiento de Redes Neuronales Artificiales
 
REDES NEURONALES Mapas con Características Autoorganizativas Som
REDES NEURONALES Mapas   con Características Autoorganizativas  SomREDES NEURONALES Mapas   con Características Autoorganizativas  Som
REDES NEURONALES Mapas con Características Autoorganizativas Som
 
Red NEURONAL de Hamming
Red   NEURONAL    de HammingRed   NEURONAL    de Hamming
Red NEURONAL de Hamming
 

Similar a Redes Neuronales Artificiales: Aplicación de la función Hardlim para la clasificación de carros y la función Hardlims para la determinación de los movimientos de un robot

Problema de Aplicación sobre la fertilidad en los hombres aplicando las Funci...
Problema de Aplicación sobre la fertilidad en los hombres aplicando las Funci...Problema de Aplicación sobre la fertilidad en los hombres aplicando las Funci...
Problema de Aplicación sobre la fertilidad en los hombres aplicando las Funci...Henry Quezada
 
Redes Neuronales
Redes NeuronalesRedes Neuronales
Redes Neuronaleslennydan11
 
Redes Neuronales
Redes NeuronalesRedes Neuronales
Redes Neuronaleslennydan11
 
Redes neuronales Luis Lozano CI 22.840.519
Redes neuronales   Luis Lozano CI 22.840.519Redes neuronales   Luis Lozano CI 22.840.519
Redes neuronales Luis Lozano CI 22.840.519lozanolc
 
Hardlim hardlims en_matlab
Hardlim hardlims en_matlabHardlim hardlims en_matlab
Hardlim hardlims en_matlabjairo0990
 
Función de transferencia compet
Función de transferencia competFunción de transferencia compet
Función de transferencia competRichar León
 
Función de activación de Logsig y tansig
Función  de activación de Logsig y tansigFunción  de activación de Logsig y tansig
Función de activación de Logsig y tansigVanee2014
 
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
 
Sistemas Basados en Casos IUT
Sistemas Basados en Casos IUTSistemas Basados en Casos IUT
Sistemas Basados en Casos IUTLuis Álamo
 
Red Neuronal Artificial
Red Neuronal ArtificialRed Neuronal Artificial
Red Neuronal ArtificialJORGE ARMANDO
 
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
 
implementación simulated annealing-en-perceptronmulticapa
implementación simulated annealing-en-perceptronmulticapaimplementación simulated annealing-en-perceptronmulticapa
implementación simulated annealing-en-perceptronmulticapaBrian Piragauta
 

Similar a Redes Neuronales Artificiales: Aplicación de la función Hardlim para la clasificación de carros y la función Hardlims para la determinación de los movimientos de un robot (20)

Problema de Aplicación sobre la fertilidad en los hombres aplicando las Funci...
Problema de Aplicación sobre la fertilidad en los hombres aplicando las Funci...Problema de Aplicación sobre la fertilidad en los hombres aplicando las Funci...
Problema de Aplicación sobre la fertilidad en los hombres aplicando las Funci...
 
Redes Neuronales
Redes NeuronalesRedes Neuronales
Redes Neuronales
 
Redes Neuronales
Redes NeuronalesRedes Neuronales
Redes Neuronales
 
Redes neuronales Luis Lozano CI 22.840.519
Redes neuronales   Luis Lozano CI 22.840.519Redes neuronales   Luis Lozano CI 22.840.519
Redes neuronales Luis Lozano CI 22.840.519
 
Hardlim hardlims en_matlab
Hardlim hardlims en_matlabHardlim hardlims en_matlab
Hardlim hardlims en_matlab
 
Funciones_ hardlim_hardlims
Funciones_ hardlim_hardlimsFunciones_ hardlim_hardlims
Funciones_ hardlim_hardlims
 
Función de transferencia compet
Función de transferencia competFunción de transferencia compet
Función de transferencia compet
 
Neurona de Mc culloch
Neurona de Mc cullochNeurona de Mc culloch
Neurona de Mc culloch
 
Función de activación de Logsig y tansig
Función  de activación de Logsig y tansigFunción  de activación de Logsig y tansig
Función de activación de Logsig y tansig
 
Trabajo rn
Trabajo rnTrabajo rn
Trabajo rn
 
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 ...
 
Funciones poslin y purelin
Funciones poslin y purelinFunciones poslin y purelin
Funciones poslin y purelin
 
Trabajo rn
Trabajo rnTrabajo rn
Trabajo rn
 
Sistemas Basados en Casos IUT
Sistemas Basados en Casos IUTSistemas Basados en Casos IUT
Sistemas Basados en Casos IUT
 
Red Neuronal Artificial
Red Neuronal ArtificialRed Neuronal Artificial
Red Neuronal Artificial
 
Redes neuronales
Redes neuronalesRedes neuronales
Redes neuronales
 
Purelin y poslin
Purelin y poslinPurelin y poslin
Purelin y poslin
 
Redes Neuronales
Redes NeuronalesRedes Neuronales
Redes Neuronales
 
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...
 
implementación simulated annealing-en-perceptronmulticapa
implementación simulated annealing-en-perceptronmulticapaimplementación simulated annealing-en-perceptronmulticapa
implementación simulated annealing-en-perceptronmulticapa
 

Más de Sheyli Patiño

Más de Sheyli Patiño (6)

Ejercicio compiladores
Ejercicio compiladoresEjercicio compiladores
Ejercicio compiladores
 
Java
JavaJava
Java
 
Configuracion de variables de entorno
Configuracion de variables de entornoConfiguracion de variables de entorno
Configuracion de variables de entorno
 
Capitulo ii
Capitulo iiCapitulo ii
Capitulo ii
 
Esquema basico del software
Esquema basico del softwareEsquema basico del software
Esquema basico del software
 
Esquema basico del software
Esquema basico del softwareEsquema basico del software
Esquema basico del software
 

Último

SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIAFabiolaGarcia751855
 
Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.JonathanCovena1
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOPsicoterapia Holística
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptAlberto Rubio
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...jlorentemartos
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfRosabel UA
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfMercedes Gonzalez
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Katherine Concepcion Gonzalez
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfUPTAIDELTACHIRA
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxpvtablets2023
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.docRodneyFrankCUADROSMI
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024IES Vicent Andres Estelles
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfJonathanCovena1
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOluismii249
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxBeatrizQuijano2
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCCarlosEduardoSosa2
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxroberthirigoinvasque
 

Último (20)

SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdf
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptx
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 

Redes Neuronales Artificiales: Aplicación de la función Hardlim para la clasificación de carros y la función Hardlims para la determinación de los movimientos de un robot

  • 1. 1 REDES NEURONALES ARTIFICIALES: Aplicaci´on de la funci´on Hardlim para la clasificaci´on de carros y la funci´on Hardlims para la determinaci´on de los movimientos de un robot ARTIFICIAL NEURAL NETWORKS: Application of the Hardlim function for the classification of vehicles and the Hardlims function determining the movements of a robot K. Barrionuevo and S. Pati˜no. Tutor: H.Paz. Resumen: El presente art´ıculo propone el uso de redes neuronales artificiales para dar soluci´on a problemas linealmente separables como la clasificaci´on de carros y la determinaci´on de los movimientos de un robot, utilizando las funciones de transferencia Hardlim y Hardlims. La simulaci´on de las redes neuronales artificiales que se proponen para dar soluci´on a los problemas antes mencionados se encuentran desarrollados en el entorno Matlab. Palabras clave: Neuronas artificiales, funci´on de transici´on, entrenamiento/aprendizaje, problemas lineales. Abstract—The paper present proposes the use of artificial neural networks for solving linearly separable problems as the classification of cars and determining the movements of a robot, using the transfer functions Hardlim and Hardlims.The simulation of the artificial neural networks proposed to solve the aforementioned problems are developed in the Matlab environ-ment. Index Terms—Artificial neurons, transition function , workout/ learning,linear problems. I. INTRODUCCI´O N Con el transcurso de los a˜nos el hombre se ha caracterizado siempre por su b´usqueda constante de nuevas v´ıas para mejorar sus condiciones de vida. Estos esfuerzos le han servido para reducir trabajos en operaciones donde la fuerza y la capacidad juegan un papel principal. Los progresos K. Barrionuevo, Universidad Nacional de Loja, Loja, Ecuador, E-mail: ykbarrionuevo@unl.edu.ec S. Pati˜no, Universidad Nacional de Loja, Loja, Ecuador, E-mail: slpatinor@unl.edu.ec H. Paz, Universidad Nacional de Loja, Loja, Ecuador, E-mail: hpaz@unl.edu.ec obtenidos han permitido direccionar estos esfuerzos en muchos campos, como por ejemplo la inteligencia artificial en la cual esta inmersa redes neuronales artificiales. La importancia que se le ha dado a las redes neuronales es porque con estas es capaz de emular ciertas caracter´ısticas propios del ser humano, como capacidad de memorizar y asociar hechos. En s´ı problemas que no son resueltos a trav´es de un algoritmo, sino con la experiencia que se tiene, por lo cual se dice que la soluci´on a estos problemas es la construcci´on de sistemas capaces de reproducir esta caracter´ıstica humana. En conclusi´on, las redes neuronales no son m´as que un modelo artificial y simplificado del cerebro humano, siendo este un ejemplo para un sistema capaz de adquirir conocimiento mediante la experiencia. Una red neuronal es un nuevo sistema para el tratamiento de informaci´on, donde la unidad b´asica de procesamiento es la neurona. Tambi´en sabemos que el ser humano es capaz de aprender, es decir que aquellos problemas que al principio no se puede dar una soluci´on, pueden resolverse despu´es de obtener informaci´on acerca del problema, por lo tanto cuando de desarrollo una red para resolver dicho problema, se une ejemplares que ser´an utilizados durante esta fase de entrenamiento o aprendizaje, para lo cual se da valores a los pesos de las conexiones entre las neuronas. La organizaci´on del art´ıculo es la siguiente: La Secci´on II (ESTADO DEL ARTE) se documenta los conceptos acerca de la neurona artificial, red neuronal artificial y del perceptr`on.
  • 2. 2 La Secci´on III (CASO DE ESTUDIO) se muestra el caso de estudio 1 que trata de la clasificaci´on de carros y el caso de estudio 2 que trata de la determinaci´on de movimientos de un robot; adem´as se dan los lineamientos necesarios de ambos casos de estudio. La Secci´on IV (RESULTADOS) se puede encontrar los resultados obtenidos del caso de estudio 1 y el caso de estudio 2. La Secci´on V (CONCLUSIONES) se pueden encontrar las conclusiones generadas apartir de la informaci´on recopilada en el presente art´ıculo. La Secci´on VI (RECOMENDACIONES) se puede encontrar las recomendaciones que realizaron en base a la experimentaci´on del estudio efectuado. La Secci´on VII (TRABAJOS FUTUROS) se puede encontrar las futuros trabajos que se pueden realizar a partir del estudio planteado. II. ESTADO DEL ARTE A. LA NEURONA ARTIFICIAL El modelo de una neurona artificial es una imitaci´on del proceso de una neurona biol´ogica. puede tambi´en asemejarse a un sumador hecho con un amplificador operacional tal como se ve en la Fig. 1. Fig. 1. Amplificador operacional Existen varias formas de nombrar una neurona artificial, es conocida como nodo, neuronodo, celda, unidad o elemento de procesamiento (PE). En la Fig. 2 se observa un PE en forma general y su similitud con una neurona biol´ogica [1]: Fig. 2. Neurona artificial y Neurona biol´ogica De la observaci´on detallada del proceso biol´ogico se han hallado los siguientes an´alogos con el sistema artificial: Las entradas Xi representan las se˜nales que provienen de otras neuronas y que son capturadas por las dendritas. Los pesos Wi son la intensidad de la sin´apsis que conecta dos neuronas; tanto Xi como Wi son valores reales. es la funci´on umbral que la neurona debe sobrepasar para activarse; este proceso ocurre biol´ogicamente en el cuerpo de la c´elula. Las se˜nales de entrada a una neurona artificial X1, X2,.., Xn son variables continuas en lugar de pulsos discretos, como se presentan en una neurona biol´ogica. Cada se˜nal de entrada pasa a trav´es de una ganancia o peso, llamado peso sin´aptico o fortaleza de la conexi´on cuya funci´on es an´aloga a la de la funci´on sin´aptica de la neurona biol´ogica. Los pesos pueden ser positivos (excitatorios), o negativos (inhibitorios), el nodo sumatorio acumula todas las se˜nales de entradas multiplicadas por los pesos o ponderadas y las pasa a la salida a trav´es de una funci´on umbral o funci´on de transferencia. La entrada neta a cada unidad puede escribirse como se muestra en la Fig. 3 [1]: Fig. 3. Entrada neta Una idea clara de este proceso se muestra en la Fig. 4, en donde puede observarse el recorrido de un conjunto de se˜nales que entran a la red.
  • 3. 3 Fig. 4. Proceso de trabajo de la red neuronal Una vez que se ha calculado la activaci´on del nodo, el valor de salida equivale a la Fig. 5; Fig. 5. Salida seg´un el calculo de la activaci´on del nodo Donde fi representa la funci´on de activaci´on para esa unidad, que corresponde a la funci´on escogida para transfor-mar la entrada neta i en el valor de salida xi y que depende de las caracter´ısticas espec´ıficas de cada red. [1] B. RED NEURONAL ARTIFICIAL Las RNA se definen como sistemas de mapeos no lineales cuya estructura se basa en principios observados en los sistemas nerviosos de humanos y animales. Constan de un n´umero grande de procesadores simples ligados por conexiones con pesos. Las unidades de procesamiento se denominan neuronas. Cada unidad recibe entradas de otros nodos y genera una salida simple escalar que depende de la informaci´on local disponible, guardada internamente o que llega a trav´es de las conexiones con pesos. Pueden realizarse muchas funciones complejas dependiendo de las conexiones [2]. Las neuronas artificiales simples fueron introducidas por McCulloch y Pitts en 1943. Una red neuronal se caracteriza por los siguientes elementos: 1) Un conjunto de unidades de procesamiento o neuronas. 2) Un estado de activaci´on para cada unidad, equivalente a la salida de la unidad. 3) Conexiones entre las unidades, generalmente definidas por un peso que determina el efecto de una se˜nal de entrada en la unidad. 4) Una regla de propagaci´on, que determina la entrada efectiva de una unidad a partir de las entradas externas. 5) Una funci´on de activaci´on que actualiza el nuevo nivel de activaci´on bas´andose en la entrada efectiva y la activaci´on anterior. 6) Una entrada externa que corresponde a un t´ermino determinado como bias para cada unidad. 7) Un m´etodo para reunir la informaci´on, correspondiente a la regla del aprendizaje. 8) Un ambiente en el que el sistema va a operar, con se˜nales de entrada e incluso se˜nales de error. En muchas redes las unidades de proceso tienen la respuesta como se muestra en la Fig. 6: Fig. 6. Ecuaci´on de respuesta del proceso redes artificiales Donde: xk : se˜nales de salida de otros nodos o entradas externas. !k : pesos de las ligas de conexi´on. f() : funci´on no lineal simple. La funci´on f puede ser sigmoidal, tangente hiperb´olica, escal´on, entre otras. En MATLAB se tiene diferentes funciones de activaci´on como tansig, hardlim y purelin, entre otras, lo cual facilita las aproximaciones que se requieran hacer, emple-ando RNA. Cada unidad de proceso tiene una tarea simple: recibe la entrada de otras unidades o de fuentes externas y procesa la informaci´on para obtener una salida que se propaga a otras unidades. Una red puede tener una estructura arbitraria, pero las capas que contienen estas estructuras est´an definidas de acuerdo con su ubicaci´on en la topolog´ıa de la red neuronal. Las entradas externas son aplicadas en la primera capa, y las salidas se consideran la ´ultima capa. Las capas internas que no se observan como entradas o salidas se denominan capas ocultas. Por convenci´on, las entradas no se consideran como capa porque no realizan procesamiento. La entrada total u de una unidad k es la suma de los pesos de las entradas conectadas, m´as un bias , la ecuaci´on se muestra en la Fig. 7: Fig. 7. Ecuaci´on: Entrada total de una unidad. Si el peso !j es positivo se habla de una excitaci´on y si el peso es negativo se considera una inhibici´on de la entrada. Si consideramos a las entradas como funciones del tiempo, la expresi´on anterior se convierte en la ecuaci´on mostrada en la Fig. 8: Fig. 8. Ecuaci´on: Entrada total de una unidad en funci´on del tiempo.
  • 4. 4 C. PERCEPTRON En los a˜nos 50 se dio la aparici´on del modelo Perceptron, inventado por el psic´ologo Frank Rosemblatt. Este modelo se concibi´o como un sistema capaz de realizar tareas de clasificaci´on de forma autom´atica. El prop´osito era tener un sistema que, mediante un conjunto de ejemplos de clases diferentes, fuera capaz de determinar ecuaciones de las superficies que hac´ıan referencia a dichas clases. La informaci´on en la cual se basaba el sistema era mediante las clases, a esto se lo conoce como patrones, estos patrones eran quienes aportan la informaci´on necesaria para que el sistema construyera la superficies y adem´as funcionar´a como un discriminador para nuevas clases. En si el objetivo principal era aprender, usando parte de la informaci´on, de tal modo que siempre que se un patr´on de entrada p la salida sea la salida deseada, oses t. 1) Estructura de la red: La arquitectura de la red es muy simple. Se trata de una estructura monocapa, en la que hay un conjunto de entradas, y una o varias salidas. Cada entrada tiene conexi´on con las salidas, y estas conexiones determinan la superficie de discriminaci´on del sistema [3]. En el ejemplo de la Fig. 9 puede emplearse dos fun-ciones de transferencia; hardlim con salidas 0 y 1 o hardlims con salidas -1 y 1; su uso depende del valor de salida que se espera para la red; sin embargo, la funci´on hardlims es preferida sobre la hardlim, ya que en esta ´ultima al tener un cero multiplicando algunos de los valores resultantes del producto de las entradas por el vector de pesos, ocasiona que estos no se actualicen y que el aprendizaje sea m´as lento. Fig. 9. Estructura de la red. 2) Funciones de transferencia: Un modelo m´as acad´emico que facilita el estudio de una neurona, puede visualizarse en la Fig. 10: Las entradas a la red ser´an ahora presentadas en el vector p, que para el caso de una sola neurona contiene solo un elemento, w sigue representando los pesos y Fig. 10. Funci´on de transferencia la nueva entrada b es una ganancia que refuerza la salida del sumador n, la cual es la salida neta de la red; la salida total est´a determinada por la funci´on de transferencia , la cual puede ser una funci´on lineal o no lineal de n, y que es escogida dependiendo de las especificaciones del problema que la neurona tenga que resolver; aunque las RNA se inspiren en modelos biol´ogicos no existe ninguna limitaci´on para realizar modificaciones en las funciones de salida, as´ı que se encontrar´an modelos artificiales que nada tienen que ver con las caracter´ısticas del sistema biol´ogico [1]. Limitador fuerte (Hardlim): la Fig. 11 muestra como esta funci´on de transferencia acerca la salida de la red a cero, si el argumento de la funci´on es menor que cero y la lleva a uno si este argumento es mayor que uno. Esta funci´on crea neuronas que clasifican las entradas en dos categor´ıas diferentes, caracter´ıstica que le permite ser empleada en la red tipo Perceptr´on[1]. Fig. 11. Funci´on de transferencia: Hardlim El ´ıcono para la funci´on Hardlim reemplazara a la letra f en la expresi´on general, cuando se utilice la funci´on Hardlim. Limitador Fuerte Sim´etrico (Hardlims): Es una modificaci´on de la funci´on Hardlim, como puede verse en la Fig. 12, la que representa la funci´on de
  • 5. 5 transferencia Hardlims que restringe el espacio de salida a valores entre 1 y –1 [1]. Fig. 12. Funci´on de transferencia: Hardlims 3) Funciones de entrenamiento: La funci´on de entrenamiento de la red de retropropa-gaci ´on BTF utilizada traingdx, es la funci´on de retro-propagaci ´on de gradiente descendente con momento y con constante de aprendizaje adaptativa. Adem´as otra funciones son [4]: Trainlm: funci´on de retropropagaci´on que actualiza los valores de peso y sesgo de acuerdo con la optimizaci´on levenberg-marquardt. Traingd: funci´on de retropropagaci´on, actualiza los valores de peso y sesgo seg´un gradiente descen-dente. Trainfg: funci´on de retropropagaci´on causi-Newton BFGS. Trainbr: funci´on de regularizaci´on bayesiana. Trainwb: funci´on de entrenamiento por pesos y umbrales de red. 4) Funciones de aprendizaje: La funci´on de aprendizaje de pesos/umbrales de propa-gaci ´on BLF utilizada es learngdm, Es decir, la funci´on de aprendizaje de gradiente descendente con momento y pesos en umbrales. Pero tambi´en hay otras funciones [4]: Learcon: funci´on de aprendizaje de conciencia de umbrales. Learngd: funci´on de aprendizaje de gradiente de-scendente con pesos en umbrales. Learnp: funci´on de aprendizaje del perceptron con pesos umbrales. Learnpn: funci´on de aprendizaje normalizado con pesos umbrales. Learnwh: funci´on de aprendizaje de windrow-hoff con pesos en umbrales. III. CASO DE ESTUDIO A. CASO DE ESTUDIO 1 Mediante la funci´on de activaci´on hardlim se pretende solucionar el siguiente problema: Una compa˜n´ıa de carros tienes la actividad de clasificar los carros que se encuentran es esta, para llevar un control detallado sobre su producto. Para ello cada carro deber pasar por un conjunto de sensores que detecten las siguientes caracter´ısticas: n´umero de ejes, capacidad y tama˜no. El sensor contador de ejes sacar´a 0 si el carro tiene 1 y 2 ejes, 1 si 3,4 o 5 ejes. El sensor de la capacidad arrogara 0 si la capacidad es para pocos tripulantes y 1 si es para varios. El sensor de tama˜no sacar´a 0 si es peque˜no y 1 si es grande. Para ello se muestra la Fig. 13 las caracter´ısticas a evaluar. Fig. 13. Caracter´ısticas: sensores n = Wp+b a = hardlim(n) En la Fig. 14 se muestra los valores de las entradas de la neurona. Fig. 14. Entradas de la neurona B. CASO DE ESTUDIO 2 Mediante la funci´on de activaci´on hardlims se pretende solucionar el siguiente problema:Se requiere que un robot se movilice en un entorno con obst´aculos sin impactarse con alguno de estos. Para ello dicho robot cuenta con cuatro sensores de proximidad de obst´aculos, cada uno en distintas ubicaciones (norte, sur , este, oeste) que permanentemente detectan si hay obst´aculos cercanos en cualquiera de las direcciones que eviten su movilizaci´on; adem´as el robot tiene dos motores que comandan el movimiento de sus ruedas laterales. Los sensores S1, S2, S3 y S4, son los que deben detectar la proximidad de un obst´aculos, adoptando el valor 1 ante la presencia del obst´aculo o el valor -1 ante la no cercan´ıa del obst´aculo. Los motores (M1, M2) adquieren un par ordenado de valores que va a determinar el movimiento a efectuar, estos valores pueden ser: (-1 -1) Desplazamiento del robot hacia atr´as
  • 6. 6 (-1 1) Desplazamiento del robot hacia la izquierda (1 -1) Desplazamiento del robot hacia la derecha (1 1) Desplazamiento del robot hacia delante El primer elemento del par ordenado de valores es otorgado a el Motor1 de acuerdo a el resultado del S1 y el S2, mientras el el segundo elemento del par ordenado es otorgado al Motor2 de acuerdo al resultado del S3 y S4. IV. RESULTADOS A. RESULTADOS CASO DE ESTUDIO 1 De acuerdo al problema a solucionar se ha utilizado el modelo perceptr´on ya que es un problema simple, pudiendo ser entrenada con patrones de cualesquier dimensi´on en la entrada y proporcionando la salida en datos binarios. El modelo de perceptr´on que se propone tiene una capa de entrada y una capa de salida, cuya arquitectura se puede observar en la Fig. 15: Fig. 15. Arquitectura de la red neuronal-Caso estudio 1 La red est´a estructurada por 8 patrones, mismos que se muestran en la tabla I, dependiendo de los resultados que env´ıa los sensores se conocer´a el tipo de veh´ıculo. Num. Ejes Capacidad Tama˜no Salida 1 0 0 0 2 0 1 0 3 1 0 1 4 1 1 1 5 0 0 1 2 0 1 0 3 1 0 1 5 1 1 1 TABLE I MATRIZ DE ENTRADA-CASO DE ESTUDO 1 Los estados de lectura de los sensores en el caso de el n´umero de ejes se trabajo con n´umeros de entre [1,5] y de operaci´on de la clasificadora est´an designados con 0 y 1, y seg´un la salida del problema a resolver es conveniente trabajar con la funci´on de transferencia hardlim. Para qu´e existe la clasificaci´on de los carros se ha planteado 2 matrices; matriz SC(contiene los datos de los sensores), y la matriz TC(salidas esperadas seg´un los datos de los sensores). Con los datos necesarios, se cre´o un Programa en MATLAB tipo Script, llamado “ClasificacionCarro”, cuyo c´odigo se transcribe a modo de ilustraci´on: %Clasificaci´on tipo de carro %Las variables a utilizarse para el entrenamiento son: %Entradas en los sensores est´an en la matriz SC % Ejes: 1y2=peque˜no, ¿3=grande %SC= Capacidad: 0=pocos, 1=muchos % Tama˜no: 0= peque˜no, 1=grande clc clear SC=[1 2 3 4 5 2 3 5;0 0 1 1 0 0 1 1; 0 1 0 1 0 1 0 1]; %Las salidas est´an en la matriz TC: TC=[0 0 1 1 1 0 1 1]; %Mediante una gr´afica de presenta la ubicaci´on de los carros de acuerdo a los valores censados plotpv(SC,TC) %Se determina la variaci´on o rango que tendr´a el perceptr´on de acuerdo al valor de las entradas variaci´on=[1 5; 0 1; 0 1]; %Se crea una red tipo Perceptr´on con funci´on de transfer-encia hardlims, dos neuronas en la salida % Sintaxis % NET = NEWP(PR,S,TF,LF) , crea un perceptr´on donde: % PR - Rx2 matriz de valores m´aximos y m´ınimos para los R elementos de entrada. % S - N´umero de neuronas. % TF - Funci´on de transferencias, que por defecto es’‘hardlim’. % LF - Funci´on de aprendizaje, que por defecto es ‘learnp’. car=newp(variacion,1,’hardlim’); % Cantidad de Epocas car.trainParam.epochs=1000; %Intervalo de visualizaci´on de los resultados car.trainParam.show=5; %Aprendizaje de la red %Como par´ametros recibe la red, las entradas y las salidas car=train(car,SC,TC); %Simulaci´on de la red se almacena en una matriz control %Se verifica luego las salidas deseadas y se las compara con la simulaci´on: simulacion= sim(car,SC); simulacion SP La ejecuci´on de este c´odigo a trav´es de MATLAB, arroja como resultado la salida de la red para este patr´on de entrenamiento: TC = 0 0 1 1 1 0 1 1 simulacion = 0 0 1 1 1 0 1 1 Como se puede observar en los resultados de la ejecuci´on, existe la similitud de la salida “simulacion” con la matriz TC, es decir que la salida de la red es igual a la salida deseada del patr´on de entrenamiento; esto nos permite verificar que el perceptr´on aprendi´o correctamente el patr´on. Para la comprensi´on de la simulaci´on de la clasificaci´on de los carros se desarroll´o un peque˜no programa que se compone de dos archivos ClasificacionCarro.m y ClasificacionCarro.fig
  • 7. 7 y se ha dise˜nado mediante el GUIDE de MATLAB [6]. En el cual se realizaron pruebas con otros valores de entrada, los resultados se muestran en la Fig. 16 a continuaci´on: Fig. 16. Ingreso de valor de sensores C.E1 Las entradas de los sensores indican que el tipo de carro es un AUTO, debido a que el sensor NumEjes detecta n´umeros de 1 o 2, el sensor capacidad detecta valor de 0 o 1 y el sensor tama˜no detecta valores de 0 o 1, en este caso la salida ser´a 0, el cual indica que es un auto. Las entradas de los sensores indican que el tipo de carro es un CAMIO´ N, debido a que el sensor NumEjes detecta n´umeros de 3,4 o 5, el sensor capacidad detecta valor de 0 o 1 y el sensor tama˜no detecta valores de 0 o 1, en este caso la salida ser´a 1, el cual indica que es un cami´on. Es importante destacar, que en el caso que los tres sensores env´ıan valor de 0(detectan que no existe ningun tipo de carro), la salida que me genera es un valor (0) el cual indica un carro de tipo AUTO,pero esto es incorrecto debido a que no deber´ıa generar ning´un tipo de clasificaci´on, por lo cual el modelo que se propone para dar soluci´on al problema del Caso de Estudio1 establece que debe haber algun carro para que exista clasificac´on. Para ello se enviamos un mensaje de NO HAY CARRO A CLASIFICAR cuando se reciba una valor de 0 en todos los sensores pero esto solo como salida did´actica; este caso se puede ver en la Fig. 17: Fig. 17. Error: si ingresa valores erroreos en los sensores C.E1 B. RESULTADOS CASO DE ESTUDIO 2 Este caso de estudio puede ser solucionada con una red de tipo Perceptr´on, ya que puede ser entrenada con patrones de cualquier dimensi´on en la entrada y en la salida con datos binarios, por la simplicidad del problema este tipo de red es la m´as adecuada. El modelo de perceptr´on que se propone tiene una capa de entrada y una capas de salida, cuya arquitectura se puede observar en la Fig. 18: Fig. 18. Arquitectura de la red neuronal-Caso estudio 2 A la red se le presentaran 8 patrones los cuales se muestran en la tabla II, para los cuales dependiendo de las lecturas de los sensores se le dir´a al robot que hacer espec´ıficamente y luego se probar´a la red con otros casos restantes para comprobar la capacidad de generalizaci´on de la red neuronal ante un patr´on nunca antes visto S1 S2 S3 S4 M1 M2 -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 TABLE II MATRIZ DE ENTRADA-CASO DE ESTUDO 2
  • 8. 8 Los estados de lecturas de los sensores y de operaci´on de los motores fueron designados con 1 y –1, puesto que para la convergencia del proceso de entrenamiento resulta m´as ventajosos propagar valores de 1 y –1 que de 1 y 0. Debido a la naturaleza de la salida y de la entrada de la red, la funci´on de transferencia apropiada es hardlims, la cual trabaja con valores bipolares. Para que el robot realice el movimiento indicado por los motores, se debe armar la matriz PS (que contiene los datos de los sensores), y la matriz M (las salidas esperada acuerdo a los datos de los sensores). Con todos estos datos necesarios, se cre´o un Programa en MATLAB tipo Script, llamado “MovimientosRobot”, cuyo c´odigo se transcribe a modo de ilustraci´on. % *********************** % MovimientosRobot % *********************** % Se definen las variables requeridas para el entrenamiento % Las entradas est´an dadas por el valor de los sensores son almacenados en la matriz SP % Sens1 % Sens2 % Sens3 % Sens4 SP=[ -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]; % Las salidas est´an almacenadas en la matriz que generan los motores % M1 % M2 M= [ 1 1 -1 1 -1 1 -1 1 ; 1 1 -1 1 1 -1 1 1 ] ; %Se crea una red tipo Perceptr´on con funci´on de transferencia hardlims, dos neuronas en la salida % Sintaxis % NET=NEWP(PR,S,TF,LF) , crea un perceptr´on donde: % PR= Rx2 matriz de valores m´aximos y m´ınimos para los R elementos de entrada. % S=N´umero de neuronas. % TF=Funci´on de transferencias, que por defecto es’‘hardlim’. % LF=Funci´on de aprendizaje, que por defecto es ‘learnp’. % La funci´on de transferencia en nuestro caso es HARDLIMS. net=newp([-1 1;-1 1;-1 1;-1 1],2,’hardlims’); % Cantidad de Epocas net.trainParam.epochs=1000; %Intervalo de visualizaci´on de los resultados net.trainParam.show=5; %Aprendizaje de la red %Como par´ametros recibe la red, las entradas y las salidas net=train(net,SP,M); %Simulaci´on de la red se almacena en una matriz control %Se verifica luego las salidas deseadas y se las compara con la tabla “control”: control = sim(net,SP); control SP La ejecuci´on de este c´odigo a trav´es de MATLAB, arroja como resultado la salida de la red para este patr´on de entre-namiento: MovimientosRobot M = 1 1 -1 1 -1 1 -1 1 1 1 -1 1 1 -1 1 1 control = 1 1 -1 1 -1 1 -1 1 1 1 -1 1 1 -1 1 1 Como se puede observar en los resultados de la ejecuci´on, existe la similitud de la salida “control” con la matriz M, es decir que la salida de la red es igual a la salida deseada del patr´on de entrenamiento; esto nos permite verificar que el perceptr´on aprendi´o correctamente el patr´on. Para la comprensi´on de la simulaci´on de los movimientos de un robot se desarroll´o un peque˜no programa que se compone de dos archivos InterfazRobot.m y InterfazRobot.fig y se ha dise˜nado mediante el GUIDE de MATLAB [6]. En el cual se realizaron pruebas con otros valores de entrada, los resultados se muestran a continuaci´on en la Fig. 19: Fig. 19. Ingreso de valores a los sensores C.E2 Las entradas de los sensores indican que el movimiento a efectuar ser´a hacia ADELANTE, debido a que el S1 no detecta obst´aculo por lo que env´ıa un valor -1, el S2 detecta obst´aculo por se envia un valor 1, el S3 tambi´en detecta obst´aculo por lo tanto env´ıa 1 y el S4 detecta obst´aculo por
  • 9. 9 ello tambien se envia un 1. Generando como salida en el Motor1 un valor 1 y en el Motor2 un valor 2, por lo tanto el par ordenado de valores es (1,1) lo que indica que el movimiento ser´a hacia ADELANTE. Es importante destacar, que en el caso que los cuatro sensores env´ıan valor de 1(detectan obst´aculos en todas las direcciones), la salida que me genera en el Motor1 y Mo-tor2 son los valores(1,1) el cual indica un movimiento ha-cia ADELANTE,pero esto es incorrecto debido a que no deber´ıa generar ning´un tipo de movimiento pero el modelo que se propone para dar soluci´on al problema del Caso de Estudio2 establece que el robot tiene que realizar alg´un tipo de movimiento. Para ello solo enviamos un mensaje de NO EFECTUAR MOVIMIENTO cuando se reciba una valor de 1 en todos los sensores pero esto solo como salida did´actica; este caso se puede ver en la Fig. 20: Fig. 20. Error: si ingresa valores erroneos en los sensores C.E2 V. CONCLUSIONES Para resolver casos de estudio como los presentados en el presente art´ıculo se puede utilizar una red neuronal de tipo perceptr´on debido a que las entrada y las salida son datos binarios. Matlab es una herramienta muy potente para la creaci´on y simulaci´on de redes neuronales artificiales que nos permiten dar soluci´on a diferentes tipos de problemas gracias a las funciones que nos brinda. Las funciones hardlim y hardlims nos permiten resolver problemas linealmente separables La funci´on hardlims es preferida sobre la hardlim, ya que el tener un cero multiplicando algunos de los valores resultantes del producto de las entradas por el vector de los pesos, ocasionan que estos no se actualicen y que el aprendizaje sea m´as lento. VI. RECOMENDACIONES Para resolver cualquier tipo de problema se puede utilizar redes neuronales artificiales. Utilizar Matlab para la simulaci´on de redes neuronales de cualquier tipo. Utilizar las funciones hardlim y hardlims cuando se tengan entradas y salidas con dos valores diferentes en problemas linealmente separable. Entender bien el tipo de problema a solucionar para poder aplicar la o las funciones adecuadas. VII. TRABAJOS FUTUROS El presente trabajo puede servir como punto de partida para generar trabajos futuros sobre la aplicaci´on de las funciones hardlim y hardlims para dar soluciones a otros problemas linealmente separables. Se tiene previsto utilizar otra funciones de transferencia (purelin, poslin) para resolver problemas que son linealmente separables, con el fin de determinar la eficiencia de cada una de estas funciones frente a los casos de estudio presentados en este art´ıculo. REFERENCIAS [1] Fernando Tanco . INTRODUCCIO´ N A LAS REDES NEURONALES ARTIFICIALES. UNIVERSIDAD TECNOLO´ GICA NACIONAL FACULTAD REGIONAL BUENOS AIRES; [En linea] link: http://www.secyt.frba.utn.edu.ar/gia/RNA.pdf, consulta realizada 30- Oct-2014. [2] P. Ponce Cruz; ”Redes neuronales artificiales”, en Inteligencia artificial con aplicaciones a la ingenier´ıa publicado por: Alfaomega; Editorial: Mexico, 2011, pp: 198-199. [3] P. Isasi Vi˜nuela, I. M. Galv´an Le´on; ”Primeros modelos computacionales”, en Redes neuronales artificiales un enfoque pr´actico publicado por: Pearson Prentice Hall; Editorial: Ribera del Loira, 28 28042 MADRID (Espa˜na), 2004, pp: 26-27. [4] I.F. Su´arez B´arcena; ”Materiales y m´etodos”, en Utilidad diagnosticada en la glucoma del an´alisis de las fibras retinianas mediante polarimetr´ıa l´aser asociado a la autoperimetr´ıa y a sistemas de inteligencia artificial (Redes neuronales) publicado por: Colecci´on Vitor; Editorial: Salamanca, Espa˜na, 2011, pp: 103-104. [5] A E. Hossian, G. E. Monte, V. Olivera; ”An´alisis del comportamiento de robots m´oviles aut´onomos en base a RNA”, en Un enfoque desde el paradigama relativo publicado por: Universida Tecnol´ogica Nacional; Facultad Reqional Neuqu´en; [En linea] link: http://www.unilibre.edu.co/revistaavances/avances-8-2/r8-2 art3.pdf, consulta realizada: 30-Oct-2014 [6] El c´odigo de los casos de estudio, se lo puede encontrar en l siguiente enlace;[En linea] link: https://github.com/KarinaBarrionuevo/ Redes-Neuronales-Artificiales-Funciones-Hardlim-Hardlims/tree/ e5898a6b7ca424cbafcab378bc4c2edd1f79379c
  • 10. 10 Karina Barrionuevo Estudiante de la Carrera de Ingenier´ıa en Sistemas de la Universidad Nacional de Loja, Provincia de Loja, Ciudad Loja, Ecuador, 2014. Sheimy Pati ˜no Estudiante de la Carrera de Ingenier´ıa en Sistemas de la Universidad Nacional de Loja, Provincia de Loja, Ciudad Loja, Ecuador, 2014.