Está en la página 1de 28

Redes neuronales artificiales

[6.1] ¿Cómo estudiar este tema?

[6.2] Introducción. Fundamento biológico

[6.3] La neurona artificial. El perceptrón

[6.4] Redes neuronales multicapa

[6.5] Redes neuronales recurrentes. Hopfield Network

[6.6] Referencias

TEMA
Técnicas de Inteligencia Artificial

Esquema

TEMA 6 – Esquema © Universidad Internacional de La Rioja (UNIR)


Técnicas de Inteligencia Artificial

Ideas clave

6.1. ¿Cómo estudiar este tema?

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.

Al finalizar el estudio de este tema serás capaz de:

Describir dos tipos de redes neuronales representativos: multicapa y recurrentes.


Identificar aplicaciones prácticas de redes neuronales.

6.2. Introducción. Fundamento biológico

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 cerebro humano se compone de unidades de


procesamiento y transmisión de información
denominadas neuronas. Las neuronas reciben
estímulos y transmiten los impulsos nerviosos
conectándose con otras neuronas o con los músculos.
A esta conexión se le denomina sinapsis.

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.

TEMA 6 – Ideas clave © Universidad Internacional de La Rioja (UNIR)


Técnicas de Inteligencia Artificial

Como es bien conocido el cerebro es muy maleable, especialmente cuando se es niño,


que es precisamente cuando es más fácil aprender, procesar y retener información.
Ante la información externa que llega, el cerebro es capaz de procesar esa información y
almacenarla, las neuronas crean nuevas conexiones con otras neuronas para ello, que
se fortalecen y establecen a largo plazo. Así, el cerebro aprende, las conexiones que dan
lugar a respuestas correctas se fortalecen mientras que aquellas que dan lugar a
respuestas incorrectas se debilitan y olvidan (Negnevitsky, 2005).

El cerebro humano se puede considerar como un sistema de procesamiento de


información no-lineal y muy complejo. La información se almacena y procesa en las
redes neuronales «como un todo», globalmente y simultáneamente, utilizando toda la
red y no localizaciones específicas (Negnevitsky, 2005).

Las redes neuronales basan su funcionamiento en la forma de aprender del cerebro.


Son capaces de realizar tareas de aprendizaje de manera eficaz, incluso llevando a cabo
tareas de reconocimiento que un humano es incapaz de realizar. Son por tanto
utilizadas en un gran número de aplicaciones. No hay más que realizar una búsqueda
en Internet para encontrarse con una numerosa colección de artículos relativos al uso
de redes neuronales desde hace décadas para solucionar diversos tipos de problemas en
diversos campos como, por ejemplo:

Reconocimiento de escritura y reconocimiento del habla (Lippmann, 1988).


Conducción de vehículos autónoma (Pomerleau, 1993).
En medicina, para el diagnóstico de enfermedades por ejemplo. Amato (2013)
presenta un estado del arte de la aplicación de las redes neuronales en el diagnóstico
médico.
En telecomunicaciones se han utilizado por ejemplo en ecualizadores y canceladores
de eco adaptativos (Widrow et al, 1994).
En compañías financieras se han aplicado en el estudio de patrones de uso de
tarjetas de crédito con el fin de detectar fraudes (Widrow et al, 1994).
En servicios web de mapas, las redes neuronales se han utilizado para predecir áreas
probables de ser solicitadas en un futuro con el fin de ser precargadas en una caché y
mejorar la experiencia del usuario (García et al., 2013).
Por último el artículo de Smith (2000) realiza un recorrido de aplicaciones de las
redes neuronales en los negocios incluyendo diversas áreas como el marketing, el
comercio minorista, los seguros, la banca, etc.

TEMA 6 – Ideas clave © Universidad Internacional de La Rioja (UNIR)


Técnicas de Inteligencia Artificial

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).

Las neuronas artificiales simulan el comportamiento de las neuronas biológicas. Al


