Anda di halaman 1dari 32

INDICE

REDES NEURONALES ARTIFICIALES ................................................................................. 4

1. Definiciones de una red neuronal ...................................................................................... 4

2. Ventajas que ofrecen las redes neuronales ....................................................................... 4

2.1. Aprendizaje adaptativo .............................................................................................. 5

2.2. Auto-organización ...................................................................................................... 5

2.3. Tolerancia a fallos ....................................................................................................... 6

2.4. Operación en tiempo real .......................................................................................... 6

2.5. Fácil inserción dentro de la tecnología existente ...................................................... 7

3. Elementos básicos que componen una red neuronal ........................................................ 7

3.1 Función de entrada (input function) ............................................................................... 8

3.2 Función de activación (activation function) ................................................................... 9

3.3 Función de salida (output function)................................................................................ 9

4. Aprendizaje, Validación y Codificación ............................................................................. 10

4.1. Niveles o capas de una red neuronal. ...................................................................... 10

4.2. Tipos de neuronas artificiales .................................................................................. 10

4.3. Mecanismos de aprendizaje..................................................................................... 10

4.4. Validación de la red neuronal. ................................................................................. 11

5. Principales Topologías ............................................................................................ 12

5.1. Topología de las redes neuronales. .............................................................................. 12

5.2. Redes monocapa. .......................................................................................................... 12

5.3. Redes multicapa. ........................................................................................................... 12

5.4. Conexión entre neuronas. ............................................................................................ 12

5.5. Ejemplo. ........................................................................................................................ 13

5.6. Estructura de la Red Hopfield. ...................................................................................... 15

5.7. Simulated Annealing aplicada a una Red Hopfield. ...................................................... 16


5.8. Asociaciones entre la información de entrada y salida. ............................................... 18

5.8.1. Redes heteroasociativas............................................................................................ 19

5.8.2. Redes autoasociativas. .............................................................................................. 20

6. Aplicaciones ............................................................................................................ 20

6.1. Aplicaciones de las redes neuronales. .......................................................................... 20

6.1.1. Asociación y clasificación. ......................................................................................... 22

6.1.2. Regeneración de patrones. ....................................................................................... 23

6.1.3. Regeneración y generalización.................................................................................. 23

6.1.4. Optimización. ............................................................................................................ 23

6.2. Casos concretos de aplicación. ..................................................................................... 23

6.2.1. Planificación del staff (cuerpo) de empleados. ......................................................... 23

6.2.2. Planificación de la demanda de materiales. ............................................................. 26

6.2.3. Puntuación para la solicitud de un crédito. .............................................................. 29


REDES NEURONALES ARTIFICIALES

1. Definiciones de una red neuronal

Existen numerosas formas de definir a las redes neuronales; desde las definiciones cortas y
genéricas hasta las que intentan explicar más detalladamente qué son las redes neuronales. Por
ejemplo:
1) Una nueva forma de computación, inspirada en modelos biológicos.
2) Un modelo matemático compuesto por un gran número de elementos procesales organizados
en niveles.
3) Es un sistema de computación compuesto por un gran número de elementos simples,
elementos de procesos muy interconectados, los cuales procesan información por medio de su
estado dinámico como respuesta a entradas externas.
4) Redes neuronales artificiales son redes interconectadas masivamente en paralelo de elementos
simples (usualmente adaptativos) y con organización jerárquica, las cuales intentan interactuar
con los objetos del mundo real del mismo modo que lo hace el sistema nervioso biológico.
2. Ventajas que ofrecen las redes neuronales

Debido a su constitución y a sus fundamentos, las redes neuronales artificiales presentan un gran
número de características semejantes a las del cerebro. Por ejemplo, son capaces de aprender de
la experiencia, de generalizar de casos anteriores a nuevos casos, de abstraer características
esenciales a partir de entradas que representan información irrelevante, etc. Esto hace que
ofrezcan numerosas ventajas y que este tipo de tecnología se esté aplicando en múltiples áreas.
Entre las ventajas se incluyen:
 Aprendizaje Adaptativo. Capacidad de aprender a realizar tareas basadas en un
entrenamiento o en una experiencia inicial.
 Auto-organización. Una red neuronal puede crear su propia organización o
representación de la información que recibe mediante una etapa de aprendizaje.
 Tolerancia a fallos. La destrucción parcial de una red conduce a una degradación de
su estructura; sin embargo, algunas capacidades de la red se pueden retener, incluso
sufriendo un gran daño.
 Operación en tiempo real. Los cómputos neuronales pueden ser realizados en paralelo;
para esto se diseñan y fabrican máquinas con hardware especial para obtener esta
capacidad.
 Fácil inserción dentro de la tecnología existente. Se pueden obtener chips
especializados para redes neuronales que mejoran su capacidad en ciertas tareas. Ello
facilitará la integración modular en los sistemas existentes.

2.1.Aprendizaje adaptativo

La capacidad de aprendizaje adaptativo es una de las características más atractivas de


redes neuronales. Esto es, aprenden a llevar a cabo ciertas tareas mediante un entrenamiento con
ejemplos ilustrativos. Como las redes neuronales pueden aprender a diferenciar patrones
mediante ejemplos y entrenamientos, no es necesario elaborar modelos a priori ni necesidad de
especificar funciones de distribución de probabilidad. Las redes neuronales son sistemas
dinámicos autoadaptativos. Son adaptables debido a la capacidad de autoajuste de los elementos
procesales (neuronas) que componen el sistema. Son dinámicos, pues son capaces de estar
constantemente cambiando para adaptarse a las nuevas condiciones. En el proceso de
aprendizaje, los enlaces ponderados de las neuronas se ajustan de manera que se obtengan ciertos
resultados específicos. Una red neuronal no necesita un algoritmo para resolver un problema, ya
que ella puede generar su propia distribución de pesos en los enlaces mediante el aprendizaje.
También existen redes que continúan aprendiendo a lo largo de su vida, después de completado
su período de entrenamiento. La función del diseñador es únicamente la obtención de la
arquitectura apropiada. No es problema del diseñador el cómo la red aprenderá a discriminar.
Sin embargo, sí es necesario que desarrolle un buen algoritmo de aprendizaje que le proporcione
a la red la capacidad de discriminar, mediante un entrenamiento con patrones.
2.2.Auto-organización

Las redes neuronales emplean su capacidad de aprendizaje adaptativo para autoorganizar


la información que reciben durante el aprendizaje y/o la operación. Mientras que el aprendizaje
es la modificación de cada elemento procesal, la autoorganización consiste en la modificación
de la red neuronal completa para llevar a cabo un objetivo específico. Cuando las redes
neuronales se usan para reconocer ciertas clases de patrones, ellas autoorganizan la información
usada. Por ejemplo, la red llamada backpropagation, creará su propia representación
característica, mediante la cual puede reconocer ciertos patrones. Esta autoorganización provoca
la generalización: facultad de las redes neuronales de responder apropiadamente cuando se les
presentan datos o situaciones a las que no había sido expuesta anteriormente. El sistema puede
generalizar la entrada para obtener una respuesta. Esta característica es muy importante cuando
se tiene que solucionar problemas en los cuales la información de entrada no es muy clara;
además permite que el sistema dé una solución, incluso cuando la información de entrada está
especificada de forma incompleta.

