Documentos de Académico
Documentos de Profesional
Documentos de Cultura
[6.6] Referencias
TEMA
Técnicas de Inteligencia Artificial
Esquema
Ideas clave
Para estudiar este tema deberás leer las Ideas clave que se presentan a continuación.
Puedes completar el estudio visualizando la lección magistral. Es muy recomendable
ver esta lección previamente a realizar la actividad propuesta.
Las redes neuronales artificiales son una de las técnicas de aprendizaje automático por
excelencia. A partir de una experiencia, aprenden de la misma permitiendo que un
programa mejore en su rendimiento en una tarea determinada gracias al aprendizaje.
Las redes neuronales funcionan emulando el funcionamiento del cerebro humano.
El impulso nervioso se transmite desde el axón de una neurona, que sería el transmisor
de la señal, hasta las dendritas de otras neuronas, que serían los receptores de los
impulsos. Una neurona tiene un axón pero varias dendritas. Cuando una dendrita
recibe un impulso nervioso, segrega una determinada sustancia química que hace que
la neurona se excite a su vez y, si supera un determinado umbral, se envía el impulso
eléctrico hacia el axón causando la sinapsis, excitación de otras neuronas.
Las redes neuronales son apropiadas en problemas donde las instancias tienen un gran
número de atributos y cuando la salida pueda tener cualquier valor: real, discreto o un
vector con una combinación de valores reales y discretos. Cuando se aplican redes
neuronales, una vez aprendida la función objetivo, la evaluación de la misma, su
aplicación a una instancia nueva es rápida. Sin embargo, el tiempo de entrenamiento de
las redes neuronales es largo, luego no ha de importar que se requiera mucho tiempo
de entrenamiento.
Por otra parte, tampoco ha de importar el no comprender la función objetivo, ya que los
pesos que se aprenden son difíciles de interpretar. Por otro lado, las redes neuronales
se comportan de manera robusta frente al ruido así que se dan buenos resultados
aunque los ejemplos de entrenamiento tengan errores (Mitchell, 1997).
Al igual que las neuronas del cerebro producen sinapsis a partir de un determinado
nivel de excitación eléctrica, las neuronas artificiales se excitan con un determinado
nivel que se establece ajustando los pesos mencionados.
La figura 1 muestra una red neuronal típica, que tiene unas entradas y unas salidas así
como una capa intermedia de neuronas. Como se ha comentado, los pesos de los enlaces
conectando las neuronas es lo que hay que ajustar. Esa estructura mostrada en la figura es
un ejemplo puesto que hay múltiples posibilidades de diseño de una red neuronal.
Señales de Señales de
entrada salida
X1 y1
X2 y2
y3
X3
x1
w1 Y
w2 Neurona Y
x2 Y
wn Y
xn
Figura 2. Estructura de una neurona artificial
1 0
1
1 0
w0
x1 w1
x2
w2
∑ signo
wn
X Y
xn
En esta red neuronal simple, se toman las entradas y se aplican las expresiones (1) y (2)
para obtener la salida. Entonces, dada esta red tan simple, ¿en qué se basa el
aprendizaje de la red neuronal? A grandes rasgos, el objetivo del aprendizaje se
reduce a, dado un conjunto de datos de entrenamiento que consiste en una serie de
entradas a esa red y las salidas conocidas correspondientes, escoger los pesos que
se ajusten mejor a esas entradas y salidas definidas a priori. Este objetivo es el
mismo en principio para redes simples o más complejas.
Los pesos, dado que son desconocidos, al principio serán escogidos aleatoriamente. Por
tanto, en cada iteración, la salida realmente obtenida al aplicar dichos pesos sobre una
entrada, será diferente de la salida conocida o esperada.
Esa diferencia es el error que se va a utilizar para ir ajustando los pesos siguiendo la
regla de aprendizaje del perceptrón (Rosenblatt, 1960):
1 3
Siendo e(t) la diferencia entre la salida esperada y la salida real en la entrada procesada
en la iteración t. En cada iteración se procesaría uno de los datos de entrenamiento
disponibles. es la tasa de aprendizaje, un valor entre 0 y 1 que pondera la relevancia
del error obtenido en última iteración.
El perceptrón es una red neuronal muy simple pero el funcionamiento de diversos tipos
de redes neuronales está basado en el de esta red. Al final, el funcionamiento de la red
quedará determinado por los siguientes datos:
Estas redes tienen al menos una capa intermedia oculta como la mostrada en las figuras
1 y 4 aunque pueden tener más capas ocultas. Las redes neuronales comerciales
incorporan 1 ó 2 capas ocultas y estas capas pueden tener desde 10 a 1000 neuronas
(Negnevitsky, 2005). Dado que incorporar nuevas capas supone ampliar la carga
computacional de manera exponencial, en la práctica no se trabaja con muchas capas.
x1 y1
x2 y2
2
....
.....
....
xi wij wjk yk
j
....
....
…..
xn ym
1
4
1
Una vez definida la arquitectura, que suele ser de 3 o 4 capas, con todas las neuronas
entre capas adyacentes conectadas entre sí, y conocida la función de activación,
únicamente queda determinar la regla de aprendizaje. En las redes multicapa se utiliza
el gradiente del error para ajustar los pesos, dado por la siguiente expresión:
, 5
Siendo:
1 1 , 6
Para ajustar los pesos de los enlaces entre la neurona j y la neurona k, wjk, en la capa de
salida se utiliza la siguiente expresión:
1 7
Para el caso de la capa oculta los pesos se reajustan según la expresión en (7) utilizando
igualmente el gradiente del error pero el cálculo de este es diferente, ya que en la capa
oculta no solo hay una salida en la neurona sino múltiples salidas a las que se aplicarán
diferentes pesos.
Se emplea por tanto la siguiente expresión:
1 8
1
9
1
10
Por tanto, para una red multicapa de 3 capas, el algoritmo de aprendizaje consta de las
siguientes fases:
Red Hopfield
Es una red autoasociativa que puede almacenar varias informaciones durante la
etapa de aprendizaje como si se tratara de una memoria.
x1 1 y1
x2 2 y2
....
xj j yj
....
xn n yn
1, 0
1, 0 11
, 0
El estado de la red viene determinado por el conjunto de salidas [y1, y2,… yn] y el
objetivo es que la red sea capaz de almacenar unos determinados estados
Y1,Y2, …Ym…YM., denominados memorias fundamentales.
Con este objetivo, los pasos del algoritmo de entrenamiento de la red Hopfield son los
siguientes:
El valor del peso wij de la conexión entre las neuronas i y j se calcula con la siguiente
expresión:
, , ,
12
0
Siendo ym,i e ym,j los elementos i y j del vector de salida deseado Ym.
Dado que las salidas se pueden representar como vectores de n elementos, se puede
calcular también los pesos mediante la siguiente expresión matricial:
13
0 0 2 2
0 2 0 2
0 2 2 0
, , , 14
15
Para los datos del ejemplo expuesto anteriormente, si los umbrales w0 son iguales a
0, se puede comprobar cómo efectivamente, a partir de una entrada [1 1 1] igual a
una de las memorias fundamentales Y1, la red obtiene la salida correspondiente a esa
memoria fundamental:
0 2 2 1 1
2 0 2 1 1
2 2 0 1 1
Se toma un vector X=[x0, x1, … xn] que sea diferente a cualquiera de los de la
memoria fundamental y se aplica como entrada a la red obteniendo como salida:
0 0 , 14
0 0 15
Se repite el paso anterior hasta que el vector de estado o la salida se mantiene estable,
no cambia. En las diferentes iteraciones, las neuronas están recibiendo como entrada las
salidas de las otras neuronas multiplicadas por el peso correspondiente.
1 , 16
O en forma matricial:
1 17
Para el ejemplo con el que se está trabajando, si se tiene una entrada de prueba [-1 1
1], la salida en la iteración t=0 es:
0 2 2 1 1
0 2 0 2 1 1
2 2 0 1 1
La salida no coincide con la entrada, la red no está estable. Esa salida se aplica de
nuevo a la entrada y se obtiene en la iteración t=1:
0 2 2 1 1
1 2 0 2 1 1
2 2 0 1 1
Sin embargo, las redes de Hopfield no pueden asociar una información con otra. Si en
vez de una red recurrente con una capa de neuronas se tienen dos niveles, se pueden
generar memorias bidireccionales asociativas que sí son capaces de asociar
informaciones diferentes.
6.6. Referencias
Amato, F., López, A., Peña-Méndez, E.M., Vanhara, P., Hampl, A. & Havel, J. (2013).
Artificial neural networks in medical diagnosis. Journal of Applied Biomedicine,
11(2), 47-113.
Garcia, R., Verdú, E., Regueras, L.M., de Castro, J.P. & Verdú, M.J. (2013). A neural
network based intelligent system for tile prefetching in web map services. Expert
Systems with Applications, 40, 4096–4105.
Lippmann, R.P. (1988). Neural network classifiers for speech recognition. The Lincoln
Laboratory Journal, 1, 107-124.
Smith, K.A. & Gupta, J.N.D. (2000). Neural networks in business: techniques and
applications for the operations researcher. Computers & Operations Research, 27(11–
12), 1023-1044.
Widrow, B., Rumelhart, D.E. & Lehr, M.A. (1994) Neural Networks: Applications in
Industry, Business and Science. Communications of the ACM, 37(3), 93-105.
Lo + recomendado
Lecciones magistrales
No dejes de ver…
+ Información
A fondo
Amato, F., López, A., Peña-Méndez, E.M., Vanhara, P., Hampl, A. & Havel, J. (2013). Artificial
neural networks in medical diagnosis. Journal of Applied Biomedicine, 11(2), 47-113.
El artículo incluye una explicación de las redes neuronales y presenta el uso general de
este tipo de técnicas en el diagnóstico médico mediante ejemplos, comentando
posibilidades y limitaciones.
Webgrafía
Redes neuronales
Bibliografía
Witten, I.H. & Frank, E. (2005). Data Mining. USA: Morgan Kaufmann Publishers.
Actividades
Descripción
Pautas de elaboración
1. Descárgate del sitio web «UCI Machine Learning Repository» el conjunto de datos
(dataset) denominado ‘Car Evaluation’ disponible en este enlace:
http://archive.ics.uci.edu/ml/datasets/Car+Evaluation
4. Escoge tres técnicas que consideres adecuadas que nos permitan obtener un
modelo de clasificación para los datos cargados. Debes escoger una técnica de
cada una de estas familias y aplicar el mismo método de validación en todos los
casos:
Ejecuta las tres técnicas mediante Weka, incluye en el informe una explicación
de los parámetros que consideres relevantes en cada ejecución y copia en el
informe las salidas de Weka obtenidas. Dado que estas salidas tienen bastante
extensión, inclúyelas al final del informe como anexo o, si te resulta más cómodo,
adjúntalas en la entrega en ficheros separados (25% de la puntuación total).
5. Contesta a las siguientes cuestiones respecto del modelo clasificador que muestra
Weka en la salida para el caso de la ejecución del método MultilayerPerceptron:
¿Qué tipo de nodos son los nodos numerados como 0, 1, 2 y 3 (salida u ocultos)? ¿Y
qué tipo de nodos son el resto de nodos? Para cada nodo, ¿qué información aporta
Weka sobre el modelo? ¿Qué función de activación se está utilizando? (10% de la
puntuación total).
Extensión máxima: El informe, sin contar con las correspondientes salidas de Weka
(que podrían tener una gran extensión), tendrá una extensión máxima de 7 páginas
siendo la fuente utilizada Georgia 11 e interlineado, 1,5.
Test
7. Indica cuáles de las siguientes afirmaciones son correctas respecto de las redes
multicapa de retropropagación:
A. Todas las neuronas de una capa se conectan con todas las neuronas de las
capas posteriores.
B. Para el ajuste de los pesos se utiliza el gradiente del error.
C. Para el ajuste de los pesos se utiliza el error cuadrático medio.
D. Se utilizan las mismas fórmulas para calcular los pesos relativos a las neuronas
de salida y los relativos a las neuronas ocultas.
8. Indica cuáles de las siguientes afirmaciones son correctas respecto de las redes
recurrentes:
A. Emulan la capacidad de almacenamiento de la memoria humana.
B. Emulan la capacidad de asociación de la memoria humana.
C. Las salidas de la red alimentan las entradas.
D. La red Hopfield es una red recurrente.
10. Indica cuáles de las siguientes afirmaciones son correctas respecto de las redes
Hopfield:
A. Son redes bidireccionales asociativas.
B. Se utilizan en reconocimiento de imágenes.
C. Siempre alcanzan un estado estable correspondiente a una memoria
fundamental.
D. Con pocas neuronas y conexiones son capaces de almacenar una gran cantidad
de información.