igual que las neuronas biológicas, las artificiales pueden recibir varios estímulos como
entradas (emulando las dendritas) pero únicamente tienen una salida (emulando el
único axón que tienen las neuronas biológicas). La salida conecta con entradas a otras
neuronas a través de unos enlaces ponderados. Se establecen unos pesos en los enlaces
que conectan las neuronas, representando la relevancia de esa entrada a la neurona.
Son precisamente estos pesos los que se han de ajustar en la tarea de aprendizaje
mediante redes neuronales.

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 pueden incluir múltiples capas intermedias, por ejemplo, y el número de neuronas en


cada capa es variable. El diseño de una estructura inicial de la red neuronal es el primer
paso en la implementación de un sistema de aprendizaje a través de una red neuronal.

TEMA 6 – Ideas clave © Universidad Internacional de La Rioja (UNIR)


Técnicas de Inteligencia Artificial

Señales de Señales de
entrada salida

X1 y1

X2 y2

y3
X3

Figura 1. Estructura de una red típica neuronal.

6.3. La neurona artificial. El perceptrón

La figura 2 muestra la estructura de una neurona. Como se ha comentado tiene varias


entradas y una salida, que puede ramificarse en varias señales iguales.

x1
w1 Y
w2 Neurona Y
x2 Y
wn Y

xn
Figura 2. Estructura de una neurona artificial

La salida de una neurona se puede calcular utilizando la función signo:

1 0
1
1 0

TEMA 6 – Ideas clave © Universidad Internacional de La Rioja (UNIR)


Técnicas de Inteligencia Artificial

Tal y como se muestra en la figura 2, Y es la salida de la neurona, X es la entrada


ponderada calculada tal y como se muestra en la expresión sumatoria (2), a partir de las
n entradas xi y los pesos correspondientes a cada entrada wi. El peso w0 es un umbral
que debe ser superado por el sumatorio de las distintas entradas ponderadas para que
la salida sea 1.

La salida de la neurona también se puede calcular con otras funciones comúnmente


utilizadas, denominándose todas ellas funciones de activación, como la función
escalón o una función lineal. La red neuronal artificial más sencilla es el perceptrón,
cuya estructura se muestra en la figura 3 (Mitchell, 1997).

w0

x1 w1

x2
w2
∑ signo

wn
X Y
xn

Figura 3. Estructura del perceptrón (elaboración propia basada en (Mitchell, 1997)).

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

TEMA 6 – Ideas clave © Universidad Internacional de La Rioja (UNIR)


Técnicas de Inteligencia Artificial

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 algoritmo de aprendizaje sigue los siguientes pasos (Negnevitsky, 2005):

1. Se asignan valores aleatorios en el intervalo [-0.5,0.5] al umbral w0 y a los pesos w1,


w2,w3 …..wn.

2. Se activa el perceptrón aplicando las entradas x1(t), x2(t), …,xn(t) y la salida


deseada yd(t). Se calcula la salida real en la iteración utilizando la función de
activación signo (ecuación (1)). Se puede utilizar cualquier otra función como la
función escalón por ejemplo.

3. A partir de la salida real obtenida en el paso 2 se actualizan los pesos aplicando la


expresión en (3).

4. Se retorna al paso 2 hasta alcanzar convergencia.

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:

Arquitectura de la red, esto es, el número de capas, número de neuronas, y las


conexiones entre neuronas.
Función de activación: función signo, función escalón, etc.
Algoritmo de aprendizaje determinado principalmente por la regla de aprendizaje
para ajustar pesos (como por ejemplo, la expresión en (3)).

TEMA 6 – Ideas clave © Universidad Internacional de La Rioja (UNIR)


Técnicas de Inteligencia Artificial

6.4. Redes neuronales multicapa

Las redes neuronales multicapa son redes unidireccionales de alimentación hacia


adelante (feedforward). Dado que se trata de redes de alimentación hacia adelante,
la señal de entrada se va propagando a lo largo de las capas hacia la salida.

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.

El aprendizaje en las redes multicapas se realiza de la misma manera que el aprendizaje