2.3.Tolerancia a fallos

Las redes neuronales fueron los primeros métodos computacionales con la capacidad
inherente de tolerancia a fallos. Comparados con los sistemas 10 computacionales tradicionales,
los cuales pierden su funcionalidad cuando sufren un pequeño error de memoria, en las redes
neuronales, si se produce un fallo en un número no muy grande de neuronas y aunque el
comportamiento del sistema se ve influenciado, no sufre una caída repentina. Hay dos aspectos
distintos respecto a la tolerancia a fallos:
a) Las redes pueden aprender a reconocer patrones con ruido, distorsionados o
incompletos. Esta es una tolerancia a fallos respecto a los datos.
b) Las redes pueden seguir realizando su función (con cierta degradación)
aunque se destruya parte de la red.
La razón por la que las redes neuronales son tolerantes a los fallos es que tienen su
información distribuida en las conexiones entre neuronas, existiendo cierto grado de redundancia
en este tipo de almacenamiento. La mayoría de los ordenadores algorítmicos y sistemas de
recuperación de datos almacenan cada pieza de información en un espacio único, localizado y
direccionable. En cambio, las redes neuronales almacenan información no localizada. Por lo
tanto, la mayoría de las interconexiones entre los nodos de la red tendrán sus valores en función
de los estímulos recibidos, y se generará un patrón de salida que represente la información
almacenada.
2.4.Operación en tiempo real

Una de las mayores prioridades, casi en la totalidad de las áreas de aplicación, es la


necesidad de realizar procesos con datos de forma muy rápida. Las redes neuronales se adaptan
bien a esto debido a su implementación paralela. Para que la mayoría de las redes puedan operar
en un entorno de tiempo real, la necesidad de cambio en los pesos de las conexiones o
entrenamiento es mínimo.
2.5.Fácil inserción dentro de la tecnología existente

Una red individual puede ser entrenada para desarrollar una única y bien definida tarea
(tareas complejas, que hagan múltiples selecciones de patrones, requerirán sistemas de redes
interconectadas). Con las herramientas computacionales existentes (no del tipo PC), una red
puede ser rápidamente entrenada, comprobada, verificada y trasladada a una implementación
hardware de bajo coste. Por lo tanto, no se presentan dificultades para la inserción de redes
neuronales en aplicaciones específicas, por ejemplo de control, dentro de los sistemas existentes.
De esta manera, las redes neuronales se pueden utilizar para mejorar sistemas en forma
incremental y cada paso puede ser evaluado antes de acometer un desarrollo más amplio.

3. Elementos básicos que componen una red neuronal


A continuación se puede ver, en la Figura un esquema de una red neuronal:

La misma está constituida por neuronas interconectadas y arregladas en tres capas (esto
último puede variar). Los datos ingresan por medio de la “capa de entrada”, pasan a través de la
“capa oculta” y salen por la “capa de salida”. Cabe mencionar que la capa oculta puede estar
constituida por varias capas. Antes de comenzar el estudio sobre las redes neuronales, se debe
aprender algo sobre las neuronas y de cómo ellas son utilizadas por una red neuronal. En la
Figura se compara una neurona biológica con una neurona artificial. En la misma se pueden
observar las similitudes entre ambas (tienen entradas, utilizan pesos y generan salidas).
3.1 Función de entrada (input function)

La neurona trata a muchos valores de entrada como si fueran uno solo; esto recibe el
nombre de entrada global. Por lo tanto, ahora nos enfrentamos al problema de cómo se pueden
combinar estas simples entradas (ini1, ini2, ...) dentro de la entrada Capa de entrada Capas
ocultas Capa de salida I1 I2 In O1 O2 On Entradas Salidas Dendritas (entradas) Sinapsis (pesos)
Axon (salidas) 13 global, gini. Esto se logra a través de la función de entrada, la cual se calcula
a partir del vector entrada. La función de entrada puede describirse como sigue:
inputi = (ini1• wi1)* (ini2• wi2)*... (inin• win)
Donde: * representa al operador apropiado (por ejemplo: máximo, sumatoria, productoria, etc.),
n al número de entradas a la neurona Ni y wi al peso.
Los valores de entrada se multiplican por los pesos anteriormente ingresados a la neurona.
Por consiguiente, los pesos que generalmente no están restringidos cambian la medida de
influencia que tienen los valores de entrada. Es decir, que permiten que un gran valor de entrada
tenga solamente una pequeña influencia, si estos son lo suficientemente pequeños.

La nomenclatura utilizada en la Figura es la siguiente: ini1 = entrada número 1 a la


neurona Ni; wi1 = peso correspondiente a ini1; ini2 = entrada número 2 a la neurona Ni; wi2 =
peso correspondiente a ini2; y outi = salida de la neurona Ni. El conjunto de todas las n entradas
ini = (ini1, ini2, ..., inin) es comúnmente llamado “vector entrada”. Algunas de las funciones de
entrada más comúnmente utilizadas y conocidas son:
1) Sumatoria de las entradas pesadas: es la suma de todos los valores de entrada a
la neurona, multiplicados por sus correspondientes pesos.
∑(𝑛𝑖𝑗 𝑤𝑖𝑗 ) ), con j = 1, 2, ..., n
2) Productoria de las entradas pesadas: es el producto de todos los valores de entrada
a la neurona, multiplicados por sus correspondientes pesos.
∏(𝑛𝑖𝑗 𝑤𝑖𝑗 ), con j = 1, 2, ..., n
3) Máximo de las entradas pesadas: solamente toma en consideración el valor de
entrada más fuerte, previamente multiplicado por su peso correspondiente.
Max(𝑛𝑖𝑗 𝑤𝑖𝑗 ) con j = 1, 2, ..., n

3.2 Función de activación (activation function)

Una neurona biológica puede estar activa (excitada) o inactiva (no excitada); es decir, que
tiene un “estado de activación”. Las neuronas artificiales también tienen diferentes estados de
activación; algunas de ellas solamente dos, al igual que las biológicas, pero otras pueden tomar
cualquier valor dentro de un conjunto determinado. La función activación calcula el estado de
actividad de una neurona; transformando la entrada global (menos el umbral, Θi) en un valor
(estado) de activación, cuyo rango normalmente va de (0 a 1) o de (–1 a 1). Esto es así, porque
una neurona puede estar totalmente inactiva (0 o –1) o activa (1). La función activación, es una
función de la entrada global (gini) menos el umbral (Θi).
Para explicar porque se utilizan estas funciones de activación se suele emplear la analogía
a la aceleración de un automóvil. Cuando un auto inicia su movimiento necesita una potencia
elevada para comenzar a acelerar. Pero al ir tomando velocidad, este demanda un menor
incremento de dicha potencia para mantener la aceleración. Al llegar a altas velocidades,
nuevamente un amplio incremento en la potencia es necesario para obtener una pequeña ganancia
de velocidad. En resumen, en ambos extremos del rango de aceleración de un automóvil se
demanda una mayor potencia para la aceleración que en la mitad de dicho rango.