en la red simple del perceptrón expuesta en el anterior apartado. A partir de unos datos
de entrenamiento disponibles, se alimenta la red con las entradas, se computa la salida
y la diferencia entre esta salida y la salida esperada (error) se utiliza para ajustar los
pesos con el fin de reducir el error.

Hay muchos métodos y algoritmos para el aprendizaje de redes neuronales. En este


tema se va a exponer un método comúnmente utilizado para el aprendizaje en redes
neuronales denominado back-propagation, retropropagación del error. Las redes
que utilizan este método o redes de retropropagación tienen capas en las que todas
las neuronas de una capa se conectan con todas las neuronas de las capas anterior y
posterior.

TEMA 6 – Ideas clave © Universidad Internacional de La Rioja (UNIR)


Técnicas de Inteligencia Artificial

x1 y1

x2 y2

2
....

.....
....
xi wij wjk yk
j

....
....

…..
xn ym

Retro propagación del error

Figura 4. Red neuronal multicapa (retropropagación del error)

La salida de una neurona X se determina con la expresión en (2) y la función de


activación es una función sigmoide que tiene la siguiente expresión.

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:

Xk(t): entrada ponderada a la neurona k (calculada según la expresión (2)) en la


iteración t.
yk(t): salida real de la neurona k en la iteración t (calculada según la expresión (4)).
, : salida esperada en la neurona k.

TEMA 6 – Ideas clave © Universidad Internacional de La Rioja (UNIR)


Técnicas de Inteligencia Artificial

En la expresión (5), si se sustituye Yk(t) por la expresión en (4), se obtiene la siguiente


fórmula para el cálculo del gradiente del error:

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

Siendo la salida de la neurona j en la capa oculta.

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

Siendo m el número de neuronas en la capa de salida, es el gradiente del error


calculado para la neurona de salida k-ésima y wjk, el peso de la conexión entre la
neurona j y la neurona k. es la salida obtenida mediante la expresión en (4) a
partir de las entradas a la neurona j en la iteración t, x1(t), x2(t),…xn(t):

1
9
1

10

Por tanto, para una red multicapa de 3 capas, el algoritmo de aprendizaje consta de las
siguientes fases:

TEMA 6 – Ideas clave © Universidad Internacional de La Rioja (UNIR)


Técnicas de Inteligencia Artificial

1. Establecimiento inicial de los pesos con valores aleatorios pequeños.


2. Para cada dato de entrada x1(t), x2(t),…xn(t), calcular las salidas de la red al activarla
con esos datos de entrada.
3. Ajuste de los pesos mediante retropropagación de los errores en dos fases:
a. Cálculo del gradiente del error para las neuronas de la capa de salida según la
expresión (6) y reajuste de sus pesos según la expresión (7).
b. Cálculo del gradiente del error para las neuronas en la capa oculta, según la
expresión (8) y reajuste de sus pesos según la expresión (7).
4. Repetir los pasos 2 y 3 hasta que se cumpla la convergencia, siendo los errores
suficientemente pequeños, o un criterio de parada específico.

De acuerdo a Negnevitsky (2005), los algoritmos puros de retropropagación son


raramente utilizados en la práctica por la alta carga computacional, dando lugar a un
entrenamiento lento. Sin embargo, se han desarrollado muchas variaciones (Mitchell,
1997) que permiten mejorar el rendimiento como utilizar una función de activación del
tipo tangente hiperbólica o añadiendo un «momento» en el cálculo de los ajustes de los
pesos de tal manera que la actualización de un peso en la iteración t dependa
parcialmente de la actualización realizada en la iteración anterior t-1.
Realmente las redes de retropropagación de dos o tres niveles tienen un gran potencial
a la hora de representar diferentes funciones (Mitchell, 1997): funciones booleanas,
continuas, arbitrarias… y este tipo de redes son muy utilizadas en, por ejemplo,
problemas de reconocimiento y clasificación de patrones.

6.5. Redes neuronales recurrentes. Hopfield Network

Las redes neuronales recurrentes tratan de emular las características asociativas de la


memoria humana (Mitchell, 1997). La peculiaridad de estas redes es que sus salidas
alimentan las entradas, formando un bucle. Se calcula la salida de la red a partir de una
entrada dada y se aplica la salida obtenida en la iteración (t) como entrada en la
iteración (t+1), repitiendo el proceso hasta que se alcanza una estabilidad, siendo la
salida constante en las distintas iteraciones.

Red Hopfield
Es una red autoasociativa que puede almacenar varias informaciones durante la
etapa de aprendizaje como si se tratara de una memoria.

TEMA 6 – Ideas clave © Universidad Internacional de La Rioja (UNIR)


Técnicas de Inteligencia Artificial

x1 1 y1

x2 2 y2

....
xj j yj

....
xn n yn

Figura 5. Arquitectura de una red neuronal recurrente monocapa, red Hopfield


La figura 5 muestra una red Hopfield monocapa con n neuronas. Las salidas de las n
neuronas retroalimentan las entradas a las diferentes neuronas pero nunca a ellas mismas
(no hay autoretroalimentación). En una red Hopfield las salidas pueden ser binarias o
números reales. Estas redes pueden utilizar diversas funciones como función de activación
aunque es habitual utilizar la función signo siguiente (Negnevitsky, 2005).

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.

Estos estados los almacena la red durante un período de entrenamiento o aprendizaje.


Una vez finalizada la etapa de aprendizaje, si se presenta alguna de las
informaciones almacenadas a la entrada, la red se estabiliza ofreciendo a la
salida la misma información que se ha presentado a la entrada y que coincide con
la información almacenada.

TEMA 6 – Ideas clave © Universidad Internacional de La Rioja (UNIR)


Técnicas de Inteligencia Artificial

Si la entrada no coincide con una de las memorias fundamentales, la red evoluciona


hacia una salida lo más parecida a una de las informaciones almacenadas.

Con este objetivo, los pasos del algoritmo de entrenamiento de la red Hopfield son los
siguientes:

1. Calculo de la matriz de pesos:

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

Siendo Ym el vector n-dimensional que se quiere memorizar, I la matriz identidad y


M el número de estados que hay que memorizar.

Por ejemplo, si se quieren almacenar las memorias fundamentales: Y1=[1,1,1] e


Y2=[-1,-1,-1], aplicando ambas expresiones (12) o (13) , se obtiene la siguiente matriz
de pesos:

0 0 2 2
0 2 0 2
0 2 2 0

TEMA 6 – Ideas clave © Universidad Internacional de La Rioja (UNIR)


Técnicas de Inteligencia Artificial

2. Comprobación de que la red es capaz de memorizar las memorias


fundamentales. Cuando a la red se le presenta una memoria fundamental Ym
como entrada, la red tiene que ser capaz de memorizarla y proporcionarla a la salida.

Por tanto, para cada memoria fundamental Ym de n componentes, m=1,2,…M, si se


da una entrada tal que

xm,i = ym,i, i=1,2,….n

Y si la función de activación es la función signo en (11), se ha de cumplir lo siguiente:

, , , 14

Dado que se trata de vectores, se puede realizar la comprobación mediante la


expresión matricial siguiente:

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

Realizando la misma operación, para una entrada igual a Y2 se comprueba que


efectivamente la red obtiene una salida igual a esa memoria fundamental.

3. Comprobación con entradas de prueba de que la red recupera un estado


estable.

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:

TEMA 6 – Ideas clave © Universidad Internacional de La Rioja (UNIR)


Técnicas de Inteligencia Artificial

0 0 , 14

Siendo 0 el componente j de la entrada en la iteración t 0 e 0 la salida de la


neurona i en la iteración t=0. En forma matricial:

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.

Si la actualización de las salidas de las neuronas de la red se realiza de forma