3.3 Función de salida (output function)

El último componente que una neurona necesita es la función de salida. El valor resultante
de esta función es la salida de la neurona i (outi); por ende, la función de salida determina qué
valor se transfiere a las neuronas vinculadas. Si la función de activación está por debajo de un
umbral determinado, ninguna salida se pasa a la neurona subsiguiente. Normalmente, no
cualquier valor es permitido como una entrada para una neurona, por lo tanto, los valores de
salida están comprendidos en el rango [0, 1] o [-1, 1]. También pueden ser binarios {0, 1} o {-1,
1}. Dos de las funciones de salida más comunes son:
 Ninguna: este es el tipo de función más sencillo, tal que la salida es la misma que la
entrada. Es también llamada función identidad.
1 𝑎𝑐𝑡𝑖 ≥ ξ i
 Binaria: {
0 𝑑𝑒 𝑙𝑜 𝑐𝑜𝑛𝑡𝑟𝑎𝑟𝑖𝑜

4. Aprendizaje, Validación y Codificación

4.1.Niveles o capas de una red neuronal.

La distribución de neuronas dentro de la red se realiza formando niveles o capas, con un


número determinado de dichas neuronas en cada una de ellas. A partir de su situación dentro de
la red, se pueden distinguir tres tipos de capas: - De entrada: es la capa que recibe directamente
la información proveniente de las fuentes externas de la red. - Ocultas: son internas a la red y no
tienen contacto directo con el entorno exterior. El número de niveles ocultos puede estar entre
cero y un número elevado. Las neuronas de las capas ocultas pueden estar interconectadas de
distintas maneras, lo que determina, junto con su número, las distintas topologías de redes
neuronales. - De salidas: transfieren información de la red hacia el exterior. En la Figura 4.1 se
puede ver el ejemplo de la estructura de una posible red multicapa, en la que cada nodo o neurona
únicamente está conectada con neuronas de un nivel superior. Notar que hay más conexiones que
neuronas en sí; en este sentido, se dice que una red es totalmente conectada si todas las salidas
desde un nivel llegan a todos y cada uno de los nodos del nivel siguiente.
4.2.Tipos de neuronas artificiales

Las neuronas artificiales se pueden clasificar de acuerdo a los valores que pueden tomar.
Por ahora es suficiente distinguir entre dos tipos principales: a- Neuronas binarias. b- Neuronas
reales. Las neuronas binarias solamente pueden tomar valores dentro del intervalo {0, 1} o {-1,
1}, mientras que las neuronas reales pueden hacerlo dentro del rango [0, 1] o [-1, 1]. Los pesos
normalmente no están restringidos a un cierto intervalo, aunque para aplicaciones específicas
puede ser esto necesario.
4.3.Mecanismos de aprendizaje

Se ha visto que los datos de entrada se procesan a través de la red neuronal con el
propósito de lograr una salida. También se dijo que las redes neuronales extraen generalizaciones
desde un conjunto determinado de ejemplos anteriores de tales problemas de decisión. Una red
neuronal debe aprender a calcular la salida correcta para cada constelación (arreglo o vector) de
entrada en el conjunto de ejemplos. Este proceso de aprendizaje se denomina: proceso de
entrenamiento o acondicionamiento. El conjunto de datos (o conjunto de ejemplos) sobre el cual
este proceso se basa es, por ende, llamado: conjunto de datos de entrenamiento. Si la topología
de la red y las diferentes funciones de cada neurona (entrada, activación y salida) no pueden
cambiar durante el aprendizaje, mientras que los pesos sobre cada una de las conexiones si
pueden hacerlo; el aprendizaje de una red neuronal significa: adaptación de los pesos. En otras
palabras el aprendizaje es el proceso por el cual una red neuronal modifica sus pesos en respuesta
a una información de entrada. Los cambios que se producen durante el mismo se reducen a la
destrucción, modificación y creación de conexiones entre las neuronas. En los sistemas
biológicos existe una continua destrucción y creación de conexiones entre las neuronas. En los
modelos de redes neuronales artificiales, la creación de una nueva conexión implica que el peso
de la misma pasa a tener un valor distinto de cero. De la misma manera, una conexión se destruye
cuando su peso pasa a ser cero.
Otro criterio que se puede utilizar para diferenciar las reglas de aprendizaje se basa en
considerar si la red puede aprender durante su funcionamiento habitual o si el aprendizaje supone
la desconexión de la red, es decir, su inhabilitación hasta que el proceso termine. En el primer
caso, se trataría de un aprendizaje on line, mientras que el segundo es lo que se conoce como off
line. Cuando el aprendizaje es off line, se distingue entre una fase de aprendizaje o entrenamiento
y una fase de operación o funcionamiento, existiendo un conjunto de datos de entrenamiento y
un conjunto de datos de test o prueba, que serán utilizados en la correspondiente fase. Además,
los pesos de las conexiones permanecen fijos después que termina la etapa de entrenamiento de
la red. Debido precisamente a su carácter estático, estos sistemas no presentan problemas de
estabilidad en su funcionamiento.
4.4.Validación de la red neuronal.

Después del proceso de entrenamiento los pesos de las conexiones en la red neuronal
quedan fijos. Como paso siguiente se debe comprobar si la red neuronal puede resolver nuevos
problemas, del tipo general, para los que ha sido entrenada. Por lo tanto, con el propósito de
validar la red neuronal se requiere de otro conjunto de datos, denominado conjunto de validación
o testeo. Cada ejemplo del conjunto de evaluación contiene los valores de las variables de
entrada, con su correspondiente solución tomada; pero ahora esta solución no se le es otorgada a
la red neuronal. Luego se compara la solución calculada para cada ejemplo de validación con la
solución conocida. El nuevo ejemplo utilizado para la validación se identifica como Eu y su
correspondiente salida correcta como Au (u indica incógnita, en inglés). Ahora el problema es
que hay que decidir cuando la salida de la red neuronal ha de considerarse como correcta.

5. Principales Topologías

5.1.Topología de las redes neuronales.


La topología o arquitectura de una red neuronal consiste en la organización y disposición de las
neuronas en la misma, formando capas o agrupaciones de neuronas más o menos alejadas de la
entrada y salida de dicha red. En este sentido, los parámetros fundamentales de la red son: el
número de capas, el número de neuronas por capa, el grado de conectividad y el tipo de
conexiones entre neuronas.

5.2.Redes monocapa.
En las redes monocapa, se establecen conexiones entre las neuronas que pertenecen a la única
capa que constituye la red. Las redes monocapas se utilizan generalmente en tareas
relacionadas con lo que se conoce como autoasociación (regenerar información de entrada que
se presenta a la red de forma incompleta o distorsionada).
5.3.Redes multicapa.
Las redes multicapas son aquellas que disponen de un conjunto de neuronas agrupadas
en varios (2, 3, etc.) niveles o capas. En estos casos, una forma para distinguir la capa a la que
pertenece una neurona, consistiría en fijarse en el origen de las señales que recibe a la entrada y
el destino de la señal de salida. Normalmente, todas las neuronas de una capa reciben señales
de entrada desde otra capa anterior (la cual está más cerca a la entrada de la red), y envían señales
de salida a una capa posterior (que está más cerca a la salida de la red). A estas conexiones se las
denomina conexiones hacia adelante o feedforward.
Sin embargo, en un gran número de estas redes también existe la posibilidad de conectar
la salida de las neuronas de capas posteriores a la entrada de capas anteriores; a estas conexiones
se las denomina conexiones hacia atrás o feedback.
Estas dos posibilidades permiten distinguir entre dos tipos de redes con múltiples capas:
las redes con conexiones hacia adelante o redes feedforward, y las redes que disponen de
conexiones tanto hacia adelante como hacia atrás o redes feedforward/feedback.

5.4.Conexión entre neuronas.


La conectividad entre los nodos de una red neuronal está relacionada con la forma en que
las salidas de las neuronas están canalizadas para convertirse en entradas de otras neuronas. La
señal de salida de un nodo puede ser una entrada de otro elemento de proceso, o incluso ser una
entrada de sí mismo (conexión autorrecurrente).
Cuando ninguna salida de las neuronas es entrada de neuronas del mismo nivel o de
niveles precedentes, la red se describe como de conexión hacia delante (ver Figura4.1). Cuando
las salidas pueden ser conectadas como entradas de neuronas de niveles previos o del mismo
nivel, incluyéndose ellas mismas, la red es de conexión hacia atrás.
Las redes de propagación hacia atrás que tienen lazos cerrados son llamadas:
sistemas recurrentes.

5.5.Redes de propagación hacia atrás (backpropagation).


El nombre de backpropagation resulta de la forma en que el error es propagado hacia
atrás a través de la red neuronal, en otras palabras el error se propaga hacia atrás desde la capa
de salida. Esto permite que los pesos sobre las conexiones de las neuronas ubicadas en las capas
ocultas cambien durante el entrenamiento.
El cambio de los pesos en las conexiones de las neuronas además de influir sobre la
entrada global, influye en la activación y por consiguiente en la salida de una neurona. Por lo
tanto, es de gran utilidad considerar las variaciones de la función activación al modificarse el
valor de los pesos. Esto se llama sensibilidad de la función activación, de acuerdo al cambio en
los pesos.
5.5. Ejemplo.
Una temperatura de 20ºC provoca que el tiempo de operación de una máquina sea de 90
segundos y un incremento de dicha temperatura hasta los 30ºC causa un tiempo de operación de
100 segundos. ¿Cómo influyó el incremento de la temperatura en el tiempo de trabajo de la
máquina? Por supuesto, hizo más lenta la operación. Pero,
¿por cuánto?

variación de tiempo
El cociente, , muestra la reacción o sensibilidad del
variación de temperatura

tiempo de trabajo conforme a los cambios suscitados en la temperatura. En consecuencia, para


nuestro ejemplo tenemos que:

100  90  tiempo 10
segundos/º C   segundos/º C  1 segundos/º C
30  20 temperatura 10
Esto significa que se produce un incremento de tiempo de aproximadamente 1 segundo,
cuando la temperatura se eleva 1ºC.
Ahora si se supone que en lugar del tiempo se tiene la activación de una neurona y en
lugar de la temperatura, la entrada global. Dado que la mayoría de las funciones de activación
son no lineales (por ejemplo la función sigmoidea o la tangente hiperbólica), se tiene que calcular
la derivada de la función con respecto al peso; por consiguiente, la entrada global cambia. Esta
derivada se utiliza para cambiar los pesos durante el proceso de aprendizaje.
Para cada una de las neuronas en la capa de salida, la desviación objetivo (la cual es: la
salida objetivo menos la salida real) es multiplicada por la derivada de la función activación.
Utilizando la derivada se logra una “sintonización fina” de los pesos cuando la salida real esta
cerca de la salida deseada. Al mirar la Figura 6.1, la misma muestra una constelación donde la
salida real para una neurona es 0.95 y la deseada es de 1.

Activación

F. sigmiodea (g, x)
Salida deseada = 1
Salida real = 0.95
Entrada global

Figura 6.1: desviación a la salida


objetivo.
Dado que la derivada de la función activación es relativamente baja en esta región (cuando
la función activación está próxima a 1), el producto “derivada por desviación objetivo”, igual al
error, no se torna muy grande. Esto es lo que se llama sintonía fina de los pesos. De esta manera,
la diferencia en el cómputo del error para las neuronas de salida al utilizar el algoritmo de
backpropagation, en lugar de las reglas simples de aprendizaje del Perceptron, es justamente el
factor derivada de la función activación.

5.6.Estructura de la Red Hopfield.

La Red Hopfield es recurrente y completamente interconectada. Funciona como una


memoria asociativa no lineal, que puede almacenar internamente patrones presentados de forma
incompleta o con ruido. De esta forma puede ser usada como una herramienta de optimización;
también se han utilizado en aplicaciones de segmentación y restauración de imágenes y
optimización combinatoria.

La Red Hopfield consta de un número de neuronas simétrica e íntegramente conectadas,


como ya se mencionó anteriormente. Esto significa que si existe una conexión desde la neurona
Ni a la neurona Nj, también existe la conexión desde Nj a Ni; ambas exhibendo el mismo peso (wij
= wji). Vale aclarar que la conexión de una neurona con sí misma no está permitida.

El conjunto permitido de valores de entrada y salida es {0, 1} (o en alguna oportunidad


{-1, 1}); o sea, es un conjunto binario. De esta manera todas las neuronas en una Red Hopfield
son binarias, tomando solamente uno de los dos estados posibles: activo (1) o inactivo (-1 o 0).

Las Redes Hopfield se emplean para reconocer patrones. Después que el aprendizaje haya
llegado a su fin, la red neuronal debe ser capaz de dar una salida correcta para cada patrón de
entrada dado, aun cuando este sea ruidoso.

La clave del aprendizaje Hopfield es que si un patrón que tiene que ser aprendido se
conoce, los pesos sobre cada conexión de la red neuronal pueden ser calculados. En esta
circunstancia, solamente el estado de las neuronas cambia durante el proceso de aprendizaje. Este
cálculo garantiza que cada patrón aprendido corresponda a un mínimo de la función energía.

Es importante entender que para este tipo de redes la definición de aprendizaje es diferente
al dado anteriormente, donde aprendizaje significaba simplemente la adaptación de los pesos. En
una Red Hopfield los pesos se pueden calcular y se mantienen fijos durante el aprendizaje de los
patrones. Solamente cambia el estado de las neuronas.
Para calcular el peso de una conexión cualquiera, wij (y por simetría para la conexión wji),
en una Red Hopfield se utiliza la siguiente ecuación:

Q
wij  ∑ (2 * eqi  1) * (2 * eqj  1) , i< > j

q1
siendo Q el número de patrones y eqi la entrada a la neurona Ni.
Generalmente es aconsejable trabajar con esta ecuación cuando los patrones que se han
de aprender no son muy semejantes unos a otros, y si el número de ceros y unos son similares
para todos los patrones. Con respecto al número de ceros y unos, el umbral de cada neurona puede
utilizarse para regular esto, distinguiéndose así dos casos posibles:
5.6.1.Si hay más 0s que 1s el umbral tiene que disminuirse, porque que las neuronas tienen
una probabilidad más alta para hacerse inactivas que para hacerse activas.
5.6.2.Si hay mas 1s que 0s el umbral tiene que incrementarse, porque las neuronas tienen
una probabilidad más alta para hacerse activas que para hacerse inactivas.

5.7.Simulated Annealing aplicada a una Red Hopfield.

En muchos problemas, la tarea no es justamente encontrar cualquier mínimo local, sino


la de encontrar el óptimo global. Lo que significa que para una entrada determinada se debe
encontrar una salida que resulte en un mínimo de la función energía. Utilizando una Red
Hopfield, se encuentra que un mínimo yace cerca del vector de entrada dado, porque la energía
decrece paso a paso. El cual puede ser un mínimo local.

En una Red Hopfield todos los mínimos locales son un estado estable. Un problema
similar se origina en termodinámica durante el proceso de cristalización. Durante un
enfriamiento lento, el cristal crece con una estructura casi perfecta, ya que cada átomo tiene
bastante tiempo para saltar a otra posición dentro de la cuadrícula, de tal forma que la energía
total del cristal decrezca. Para realizar dicho salto se necesita energía, es decir, que si el cristal
tiene la energía suficiente (si su temperatura es aun bastante alta), todos los átomos disponen
de una chance para cambiar su posición. Pero para permitir que esto ocurra la energía de un
átomo tiene que incrementarse por un corto tiempo, de lo contrario el átomo descansaría en su
vieja posición.

Tener una chance se puede interpretar como “hay una probabilidad”. Esta probabilidad
depende de la activación que un átomo muestra a una determinada temperatura y tiempo del
sistema.

Utilizando esta técnica donde el cristal comienza a una temperatura elevada y que luego
decrece paso a paso, se les da a los átomos una posibilidad de cambiar sus estados
independientemente de la activación, por medio de un incremento en la energía de los mismos
de un paso a otro. Cuando la temperatura se reduce, la cuadrícula vibra menos, y el sistema (la
cuadrícula) alcanza un estado estable; haciéndose gradualmente más dificultoso para un átomo
encontrar la energía para saltar a otra posición. Esta es la idea de Simulated Annealing, que
luego se aplica a la Red Hopfield cuando se intenta encontrar un óptimo global.
A grandes rasgos se describe que una Simulated Annealing trabaja de esta manera:

a- Escoger cualquier neurona.


b- Calcular d = gini - i.
1
c- Calcular Pi = (probabilidad)
1  ed
/T
d- Generar un número aleatorio r, con 1  r  0
e- Si (Pi  r)
el conjunto outi a 1
de otra manera
el conjunto outi a 0

f- Disminuye T. Volver al paso a-.


El algoritmo se detiene cuando se alcanza algún criterio de detención; por ejemplo si la
temperatura llega a su límite inferior o si el número de ciclos alcanza su límite superior.
La premisa fundamental de este método es que el problema de optimización puede
formularse como una función energética. Por lo tanto hallar el óptimo global implica encontrar
el mínimo de dicha función energética. La misma tiene un aspecto genérico de esta forma:

E  0.5 * ∑ ∑ (wij * outi * out j )  ∑ (i * out i )


i j i

Se han logrado exitosas aplicaciones de Simulated Annealing, principalmente


concernientes a los problemas de optimización combinatoria, semejantes al problema del
viajante. El cual no puede resolverse fácilmente por métodos estadísticos o analíticos. Por
ejemplo, imagine que un viajante tiene que visitar 19 ciudades. ¿Qué ruta suministra el
camino más corto entre todas las ciudades, o sea, en qué orden deberán visitarse todas las
ciudades?

Por último una diferenciación muy importante es que en una Simulated Annealing
la energía puede disminuir en un paso y crecer en el otro, pero en una Red Hopfield la
energía solamente puede disminuir paso a paso.

5.8.Asociaciones entre la información de entrada y salida.


Ya se sabe que las redes neuronales son sistemas que almacenan cierta información
aprendida. Esta información se registra de forma distribuida en los pesos asociados a las
conexiones entre neuronas. Por tanto, puede imaginarse una red como cierto tipo de memoria que
almacena datos de forma estable, datos que se grabarán en dicha memoria como consecuencia
del aprendizaje de la red y que podrán ser leídos a la salida como respuesta a cierta información
de entrada, comportándose entonces la red como lo que habitualmente se conoce por memoria
asociativa: cuando se aplica un estímulo (dato de entrada) la red responde con una salida asociada
a dicha información de entrada.

Existen dos formas primarias de realizar esta asociación entre entradas/salidas que se
corresponden con la naturaleza de la información almacenada en la red. Una primera sería la
denominada heteroasociación, que se refiere al caso en el que la red aprende parejas de datos
[(A1,B1), (A2, B2),... (AN,BN)], de tal forma que cuando se presente cierta información de entrada
Ai, deberá responder generando la correspondiente salida asociada Bi. La segunda se conoce
como autoasociación, donde la red aprende ciertas informaciones A1, A2, ..., AN; de tal forma
que cuando se le presenta una información de entrada realizará una autocorrelación,
respondiendo con uno de los datos almacenados, el más parecido al de entrada.

Estos dos mecanismos de asociación dan lugar a dos tipos de redes neuronales: las redes
heteroasociativas y las autoasociativas. Una red heteroasociativa podría considerarse como
aquella que computa cierta función, que en la mayoría de los casos no podría expresarse
analíticamente, entre un conjunto de entradas y un conjunto de salidas, correspondiendo a cada
posible entrada una determinada salida. Por otra parte, una red autoasociativa es una red cuya
principal misión es reconstruir una determinada información de entrada que se presente
incompleta o distorsionada (le asocia el dato almacenado más parecido).

En realidad estos dos tipos de modelos de redes no son diferentes en principio, porque
una red heteroasiciativa puede siempre ser reducida a una asociativa mediante la
concatenación de una información de entrada y su salida (respuesta) asociada, para obtener la
información de entrada de la red autoasociativa equivalente. También puede conseguirse que
una red autoasociativa se comporte como heteroasociativa, simplemente presentando, como
entrada parcial de la autoasociativa, la información de entrada para la heteroasociativa y
haciendo que la red complete la información para producir lo que sería la salida de la red
heteroasociativa equivalente.

5.8.1. Redes heteroasociativas.

Las redes heteroasociativas, al asociar informaciones de entrada con diferentes


informaciones de salida, precisan al menos de dos capas, una para captar y retener la información
de entrada y otra para mantener la salida con la información asociada. Si esto no fuese así, se
perdería la información inicial al obtenerse el dato asociado {3}, lo cual no debe ocurrir, ya que
en el proceso de obtención de la salida se puede necesitar acceder varias veces a esta información
que, por tanto, deberá permanecer en la capa de entrada.

En cuanto a su conectividad, pueden ser del tipo con conexión hacia adelante (o
feedforward) o con conexión hacia atrás (feddforward/feedback), o bien con conexiones laterales.
5.8.2. Redes autoasociativas.

Una red autoasociativa asocia una información de entrada con el ejemplar más parecido
de los almacenados conocidos por la red. Estos tipos de redes pueden implementarse con una sola
capa de neuronas. Esta capa comenzará reteniendo la información inicial a la entrada, y terminará
representando la información autoasociada. Si se quiere mantener la información de entrada y
salida, se deberían añadir capas adicionales, sin embargo, la funcionalidad de la red puede
conseguirse en una sola capa.

En cuanto a su conectividad, existen de conexiones laterales y, en algunos casos, conexiones


autorrecurrentes.

6. Aplicaciones

6.1.Aplicaciones de las redes neuronales.

Las redes neuronales pueden utilizarse en un gran número y variedad de aplicaciones,


tanto comerciales como militares.

Se pueden desarrollar redes neuronales en un periodo de tiempo razonable, con la


capacidad de realizar tareas concretas mejor que otras tecnologías. Cuando se implementan
mediante hardware (redes neuronales en chips VLSI), presentan una alta tolerancia a fallos del
sistema y proporcionan un alto grado de paralelismo en el procesamiento de datos. Esto posibilita
la inserción de redes neuronales de bajo coste en sistemas existentes y recientemente
desarrollados.
Hay muchos tipos diferentes de redes neuronales; cada uno de los cuales tiene una
aplicación particular más apropiada. Algunas aplicaciones comerciales son:

• Biología:

- Aprender más acerca del cerebro y otros sistemas.

- Obtención de modelos de la retina.

• Empresa:

- Evaluación de probabilidad de formaciones geológicas y petrolíferas.

- Identificación de candidatos para posiciones específicas.

- Explotación de bases de datos.

- Optimización de plazas y horarios en líneas de vuelo.

- Optimización del flujo del tránsito controlando convenientemente la


temporización de los semáforos.

- Reconocimiento de caracteres escritos.

- Modelado de sistemas para automatización y control.

• Medio ambiente:

- Analizar tendencias y patrones.

- Previsión del tiempo.

• Finanzas:

- Previsión de la evolución de los precios.

- Valoración del riesgo de los créditos.

- Identificación de falsificaciones.

- Interpretación de firmas.

• Manufacturación:

- Robots automatizados y sistemas de control (visión artificial y sensores de


presión, temperatura, gas, etc.).

- Control de producción en líneas de procesos.

- Inspección de la calidad.

• Medicina:

- Analizadores del habla para ayudar en la audición de sordos profundos.

- Diagnóstico y tratamiento a partir de síntomas y/o de datos analíticos


(electrocardiograma, encefalogramas, análisis sanguíneo, etc.).

- Monitorización en cirugías.

- Predicción de reacciones adversas en los medicamentos.

- Entendimiento de la causa de los ataques cardíacos.

• Militares:

- Clasificación de las señales de radar.

- Creación de armas inteligentes.

- Optimización del uso de recursos escasos.

- Reconocimiento y seguimiento en el tiro al blanco.


La mayoría de estas aplicaciones consisten en realizar un reconocimiento de patrones,
como ser: buscar un patrón en una serie de ejemplos, clasificar patrones, completar una señal a
partir de valores parciales o reconstruir el patrón correcto partiendo de uno distorsionado. Sin
embargo, está creciendo el uso de redes neuronales en distintos tipos de sistemas de control.

Desde el punto de vista de los casos de aplicación, la ventaja de las redes neuronales reside
en el procesado paralelo, adaptativo y no lineal.

El dominio de aplicación de las redes neuronales también se lo puede clasificar de la


siguiente forma: asociación y clasificación, regeneración de patrones, regresión y generalización,
y optimización.

6.1.1.Asociación y clasificación.
En esta aplicación, los patrones de entrada estáticos o señales temporales deben ser
clasificadas o reconocidas. Idealmente, un clasificador debería ser entrenado para que cuando se
le presente una versión distorsionada ligeramente del patrón, pueda ser reconocida correctamente
sin problemas. De la misma forma, la red debería presentar cierta inmunidad contra el ruido, esto
es, debería ser capaz de recuperar una señal "limpia" de ambientes o canales ruidosos. Esto es
fundamental en las aplicaciones holográficas, asociativas o regenerativas.

6.1.1.1. Asociación: de especial interés son las dos clases de asociación:


autoasociación y heteroasociación. Como ya se mencionó en el apartado 6.8, el problema de
la autoasociación es recuperar un patrón enteramente, dada una información parcial del patrón
deseado. La heteroasociación es recuperar un conjunto de patrones B, dado un patrón de ese
conjunto. Los pesos en las redes asociativas son a menudo predeterminados basados en la
regla de Hebb. Normalmente, la autocorrelación del conjunto de patrones almacenado
determina los pesos en las redes autoasociativas. Por otro lado, la correlación cruzada de
muchas parejas de patrones se usa para determinar los pesos de la red de heteroasociación.

6.1.1.2. Clasificación no Supervisada: para esta aplicación, los pesos


sinápticos de la red son entrenados por la regla de aprendizaje no supervisado, esto es, la
red adapta los pesos y verifica el resultado basándose únicamente en los patrones de entrada.

6.1.1.3. Clasificación Supervisada: esta clasificación adopta algunas formas del


criterio de interpolación o aproximación. En muchas aplicaciones de clasificación, por ejemplo,
reconocimiento de voz, los datos de entrenamiento consisten de pares de patrones de entrada y
salida. En este caso, es conveniente adoptar las redes Supervisadas, como las bien conocidas y
estudiadas redes de retropropagación. Este tipo de redes son apropiadas para las aplicaciones
que tienen una gran cantidad de clases con límites de separación complejos.

6.1.2. Regeneración de patrones.

En muchos problemas de clasificación, una cuestión a solucionar es la recuperación de


información, esto es, recuperar el patrón original dada solamente una información parcial. Hay
dos clases de problemas: temporales y estáticos. El uso apropiado de la información contextual
es la llave para tener éxito en el reconocimiento.

6.1.3. Regeneración y generalización.

El objetivo de la generalización es dar una respuesta correcta a la salida para un estímulo


de entrada que no ha sido entrenado con anterioridad. El sistema debe inducir la característica
saliente del estímulo a la entrada y detectar la regularidad. Tal habilidad para el descubrimiento
de esa regularidad es crítica en muchas aplicaciones. Esto hace que el sistema funcione
eficazmente en todo el espacio, incluso cuando ha sido entrenado por un conjunto limitado de
ejemplos.

6.1.4.Optimización.

Las Redes Neuronales son herramientas interesantes para la optimización de


aplicaciones, que normalmente implican la búsqueda del mínimo absoluto de una función de
energía. Para algunas aplicaciones, la función de energía es fácilmente deducible; pero en otras,
sin embargo, se obtiene de ciertos criterios de coste y limitaciones especiales.

6.2.Casos concretos de aplicación.

A continuación se detallan los siguientes casos concretos de aplicación de redes


neuronales:

 Planificación del staff de empleados.

 Planificación de la demanda de materiales.

 Puntuación para la solicitud de un crédito.

6.2.1.Planificación del staff (cuerpo) de empleados.


Hoy más que nunca, las empresas están sujetas a la presión de los elevados costos. Esto
puede verse en diferentes sectores corporativos, tales como la planificación del staff de
empleados. Desde el punto de vista de las empresas, un empleado que falla al ejecutar la mayor
parte de las tareas asignadas, evidencia una baja productividad. Por el otro lado, esta situación
es frustrante para el empleado. Ambos efectos causan costos, los cuales podrían evitarse
realizando antes una prueba de aptitud. Estos problemas no solamente son originados por los
empleados nuevos, sino también por aquellos que son reubicados dentro de la misma empresa.

En este proyecto de investigación se examinó hasta donde la predicción de aptitudes


puede llevarse a cabo por una red neuronal, cuya topología suministre una tarea satisfactoria y
así lograr una predicción más exitosa.

Base de datos y codificación:

La base de datos inicial contenía información resultante de una investigación que


realizaron por medio de un cuestionario. Las respuestas obtenidas a través del mismo las
utilizaron para acumular información acerca de las cualidades específicas y habilidades
técnicas de cada individuo del personal indagado. Para cada pregunta, les fue posible
categorizar la respuesta en un intervalo que va de 1 a 5; constituyendo así la entrada que
presentaron a la red neuronal. Al entrevistado, posteriormente, lo examinaron en el orden de
obtener una cifra representativa de sus aptitudes. De esta manera el conjunto de datos de
entrenamiento quedó formado de la siguiente forma:

- Respuesta obtenidas a través del cuestionario = datos de entrada.


- Cifra representativa de la aptitud de la persona encuestada = salida deseada.
El primer problema que se les presentó fue cómo codificar los datos obtenidos,
decidiendo transformarlos dentro del intervalo [0.1, 1.0].

Cómo codificar la salida objetivo fue la próxima pregunta que consideraron.


Normalmente la compañía sólo quiere conocer si una persona ejecutará bien o mal la tarea
determinada, o si su desempeño será muy bueno, bueno, promedio, malo o muy malo.
Consecuentemente, (a) asignaron la salida dada dentro de varias clases y (b) transformaron las
cifras representativas dentro del intervalo [0, 1], utilizando en parte una función lineal.

Algoritmo de aprendizaje:

Ensayaron diferentes algoritmos de aprendizaje, de los cuales dos fueron escogidos


como los más apropiados: Propagación Rápida (Quickpropagation) y Propagación Elástica
(Resilient Propagation).

6.2.1.1. Quickpropagation: es una modificación del algoritmo estándar de


backpropagation. A diferencia de este, la adaptación de los pesos no es solamente influenciada
por la sensibilidad actual, sino también por la inclusión del error previo calculado.

6.2.1.2. Resilient Propagation: es otra modificación del algoritmo estándar de


backpropagation. En oposición a este, la adaptación de los pesos es influenciada por el signo
de la sensibilidad actual y antecesora, y no por su cantidad.

Topología de la red:

Evaluaron diferentes topologías de redes, las cuales no serán detalladas. La pregunta


fue: (a) ¿cuántas capas ocultas son necesarias?, (b) ¿cuántas neuronas en cada una de ellas? La
primera prueba que hicieron mostró que para este propósito la red debía contener 2 capas
ocultas, con la primera formada por tantas neuronas como la capa de entrada y la segunda por
un número menor que la primera (exactamente la mitad como mucho).
Resultados obtenidos a partir de los ensayos:

El primer resultado que consiguieron al intentar predecir la cifra representativa correcta


fue relativamente mala. Asumieron que esto fue causado por el hecho de que el número de
neuronas de entrada en proporción al número de ejemplos dados en el conjunto de datos de
entrenamiento fue elevado. La pequeña base de datos, conforme con la gran capa de entrada,
fue suficiente para realizar una tosca predicción, pero no para dar la correcta cifra
representativa.

Lo mencionado en el párrafo anterior hizo que enfocaran toda la atención en reducir el


número de neuronas de entradas en forma apropiada. También examinaron la red con la cual
se logró el mejor resultado, en función de conseguir indicadores de las entradas que
demostraran ser importantes y cúales no. Entonces, reduciendo el número de neuronas de
entrada y formando nuevas redes, consiguieron un resultado bastante bueno para la predicción
de las clases y aún para la predicción de la cifra representativa correcta.

En otra serie de test, examinaron los resultados que podrían favorecer a un


mejoramiento por agrupación de las neuronas de entrada para las preguntas interdependientes.
Cada grupo, que representaba una habilidad especial, fue conectado exactamente a una neurona
en la primer capa oculta. La razón para esto fue que haciendo ciertas conexiones se reduce
beneficiosamente el espacio de búsqueda, si y solo si, las conexiones representan la estructura
correcta, pero puede reducir el espacio de búsqueda inapropiadamente por prohibición de otras
conexiones.

6.2.2.Planificación de la demanda de materiales.

La tarea de planificar la demanda de materiales es justamente predecir en forma segura


la necesidad de los mismos, o más exactamente, de los factores de consumo. Esto involucra
tener una correcta información de los volúmenes aproximados de producción, así como de los
factores de tiempo.

Principalmente para resolver esta tarea pueden distinguirse los siguientes


procedimientos:

- Programación orientada (program-oriented).

- Consumo orientado (consumption-oriented).

En el método de programación orientada la predicción de la cantidad demandada se


basa sobre los resultados del planeamiento de producción. Mientras que el método de consumo
orientado toma en cuenta el consumo observado en períodos anteriores y sobre la base de dicha
información intenta predecir las futuras demandas.

Como primera aproximación utilizaron una red neuronal por predicción del consumo
orientado; centralizando la investigación en la determinación de las habilidades de las redes
para producir salidas correctas cuando analizan un dato real. El proyecto lo realizaron
conjuntamente con la compañía que lo solicitó, la cual se dedica a la fabricación de bicicletas
y por ende, necesita de tubos para la construcción de las mismas; cuyo consumo debían
predecir.

Base de datos y codificación:

En la Figura 7.1 se muestran las series de tiempo que utilizaron para la


planificación de la demanda de materiales.

Cantidad [103]

Tiempo
Figura 7.1: series de tiempo
empleadas en la planificación de la
demanda de materiales.

Cada serie de tiempo incluye datos desde 1992 a 1994 (semanalmente). Las series,
pedido y stock, fueron codificados dentro del intervalo [0.0, 0.9], para lo cual utilizaron una
función de transformación lineal. Mientras que al consumo lo codificaron en dos pasos, porque
esta serie de tiempo varía, en partes, de manera muy brusca. Para el primer paso emplearon la
fórmula:

x  mx
 old
znew
std ( x)
siendo mx el promedio de las series de tiempo y std(x) la desviación estándar de las series de tiempo. Y
para el segundo aplicaron una transformación lineal a la nueva serie de tiempos z.

Topología de la red:

Sobre el ensayo de diferentes redes neuronales observaron que, sin importar la predicción que
se haga (mensualmente, semanalmente), más de dos capas ocultas desfavorecía el resultado obtenido.

Primero experimentaron solamente con la serie de tiempo del consumo, y con una red neuronal
constituida por nueve neuronas de entrada y una neurona más para la estación; empleando 80 patrones
para el entrenamientos y 53 para la validación. La exactitud que lograron luego de varias corridas de
la red neuronal, empleando diferentes topologías, se muestran en la Tabla 7.1 (error permitido: 20%,
ciclos de aprendizaje: 10000, algoritmos de aprendizaje: Quickpropagation o Resilient Propagation).

Exactitu
Topología
d
10-10-36-1 30.0%
10-20-36-1 10.0%
10-27-10-1 10.0% Tabla 7.1

Como se puede observar, dando solo el consumo como una entrada no es suficiente para predecir la
demanda.

Luego, utilizaron todas las series de tiempo descriptas en la Figura 7.1 como entradas a la red
neuronal y además, asignaron tres neuronas de entrada para cada serie de tiempo, lo que resultó en una
capa de entrada de nueve neuronas; logrando para las diferentes topologías una exactitud como la que
exhibe en la Tabla 5.1:

Topolog Error Exactitud


ía permitido

9-27-1 10 86.36 %
% 89.39 %
20
%

9-9-18-1 10 87.88 %
% 90.15 %
20
%

9-18-9-1 10 66.67 %
% 70.45 %
20
%
Tabla 7.2
Los resultados citados no parecen ser suficientemente buenos para la aplicación de una red
neuronal real en el campo del planeamiento de la demanda de materiales; no obstante, está claro que las
técnicas de las redes neuronales son prometedoras para la tarea. Actualmente se están ensayando otros
escenarios diferentes para mejorar las predicciones así obtenidas.

6.2.3. Puntuación para la solicitud de un crédito.


La puntuación para un crédito representa una tarea de gran riesgo para las instituciones
crediticias. Estas instituciones tienen un fuerte interés en evitar tales situaciones, rechazando los
candidatos que parecen ser un riesgo malo. Ya que un candidato rechazado, que de hecho era un
buen riesgo crediticio, no impone costos reales; mientras que, un candidato que es incapaz de
restituir el pago del crédito extendido puede causar pérdidas sustanciales (recordar el caso
Schneider en Alemania).
Diferentes métodos son aplicados en este campo. Muy a menudo la decisión tomada,
aprobación o rechazo, se basa sobre los siguientes factores: carácter, capacidad y capital
(créditos triple C); siendo esta solamente humana y naturalmente subjetiva.
Otro método es la utilización de un sistema de puntuación numérico. El mismo utiliza
rasgos comunes que resultan ser importantes para la evaluación de los candidatos para un crédito.
La importancia específica de cada simple característica está expresada por pesos. Cada candidato
al crédito se pondera con una cierta cifra indicativa (suma integral de los rasgos) y si se sitúa por
encima de un umbral determinado se considera como una persona digna de crédito.
Debido a que ambos métodos tienen aspectos negativos -subjetivamente por un lado y
una simple dependencia lineal entre característica por el otro-, los esfuerzos apuntan a la
aplicación de técnicas de inteligencia artificial, tales como Sistemas Expertos (XPS) y Redes
Neuronales, en el campo de la puntuación para la solicitud de
un crédito. Por lo tanto la tarea a ser consumada por medio de una red neuronal es tratar de
predecir una correcta clasificación de los clientes.

Escenario de los datos:


Para recaudar información acerca de los candidatos aprobados y desaprobados
recurrieron a diferentes instituciones crediticias, pero solamente unas pocas de ellas cooperaron;
ya que la mayoría alegaba que los datos sobre los aspirantes a los créditos era un asunto interno
y por consiguiente, reciben un trato confidencial.
Puesto que la información de la que disponían era insuficiente, utilizaron un conjunto de
datos públicos; el notorio conjunto de datos australiano (J. R. Quinlan), caracterizado como sigue
en la Tabla 7.3:

Nº de casos 690
Clases 2 (buena/mala)
307 (buenas): clase 2
Distribución de clases
383 (malas): clase 1
Nº de atributos: 14
-continuos 6
-binarios 4
-ordenados 4
Tabla 7.3

Codificación:
Codificaron los atributos continuos simplemente por una transformación lineal dentro
del intervalo [0.1, 0.9], utilizando para esto solamente una neurona (real). Los atributos binarios
también fueron codificados por medio de una neurona (binaria). Pensaron en la utilización de
dos neuronas binarias, pero los ensayos no mostraron ninguna diferencia entre ambos tipos de
codificación. En consecuencia utilizaron solamente una neurona para los atributos binarios.
A los atributos ordenados los trataron como sigue; ya que dependiendo de los diferentes
valores que los mismos podían tomar, el número de neuronas utilizadas en la capa de entrada
variaba. Codificaron cada posible valor en una neurona; por ejemplo si había tres valores
posibles, se necesitaba de tres neuronas. El procedimiento de codificación fue como el mostrado
en la Tabla 7.4:
Atributo Neurona de
entrada
valor 1 100
valor 2 010
valor 3 001
Tabla 7.4
La capa de salida estaba formada por una simple neurona binaria que daba una
clasificación bueno/malo.
Utilizando el procedimiento de codificación de la Tabla 7.4, al menos 32 neuronas les
fueron necesarias en la capa de entrada. Por supuesto otras formas de codificación de los
atributos pueden ser posibles.

Resultados:
Para el entrenamiento y validación, dividieron el conjunto de datos de la
Tabla 7.3 en dos subconjuntos. El número de ejemplos en cada subconjunto, se puede ver en
la Tabla 7.5, en donde intentaron mantener una distribución similar de candidatos buenos y
malos.

Subconjunto Nº de Distribución
ejemplos

Entrenamient 480 214 (buenos)

o 266 (malos)

Testeo 210 93 (buenos)


117 (malos)
Tabla 7.5
El mejor resultado que obtuvieron, es el presentado en la Tabla 7.6 (Standard
Backpropagation, tasa de aprendizaje: 0.2):

Arquitectura de la Época Exactitu


red (una capa s d
oculta)
32-40-1 66 80.6 %
32-32-1 100 80.4 %
32-16-1 100 82.5 %
Tabla 7.6
Cuando emplearon dos capas ocultas el resultado no mejoró, a pesar de tomar más tiempo
de CPU. También modificaron el grado de aprendizaje, fijándolo en 0.5 y
0.7 e iniciando diferentes series de tiempo, pero los resultados tampoco mejoraron.

Anda mungkin juga menyukai