simultánea, se hablar de una red de Hopfield síncrona. Por tanto en la iteración
(t+1) todas las neuronas van a utilizar como entradas las salidas generadas por las
otras neuronas en la iteración (t). Si las neuronas trabajan asíncronamente, se
actualiza solo la salida de una neurona en cada iteración, con lo que se habla de una
red asíncrona. En este caso la salida a la que converge la red dependerá del orden
de activación de las neuronas.
La condición de estabilidad es:

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:

TEMA 6 – Ideas clave © Universidad Internacional de La Rioja (UNIR)


Técnicas de Inteligencia Artificial

0 2 2 1 1
1 2 0 2 1 1
2 2 0 1 1

Y(1) es precisamente una de las memorias fundamentales y, tal y como se ha


comprobado en el segundo paso del algoritmo, la red es capaz de memorizar esa
memoria fundamental y, por tanto, ese estado quedará estable en la red.

Un problema de la red Hopfield es que si alcanza un estado estable no siempre ese


estado es una memoria fundamental. Por otra parte, las redes Hopfield tienen una
limitación de capacidad, por lo que el número de informaciones que puede ser
aprendido o almacenado es limitado, precisando de gran cantidad de neuronas y de
conexiones para almacenar pocas informaciones.

Las redes de Hopfield son redes autoasociativas pudiendo recuperar memorias


incompletas o información completa a partir de información incompleta. Son redes
utilizadas en reconocimiento de imágenes o de patrones y en problemas de
optimización, por ejemplo.

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.

TEMA 6 – Ideas clave © Universidad Internacional de La Rioja (UNIR)


Técnicas de Inteligencia Artificial

Mitchell, T. (1997). Machine Learning. Mc Graw-Hill.

Negnevitsky, M. (2005). Artificial Intelligence. A Guide to Intelligent Systems. UK:


Addison-Wesley.

Pomerleau, D.A. (1993). Knowledge-based training of artificial neural networks for


autonomous robot driving. En J. Connel & S. Mahadevan (Eds.). Robot Learning, 19-
43. Boston: Kluwer Academic Publishers.

Rosenblatt, F. Perceptron simulation experiments. Proceedings of the Institute of


Radio Engineers, 48(3), 301-309. 1960.

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.

TEMA 6 – Ideas clave © Universidad Internacional de La Rioja (UNIR)


Técnicas de Inteligencia Artificial

Lo + recomendado

Lecciones magistrales

Redes neuronales en Weka

Esta lección magistral consiste en un tutorial sobre el clasificador de Weka


MultilayerPerceptron, que permite diseñar redes neuronales multicapa de
retroprogación y realizar tareas de clasificación con las mismas.

Accede a la lección magistral a través del aula virtual

No dejes de ver…

Redes neuronales aplicadas al reconocimiento de imágenes

Aitor Moreno de Ibermática explica


cómo una red neuronal artificial
puede utilizarse para el
reconocimiento y la catalogación de
imágenes, así como su aplicación en
diferentes ámbitos (control de
presencia en una empresa,
catalogación de productos en un
supermercado, etc.).

Accede al vídeo desde el aula virtual o a través de la siguiente dirección web:


https://www.youtube.com/watch?v=vBxjhMzKgOA

TEMA 6 – Lo + recomendado © Universidad Internacional de La Rioja (UNIR)


Técnicas de Inteligencia Artificial

Aplicaciones de las redes neuronales artificiales

Jossué Rodríguez de la Universidad


de Panamá realiza un recorrido por
las diversas aplicaciones de las redes
neuronales en distintos campos.

Accede al vídeo desde el aula virtual o a través de la siguiente dirección web:


https://www.youtube.com/watch?v=d4t0WGjuYTs

TEMA 6 – Lo + recomendado © Universidad Internacional de La Rioja (UNIR)


Técnicas de Inteligencia Artificial

+ Información

A fondo

Aplicación de las redes neuronales artificiales en el diagnóstico médico

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.

Accede al artículo desde el aula virtual o a través de la siguiente dirección web:


http://jab.zsf.jcu.cz//11_2/havel.pdf

Webgrafía

Redes neuronales

Sitio web dedicado a las redes neuronales. Es particularmente interesante la sección


dedicada a aplicaciones de las redes neuronales, así como la sección de recursos que
contiene enlaces a materiales interesantes.

Accede a la página desde el aula virtual o a través de la siguiente dirección web:


http://cs.stanford.edu/people/eroberts/courses/soco/projects/2000-01/neural-
networks/index.html

TEMA 6 – + Información © Universidad Internacional de La Rioja (UNIR)


Técnicas de Inteligencia Artificial

Bibliografía

Gurney, K. (1997). An Introduction to Neural Networks. London: UCL Press.

Haykin, S. (1998). Neural Networks: A Comprehensive Foundation. Prentice Hall.

Negnevitsky, M. (2005). Artificial Intelligence. A Guide to Intelligent Systems. UK:


Addison-Wesley.

Witten, I.H. & Frank, E. (2005). Data Mining. USA: Morgan Kaufmann Publishers.

TEMA 6 – + Información © Universidad Internacional de La Rioja (UNIR)


Técnicas de Inteligencia Artificial

Actividades

Trabajo: Generación de un modelo clasificatorio con redes


neuronales y comparación con otras técnicas

Descripción

Mediante este trabajo has de aplicar diferentes conocimientos adquiridos durante la


asignatura para la creación de modelos de clasificación a partir de unos datos
disponibles en una base de datos relativos a características de diferentes coches y la
evaluación de los mismos. Analizarás algunos datos de salida proporcionados por Weka
con el fin de realizar una comparativa de los modelos generados por los diferentes
métodos.

Pautas de elaboración

Deberás entregar un informe tras seguir los diferentes pasos especificados a


continuación. Se incluye en cada paso el porcentaje sobre la puntuación total del
ejercicio que se puede obtener por la realización correcta del mismo (aunque hay pasos
por los que no se obtiene puntuación, es necesario que los realices). El contenido del
informe se especifica en cada uno de los siguientes pasos que has de realizar para
completar este trabajo:

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

En concreto has de descargar los ficheros siguientes disponibles en


http://archive.ics.uci.edu/ml/machine-learning-databases/car/:

car.c45-names : describe los valores posibles de los atributos de entrada y de


salida (la propia clase).
car.data: contiene los valores que toman las instancias para los atributos de
entrada y de salida.
car.names: contiene una explicación de los datos del conjunto de datos ‘Car
Evaluation’.

TEMA 6 – Actividades © Universidad Internacional de La Rioja (UNIR)


Técnicas de Inteligencia Artificial

Incluye en el informe (5 % de la puntuación total) una descripción de los


datos del problema que contenga:

» Número de clases, indicando qué representan dichas clases y el tipo de valor


que toman.
» Número de instancias en total.
» Número de instancias pertenecientes a cada clase.
» Número de atributos de entrada, su significado y tipo.
» ¿Hay algún valor de atributo desconocido?

2. Consultando el manual de Weka disponible en el directorio raíz que se crea en la


instalación de la herramienta, crea a partir de la información de los ficheros
anteriores un único fichero de entrada de Weka car.arff. Si lo prefieres, puedes
utilizar el conversor C45Loader, para cargar los datos a partir de su formato
original.

3. Ejecuta el Explorer de Weka y carga el fichero generado car.arff en el paso previo 2.

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:

a. Aprendizaje de Árboles de decisión


b. Aprendizaje de Reglas
c. Redes neuronales

Para el caso de las redes neuronales, escoge el clasificador MultilayerPerceptron


con las opciones por defecto.

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).

TEMA 6 – Actividades © Universidad Internacional de La Rioja (UNIR)


Técnicas de Inteligencia Artificial

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).

6. Incluye en el informe: comentarios sobre las ventajas y desventajas de cada


método en lo que se refiere a la representación obtenida del modelo (15% de la
puntuación total).

7. A la hora de escoger una técnica adecuada para generar un clasificador, es muy


importante la validación del modelo. Fíjate por tanto en los datos de validación
obtenidos para cada modelo en el paso previo 4 y realiza una comparativa de los
modelos en lo que respecta a la efectividad en la predicción de la clase de futuras
nuevas instancias. Básate al menos en los siguientes valores aportados por Weka:

a. Correctly Classified Instances


b. Incorrectly Classified Instances
c. TP Rate
d. FP Rate
e. Confusion Matrix

Incluye en el informe las principales conclusiones de la comparativa realizada


de los tres modelos obtenidos mediante Weka, justificando las afirmaciones que
realices en base a cada métrica utilizada (Correctly classified instances, TP rate,
etc.) (40 % de la puntuación total).

8. Fíjate en el tiempo de ejecución que lleva la construcción de cada modelo, incluye


en el informe (5% de la puntuación total) dichos tiempos y la respuesta a la
siguiente pregunta ¿qué método presenta un tiempo mayor de ejecución?

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.

TEMA 6 – Actividades © Universidad Internacional de La Rioja (UNIR)


Técnicas de Inteligencia Artificial

Test

1. Indica cuáles de las siguientes afirmaciones son correctas:


A. Las neuronas artificiales simulan el comportamiento de las neuronas
biológicas.
B. Las neuronas artificiales pueden tener varias salidas que toman valores
diferentes.
C. Las neuronas artificiales pueden tener varias entradas que toman valores
diferentes.
D. Las entradas de las neuronas artificiales se ponderan con un peso.

2. Selecciona las opciones correctas. En la fase de entrenamiento de una red neuronal:


A. Se ajusta el número de capas de la red neuronal.
B. Se ajustan los pesos de los enlaces que conectan las neuronas.
C. Se ajusta el número de neuronas por capa de la red neuronal.
D. Ninguna de las anteriores.

3. Selecciona las opciones correctas. La salida de una neurona se puede calcular:


A. Utilizando la función signo.
B. Utilizando la función escalón.
C. Utilizando una función lineal.
D. Utilizando una función de activación.

4. Indica cuál de las afirmaciones siguientes son correctas respecto a la regla de


aprendizaje del perceptrón:
A. Se utiliza para calcular las salidas de la red.
B. Utiliza la diferencia entre la salida real y la salida esperada para ajustar los
pesos.
C. Se puede establecer una tasa de aprendizaje en la regla que pondera la
relevancia del último peso calculado.
D. Se utiliza para ajustar los pesos de la red.

TEMA 6 – Test © Universidad Internacional de La Rioja (UNIR)


Técnicas de Inteligencia Artificial

5. Selecciona la opción más correcta. El funcionamiento de una red neuronal queda


determinado por:
A. El número de capas, número de neuronas y las conexiones entre neuronas.
B. La función de activación, el número de capas, el número de neuronas y los
pesos entre las neuronas.
C. El algoritmo de aprendizaje, la regla de aprendizaje, el número de capas,
número de neuronas y las conexiones entre neuronas.
D. El algoritmo de aprendizaje, la función de activación, el número de capas,
número de neuronas y las conexiones entre neuronas.

6. Indica cuáles de las siguientes afirmaciones son correctas:


A. Las redes neuronales multicapa son redes bidireccionales.
B. Las redes neuronales multicapa son redes asociativas.
C. Las redes neuronales multicapa son redes de alimentación hacia adelante.
D. Las redes neuronales multicapa son redes unidireccionales.

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.

TEMA 6 – Test © Universidad Internacional de La Rioja (UNIR)


Técnicas de Inteligencia Artificial

9. Indica cuáles de las siguientes afirmaciones son correctas respecto de la redes


Hopfield:
A. El estado de la red viene determinado por los pesos de los enlaces.
B. El objetivo es que la red sea capaz de almacenar unos determinados estados.
C. El objetivo es que la red sea capaz de almacenar unas memorias
fundamentales.
D. No es preciso comprobar que la red sea capaz de almacenar memorias
fundamentales.

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.

TEMA 6 – Test © Universidad Internacional de La Rioja (UNIR)

También podría gustarte