Computación neuronal
-
Upload
hugo-banda -
Category
Data & Analytics
-
view
1.133 -
download
6
Transcript of Computación neuronal
Dr. Hugo A. Banda Gamboa
CORDICYTOctubre, 2015
© Dr. Hugo A. Banda Gamboa - 2015 1
CONTENIDO
I. Fundamentos de la Computación Neuronal
II. Modelo Neuronal
III. Aprendizaje Neuronal
IV. Arquitecturas Neuronales
V. Perceptrones
VI. Redes Lineales
VII. Redes de Retropropagación
VIII. Redes de Base Radial
IX. Redes Auto-organizativas y LVQ
X. Conclusión
© Dr. Hugo A. Banda Gamboa - 2015 2
© Dr. Hugo A. Banda Gamboa - 2015 3
Neurociencia y Ciencias Cognitivas La neurociencia es una disciplina científica que estudia
la estructura, función, desarrollo, genética, bioquímica, fisiología, farmacología, patología del sistema nervioso y la psicología. La neurociencia está en la frontera de la investigación del cerebro y la mente.
La ciencia cognitiva es el estudio interdisciplinario de la mente y la inteligencia. La hipótesis central de la ciencia cognitiva es que el pensamiento puede ser comprendido mejor en términos de estructuras representativas en la mente y procedimientos que operan sobre esas estructuras. Se asume que la mente usa representaciones análogas a la estructuras de datos de los computadores; y, procedimientos similares a algoritmos computacionales.
© Dr. Hugo A. Banda Gamboa - 2015 4
La Neurona Biológica Nuestro sistema nervioso y, en especial,
nuestro cerebro, está compuesto por un conjunto de células nerviosas, también llamadas neuronas.
Una neurona es una célula altamente especializada en el proceso de la información, cuya estructura básica puede observarse en la Figura.
La morfología de una neurona comprende tres elementos principales: el soma, o núcleo; las dendritas, o terminaciones de la neurona que actúan como contactos funcionales de entrada con otras neuronas; y el axón o eje, una rama más larga que será la encargada de conducir el impulso nervioso y que finaliza también en diversas ramificaciones.
© Dr. Hugo A. Banda Gamboa - 2015 5
Comunicación entre Neuronas … Se realiza a través de las llamadas sinapsis, que
son los puntos de conexión entre las fibras terminales del axón de una neurona y una dendrita de otra.
Las sinapsis también reciben el nombre de saltos sinápticos, ya que en la mayoría de los casos, fibras terminales y dendritas no están en contacto, sino separadas por una pequeña distancia.
Por ello, al contrario de lo que mucha gente piensa, el impulso nervioso no es de naturaleza eléctrica, sino electroquímica.
© Dr. Hugo A. Banda Gamboa - 2015 6
Comunicación entre Neuronas
© Dr. Hugo A. Banda Gamboa - 2015 7
Propagación de las Señales El impulso nervioso producido por una neurona se propaga por el
axón y al llegar al extremo, las fibras terminales pre-sinápticas liberan unos compuestos químicos llamados neurotransmisores.
Los neurotransmisores alteran el estado eléctrico de la membrana post-sináptica. En función del neurotransmisor liberado, el mecanismo puede resultar excitador o inhibidor para la neurona "receptora".
En el soma de una neurona se integran todos los estímulos recibidos a través de todas las dendritas. Si como resultado se supera un potencial de activación, la neurona se "dispara" generando un impulso que se transmitirá a través del axón.
Este impulso no es constante y la capacidad de reaccionar de la neurona varía con el tiempo hasta volver al estado de reposo. La comunicación tiene lugar a través de trenes de pulsos, por lo que los mensajes se encuentran modulados en frecuencia.
© Dr. Hugo A. Banda Gamboa - 2015 8
Respuesta de una Neurona Biológica
Tanto el salto electroquímico como la aparición de períodos refractarios, limitan mucho la velocidad de la neurona biológica y el rango de frecuencia de los mensajes, que oscila entre unos pocos y algunos cientos de hertzios (ciclos/segundo).
Por ello, el tiempo de respuesta se ve limitado al orden de milisegundos, mucho más lenta que un circuito electrónico.
© Dr. Hugo A. Banda Gamboa - 2015 9
Modelo Neuronal
© Dr. Hugo A. Banda Gamboa - 2015 10
INTRODUCCIÓNLas neuronas biológicas, que sirven de modelo para la computación neuronal, son entre 5 a 6 órdenes de magnitud más lentas que los chips de silicio. Los eventos en la neuronas biológicas ocurren en el orden de los milisegundos (10-3), mientras que en los chips de silicio ocurren en el rango de los nanosegundos (10-9).
Sin embargo el masivo paralelismo del procesamiento neuronal biológico y su eficiencia energética, superan enormemente a los chips actuales.
© Dr. Hugo A. Banda Gamboa - 2015 11
Diferencias entre Sistemas Neuronales
Nº de NeuronasNº Conexiones por Neurona
Cerebro Humano 1011 104
Cerebro de una Libélula
104 103
Red Neuronal Artificial
103 102
© Dr. Hugo A. Banda Gamboa - 2015
Tipos de Redes Neuronales
TIPO DE RED NEURONAL
CARACTERÍSTICA
Red Neuronal Biológica
Orgánica
Red Neuronal Artificial
ComputarizadaAlgorítmica
Red Neuronal Artificial en Chip
Electrónica
© Dr. Hugo A. Banda Gamboa - 2015
Red Neuronal Biológica
© Dr. Hugo A. Banda Gamboa - 2015 14
Modelo Computacional de Neurona (McCulloch-Pitts) En 1943 McCulloch y Pitts publicaron un trabajo en el que
se hablaba, por primera vez, de las neuronas artificiales y de cómo éstas podrían realizar cálculos lógicos.
El modelo de neurona artificial propuesto consiste de una unidad con función de activación tipo escalón (binaria) similar a la que se observa en la Figura:
© Dr. Hugo A. Banda Gamboa - 2015 15
bp
bp
aR
i
ii
R
i
ii
1
1
:Si1
:Si0
∑ X
)(1
bpnR
i
ii
-b
1
1
b+
+
1
2
R-1
R
p1
p2
pR-1
pR
Analogías del Modelo Este modelo de neurona artificial presenta
numerosas analogías con las neuronas biológicas:
Los cables o conexiones son análogos a dendritas y axones,
Los pesos de ponderación de las conexiones equivalen a las sinapsis; y,
El umbral de activación de la neurona representa la actividad del soma.
En función de su signo, los pesos sinápticos pueden actuar tanto como activadores (signo positivo) o como inhibidores (signo negativo).
© Dr. Hugo A. Banda Gamboa - 2015 16
Operación de la Neurona La unidad realiza una función de proceso, sumando los
productos de los valores de las entradas pi por los pesos sinápticos i :
Si el resultado obtenido es igual o mayor al valor del umbral (-b), la neurona se activa produciendo como respuesta el valor de activación (a=1).
Por el contrario, si el resultado de aplicar la función de proceso a los valores de entrada no superara el valor del umbral (-b), la neurona permanecerá inactiva y su salida será nula (a=0).
© Dr. Hugo A. Banda Gamboa - 2015 17
R
i
ii p1
bpR
i
ii 1
bpR
i
ii 1
Funciones de Activación Desde la publicación del trabajo de McCulloch y
Pitts ha habido numerosas generalizaciones a su modelo de neurona, pero la más empleada consiste en la sustitución de la función de salida tipo escalón, por una función rampa, Gaussiana y sigmoide:
© Dr. Hugo A. Banda Gamboa - 2015 18
)(1
1)(
bnenf
Rampa
-b
f(n)
n
a
1
Sigmoide
-b n
a
1
1/2
Gaussiana
-b
f(n)
n
a
1
Función de Transferencia Sigmoide Bipolar
© Dr. Hugo A. Banda Gamboa - 2015 19
-15 -10 -5 0 5 10 15
-1
1f(n)
n
)(
)(
1
1)(
bn
bn
e
enf
)](2
1tanh[)( bnnf
-b
Notación Vectorial En la práctica, para simplificar la notación y la
programación del modelo, se suele incluir el umbral de activación dentro del sumatorio.
El operador "asterisco" (*) representa el producto escalar de los vectores de las señales de entrada y de los pesos de las conexiones sinápticas.
© Dr. Hugo A. Banda Gamboa - 2015 20
Decisión de Umbralel
Atributos deVector el
Pesos de Matriz la es
Donde
)*()(1
b
bfbpfaR
i
ii
p
W
pW
aumentado atributos deVector
))(
y 1 :Si
0
00
a
a
p
pWf(pfa
bp
R
i
ii
Modelo Abreviado de una Neurona con Vector a la Entrada
© Dr. Hugo A. Banda Gamboa - 2015 21
W
b
+ f
R
1
a1 x 1n
1 x 1
11 x 1
pR x 1
R=# de elementos en el vector de entrada
NeuronaEntrada
)( bfa Wp
1 x R
Neuronas Artificiales en Chip
Un equipo de investigadores del Instituto Tecnológico de Massachussets (MIT), en Estados Unidos, ha conseguido crear un chip que imita la adaptación de las neuronas a cualquier información novedosa, a través de la actividad de sus canales iónicos.
Con unos 400 transistores, este circuito integrado o chip, fabricado en silicio es capaz de emular la actividad de las sinapsis neuronales.
El chip creado podría ayudar a los neurocientíficos a conocer a fondo el funcionamiento del cerebro, y dar lugar al desarrollo de partes constitutivas de dispositivos de inteligencia artificial
© Dr. Hugo A. Banda Gamboa - 2015 22
http://goo.gl/qJuoE5
Neuronas Artificiales basadas en Memristores (Memory Resistors) El efecto de memoria de los memristores, es debido a la
histéresis en su curva característica voltaje-corriente. Gracias a ello pueden simular una neurona artificial.
La red de neuronas artificiales se implementa mediante una matriz de 12×12 memristores cada uno ocupando un área de 0,2×0,2 micrómetros. Cada memristor está fabricado mediante una heteroestructura formada por varias nanocapas (menos de 100 nm cada una) de óxido de aluminio (Al2O3), dióxido de titanio (TiO2–x), platino (Pt), titanio (Ti) y tantalio (Ta) sobre un sustrato de silicio.
© Dr. Hugo A. Banda Gamboa - 2015 23
http://goo.gl/SyfCNT
Aprendizaje Neuronal
© Dr. Hugo A. Banda Gamboa - 2015 24
¿Cómo Aprende una Neurona Artificial? El psicólogo Donald Hebb, en sus observaciones
de experimentos neurobiológicos dedujo que si las neuronas de ambos lados de una sinapsis se activan simultáneamente repetidas veces, el valor de la conexión sinaptica se incrementa.
Este principio es lo que se conoce como postulado de aprendizaje de Hebb.
El aprendizaje de una neurona y de una red neuronal se traduce en la adaptación de los pesos de sus conexiones sinápticas, para disminuir el error entre la salida producida ante una entrada y la salida correcta.
© Dr. Hugo A. Banda Gamboa - 2015 25
El Proceso de Aprendizaje
El proceso de aprendizaje implica la siguiente secuencia de eventos:
La red neuronal es estimulada por muestras de su entorno.
La red neuronal sufre cambios como resultado del estímulo aplicado.
La red neuronal responde al entorno demostrando el entrenamiento recibido, debido a los cambios que han ocurrido en su estructura interna.
© Dr. Hugo A. Banda Gamboa - 2015 26
Entorno y Conocimiento No existe una teoría bien desarrollada para
optimizar la arquitectura de una red neuronal requerida para interactuar con un cierto entorno de interés y para evaluar la forma en que los cambios en la arquitectura de la red afectan la representación del conocimiento dentro de la misma.
Respuestas satisfactorias a estos problemas se pueden encontrar a través de exhaustivos estudios experimentales, con el diseñador de la red neuronal convertido en parte esencial de la estructura del ciclo de aprendizaje.
© Dr. Hugo A. Banda Gamboa - 2015 27
Representación del Conocimiento El conocimiento acerca de los objetos de
interés que están en un determinado entorno, está representado simbólicamente en los conjuntos de ejemplos que se seleccionan para:
Entrenar una red neuronal artificial (Training Set).
Comprobar el aprendizaje de una red neuronal artificial (Testing Set).
Verificar la operación de una red neuronal artificial (Working Set).
© Dr. Hugo A. Banda Gamboa - 2015 28
Objetos de Interés y Patrones
Los objetos de interés pueden ser datos, caracteres impresos, señales audibles, visuales o electrónicas, imágenes, estados de un sistema o cualquier cosa susceptible de ser representada, aprendida, reconocida o clasificada.
Se los representa mediante patrones.
Un patrón es la abstracción de los atributos de un objeto de interés. Sintetiza sus principales rasgos característicos.
© Dr. Hugo A. Banda Gamboa - 2015 29
Representación de PatronesUn patrón usualmente se lo representa por
un vector n-dimensional que integra un conjunto de mediciones obtenidas de los atributos del objeto de interés o de sus interrelaciones.
La representación del conocimiento mediante patrones y la selección del correspondiente conjunto de vectores constituye una de las principales tareas del proceso de diseño de soluciones con redes neuronales, y es la clave de su operación.
© Dr. Hugo A. Banda Gamboa - 2015 30
Entrenamiento y Aprendizaje Formal
Cada ejemplo del conjunto de entrenamiento consiste de un par entrada – salida, esto es, un vector de entrada y su correspondiente respuesta deseada.
Un sistema es capaz de aprender un concepto si, dado un conjunto de ejemplos positivos y negativos, puede producir un algoritmo que pueda clasificar correctamente en el futuro, con probabilidad 1/h.
© Dr. Hugo A. Banda Gamboa - 2015 31
Teoría del Aprendizaje FormalLa complejidad de aprender un concepto
es una función de tres factores: la tolerancia al error (h ), el número de rasgos presentes en los ejemplos (t ) y el tamaño de la regla necesaria para discriminar (f ).
Si el número de ejemplos requeridos para el entrenamiento de un sistema está dado por un polinomio en h, t y f, entonces se dice que el concepto es aprendible.
© Dr. Hugo A. Banda Gamboa - 2015 32
Tamaño de la MuestraPara los procesos de aprendizaje, se ha
demostrado que para minimizar el error del sistema, el número de ejemplos para cada clase, elegidos aleatoriamente para conformar el conjunto de entrenamiento, debe ser al menos tres veces el número de rasgos utilizados para representar cada caso, esto es tres veces la dimensión del vector del patrón característico.
© Dr. Hugo A. Banda Gamboa - 2015 33
Preprocesamiento El entrenamiento de una red neuronal puede
realizarse en forma más eficiente si se aplican ciertos pasos de preprocesamiento a los vectores de entrada y salidas esperadas.
Varios pueden ser los métodos a aplicarse:
Análisis del poder discriminante de los atributos.
Escalamiento de entradas y salidas (rango entre -1 y +1)
Normalización de entradas y salidas (media cero y desviación estándar unitaria)
Análisis de componentes principales (reducción dimensional)
© Dr. Hugo A. Banda Gamboa - 2015 34
Poder Discriminante de Atributos La evaluación de poder discriminante y la
selección de atributos es una etapa importante en el diseño de un sistema de reconocimiento de patrones.
La prueba de William Kruskal y W. Allen Wallis es un método no paramétrico que se utiliza para probar si dos o más grupos de datos provienen de la misma población.
Es idéntico al método ANOVA en el que se asume normalidad de los datos.
© Dr. Hugo A. Banda Gamboa - 2015 35
Estilos de Entrenamiento Entrenamiento Incremental
Los pesos de las conexiones sinápticas y los valores de los umbrales de decisión, son actualizados cada vez que un vector de entrada es presentado a la red.
Entrenamiento por Lotes
Los pesos de las conexiones sinápticas y los valores de los umbrales de decisión, son actualizados después de que todo el grupo de vectores de entrada han sido presentados a la red (época).
© Dr. Hugo A. Banda Gamboa - 2015 36
Generalización
Uno de los problemas que ocurren durante el entrenamiento de redes neuronales es el sobre entrenamiento.
El error en el conjunto de entrenamiento alcanza un valor muy pequeño, pero cuando nuevos vectores son presentados a la red el error es grande.
La red ha memorizado los ejemplos de entrenamiento, pero no tiene capacidad de generalización a situaciones nuevas.
© Dr. Hugo A. Banda Gamboa - 2015 37
Matriz de ConfusiónDescribe los errores en los que incurre
una red neuronal al tratar de clasificar un conjunto de vectores representativos del problema para el que fue entrenada.
Los grupos de clasificación componen tanto las filas como las columnas.
Los valores en su diagonal representan los casos correctamente clasificados y aquellos fuera de la diagonal los errores cometidos.
© Dr. Hugo A. Banda Gamboa - 2015 38
Matriz de Confusión
Grupos o Clases
1 2 3 4 5
1 c11 e12 e13 e14 e15
2 e21 c22 e23 e24 e25
3 e31 e32 c33 e34 e35
4 e41 e42 e43 c44 e45
5 e51 e52 e53 e54 c55
© Dr. Hugo A. Banda Gamboa - 2015
Gru
po
s o
Cla
se
s
Tipos de Errores Error Optimista
Se obtiene cuando se calcula el error de una matriz de confusión construida utilizando el conjunto de entrenamiento como conjunto de prueba.
Error Pesimista
Resulta del cálculo del error dado por una matriz de confusión construida utilizando un conjunto de prueba diferente al conjunto de entrenamiento.
© Dr. Hugo A. Banda Gamboa - 2015 40
Tipos de Errores
© Dr. Hugo A. Banda Gamboa - 2015 41
Error Optimista
Error Pesimista
% ε
N° Muestras
Error Real
N1
Paradigmas de Aprendizaje
Aprendizaje supervisado
Aprendizaje por refuerzo
Aprendizaje no - supervisado
© Dr. Hugo A. Banda Gamboa - 2015 42
Paradigma de Aprendizaje Supervisado
© Dr. Hugo A. Banda Gamboa - 2015 43
PROFESOR
RED NEURONAL
ENTORNO
+
-
Señal de Error
Vectores
Descriptivos del
Entorno Respuesta
Actual
Respuesta
Deseada
Conocimiento
Paradigma de Aprendizaje por Refuerzo
© Dr. Hugo A. Banda Gamboa - 2015 44
CRÍTICO
ELEMENTO DE
APRENDIZAJE
ENTORNO
Acciones
Vector de Estado
Entrada
Sistema de
Aprendizaje
Refuerzo
Heurístico
BASE DE
CONOCIMIENTO
Refuerzo
Primario
ELEMENTO DE
ACTUACIÓN
Paradigma de Aprendizaje No Supervisado En el aprendizaje no supervisado o auto – organizativo, no
existe un profesor o un crítico para supervisar el proceso de aprendizaje.
© Dr. Hugo A. Banda Gamboa - 2015 45
EntornoCapa de Entrada
Capa Competitiva
Sistema de Aprendizaje
Paradigma de Aprendizaje No Supervisado No hay ejemplos específicos de la función a
ser aprendida por la red. A cambio se provee una medida, independiente de la tarea, que determina la calidad de la representación que debe ser aprendida por la red, y sus parámetros libres son optimizados con respecto a esa medida.
Una vez que la red se ha sintonizado con las regularidades estadísticas de los datos de entrada, desarrolla la habilidad de formar representaciones internas para los rasgos característicos de la entrada y por lo tanto crea nuevas clases automáticamente.
© Dr. Hugo A. Banda Gamboa - 2015 46
ARQUITECTURAS NEURONALES
© Dr. Hugo A. Banda Gamboa - 2015 47
Fundamentos: Definición de Red Neuronal
Sistema procesador paralelo - distribuido, masivamente interconectado, capaz de almacenar y utilizar conocimiento experimental. Está diseñado para modelar la forma en que el cerebro realiza una tarea o función de interés.
El conocimiento es adquirido mediante un proceso de adaptación.
El conocimiento se almacena en las conexiones (sinapsis), entre las neuronas de la red.
© Dr. Hugo A. Banda Gamboa - 2015 48
Arquitectura de Redes Neuronales Artificiales Dos o más modelos de neuronas, pueden ser
combinados en una capa. A su vez, una determinada arquitectura de red neuronal puede contener una o más capas, dando lugar a: Estructuras Monocapa y Multicapa
© Dr. Hugo A. Banda Gamboa - 2015 49
Redes Estáticas y Dinámicas Las redes también pueden ser clasificadas como:
Estáticas.- No tienen conexiones recurrentes ni retardos. La salida se calcula directamente de las entradas, siguiendo las conexiones hacia adelante.
Dinámicas.- Son aquellas en las que la salida depende no solamente de la entrada actual, sino también de entradas previas, salidas o estados de la red. Las redes dinámicas pueden ser de dos tipos: Sólo con conexiones hacia adelante
Con conexiones recurrentes
En general las redes dinámicas son más poderosas que las redes estáticas, aunque algo más difíciles de entrenar.
© Dr. Hugo A. Banda Gamboa - 2015 50
© Dr. Hugo A. Banda Gamboa - 2015 51
APRENDIZAJE
MODELO DE RED
TOPOLOGÍA ON/OFF LINE
PARADIGMA ALGORITMO
ASOCIACIÓN
SEÑAL DE
ENTRADA
SEÑAL DE SALIDA
Continous Hopfield
1 Capa Off No Supervisado
Hebbiano Autoasociativa Analógica Analógica
Discrete Hopfield 1 Capa Off No Supervisado
Hebbiano Autoasociativa Binaria Binaria
Optimal Linear
Associative Memory
1 Capa Off No Supervisado
Hebbiano Autoasociativa Analógica Analógica
Additive Grossberg
1 Capa On No Supervisado
Hebbiano o Competitivo
Autoasociativa Analógica Analógica
Shunting Grossberg
1 Capa On No Supervisado
Hebbiano o Competitivo
Autoasociativa Analógica Analógica
Brain-State-in-a-Box
1 Capa Off Supervisado Corrección de Errores
Autoasociativa Analógica Analógica
Bidirectional Associative
Memory
2 Capas Off No Supervisado
Hebbiano Heteroasociativa Binaria Binaria
Fuzzy Associative Memory
2 Capas Off No Supervisado
Hebbiano Difuso Heteroasociativa Analógica Analógica
Memorias Asociativas
© Dr. Hugo A. Banda Gamboa - 2015 52
APRENDIZAJE
MODELO DE RED
TOPOLOGÍA ON/OFF LINE
PARADIGMA ALGORITMO
ASOCIACIÓN
SEÑAL DE ENTRADA
SEÑAL DE SALIDA
Adaline 1 Unidad Off Supervisado Corrección de Errores
Heteroasociativa Analógica Binaria
Madaline 2 Capas Off Supervisado MRII Heteroasociativa Analógica Binaria
Perceptrón 2 o más Capas
Off Supervisado Corrección de Errores
Heteroasociativa Analógica Binaria
Retropropagación N Capas Off Supervisado Backpropagation Heteroasociativa Analógica Analógica
Associative Reward Penalty
2 Capas On Supervisado Refuerzo Estocático
Heteroasociativa Analógica Binaria
Boltzmann Machine 3 Capas Off Supervisado Estocástico Heteroasociativa Binaria Binaria
Cauchy Machine 3 Capas Off Supervisado Estocástico Heteroasociativa Analógica Binaria
Redes Neuronales con Conexiones hacia Adelante (Feed-Forward)
© Dr. Hugo A. Banda Gamboa - 2015 53
Biología
Modelos cognoscitivos y de sistemas
biológicos.
Militares
Clasificación de señales de radar.
Fabricación de armas inteligentes.
Asistencia en análisis y
administración de operaciones.
Empresa
Evaluación prospectiva de
formaciones geológicas y
petrolíferas.
Evaluación de personal.
Data mining.
Reconocimiento de patrones.
Administración de horarios y
reservaciones de vuelo
Medio Ambiente
Análisis de tendencias y patrones.
Pronóstico del tiempo.
Finanzas
Análisis de evolución de precios.
Análisis de riesgos en préstamos.
Reconocimiento de firmas.
Seguridad en documentos.
Medicina
Sistemas para ayuda a
discapacitados.
Sistemas para diagnóstico y
tratamiento médico.
Predicción de efectos secundarios en
medicamentos.
Procesadores de Rayos X.
Análisis de señales biológicas.
Manufactura
Sistemas de control automático,
visión computarizada y robótica.
Control de procesos de producción.
Sistemas para control total de
calidad.
Principales Aplicaciones de las Redes Neuronales
Diseño de Soluciones con Redes Neuronales Artificiales Comprende los siguientes pasos:
Seleccionar una arquitectura de red neuronal, apropiada para resolver el problema identificado.
Escoger un conjunto de ejemplos para entrenar la red, utilizando un algoritmo apropiado. Esta fase es la que corresponde al entrenamiento o aprendizaje de la red.
Probar la capacidad de la red entrenada para resolver el problema propuesto, utilizando un conjunto de datos de prueba. Esta es la fase de prueba de la red.
Evaluar la operación de la red con un conjunto de datos de verificación, que no hayan sido utilizados en el entrenamiento o las pruebas. A esta fase se la denomina de generalización.
© Dr. Hugo A. Banda Gamboa - 2015 54
© Dr. Hugo A. Banda Gamboa - 2015 55
El Perceptrón de Frank Rossenblat En 1958, Frank Rossenblat desarrolló una aplicación
práctica para la neurona de McCulloch y Pitts, aplicando las ideas de aprendizaje de Hebb. construyó una máquina capaz de reconocer objetos de forma visual. Así nació el Perceptrón, la primera red neuronal de la historia.
El diseño del perceptrón consistía en una capa de elementos sensores, cuyas salidas se conectaban a las entradas de una neurona de McCulloch-Pitts a través de detectores de umbral de las señales de los sensores.
El número de detectores de umbral era inferior al de elementos sensores, por lo que un detector podía conectarse a más de un sensor. La distribución de estas conexiones era aleatoria.
© Dr. Hugo A. Banda Gamboa - 2015 56
El Perceptrón de Frank Rosenblatt
© Dr. Hugo A. Banda Gamboa - 2015 57
Neurona de
McCulloch y Pitts
Arquitectura del Perceptrón
© Dr. Hugo A. Banda Gamboa - 2015 58
Regla de Aprendizaje del Perceptrón Simple
1. Inicializar todos los pesos W y umbrales de decisión b a valores aleatorios.
2. Para q = 1 hasta q = Q: Presentar un par entrada (pq) – salida (tq).
Calcular la respuesta de las neuronas aq al patrón pq
Calcular las matrices y realizar los ajustes a los valores del umbral de decisión y a los pesos:
3. Si el error es mayor al aceptable, volver al paso 2.
© Dr. Hugo A. Banda Gamboa - 2015 59
(Error)
Limitaciones del Perceptrón La Regla de Aprendizaje del perceptrón
anteriormente descrita, es capaz de entrenar sólo perceptrones de una capa. Esta restricción impone limitaciones en las computaciones que un perceptrón puede realizar.
Las redes de perceptrones, sólo pueden ser entrenadas con el estilo incremental.
Los perceptrones solamente pueden clasificar conjuntos de vectores de entrada linealmente separables.
Las salidas del perceptrón pueden tomar únicamente dos valores (0 o 1).
© Dr. Hugo A. Banda Gamboa - 2015 60
Perceptrón Simple como Clasificador
© Dr. Hugo A. Banda Gamboa - 2015 61
binaria activación deFunción
entradas de Número
)*(
)(
)(
1
,1
22,111,1
f
R
bpWfa
bpfa
bppfa
R
i
ii
p1
p2
p0 = 1
1,1
a
1,2
1,0 = b
2,1
1
2,1
1,1
2
bpp
p2
p1
W*p+b > 0a = 1
W*p+b= 0a = 0
W*p+b< 0a = 0
Ejemplo en MATLAB
© Dr. Hugo A. Banda Gamboa - 2015 62
Perceptrones Simples para Funciones Lógicas
Función OR
x1 x2 y
0 0 0
0 1 1
1 0 1
1 1 1
Función AND
x1 x2 y
0 0 0
0 1 0
1 0 0
1 1 1
© Dr. Hugo A. Banda Gamboa - 2015 63
x1
x2
x0 = 1
1,1
y
1,2
1,0 = b1
N
© Dr. Hugo A. Banda Gamboa - 2015 64
Redes Lineales Las redes lineales son similares a las del
perceptrón, con la diferencia que la función de trasferencia es lineal. Esto permite que su salida adquiera cualquier valor y no esté limitada, como en el caso del perceptrón, a 0 o 1.
© Dr. Hugo A. Banda Gamboa - 2015 65
Carro Robótico: Definición del Problema
© Dr. Hugo A. Banda Gamboa - 2015 66
Se tiene un vehículo robótico de tres ruedas. Cada rueda posterior tiene un motor que controla su giro hacia adelante o hacia atrás. Dispone de tres sensores de proximidad, uno al frente y uno a cada costado. Dependiendo del tipo de obstáculo detectado, el vehículo puede girar a la derecha, izquierda, dar marcha adelante o marcha atrás. Diseñar un controlador neuronal para este vehículo.
Carro Robótico: Diseño Lineal
© Dr. Hugo A. Banda Gamboa - 2015
f (n1)
f (n2)
n1
n2
67
Carro Robótico: Script MATLAB% SEÑALES DE CONTROL
% (P = Señales de los sensores de proximidad)
P=[0 0 0 0 1 1 1 1;0 0 1 1 0 0 1 1;0 1 0 1 0 1 0 1];
% (T = Salidas de comando para los motores)
T=[1 0 0 0 1 0 0 0;1 0 1 0 0 0 0 0];
% DISEÑO DE UN SISTEMA NEURONAL LINEAL:
CRLD=newlind(P,T);
% COMPROBACIÓN DE LA SOLUCIÓN
a=sim(CRLD,P);
% BINARIZACIÓN DE LAS SALIDAS LINEALES
n=size(a,1);
m=size(a,2);
Y=zeros(n,m);
for i=1:n
for j=1:m
if a(i,j)> 0.5
Y(i,j)=1;
end
end
end
© Dr. Hugo A. Banda Gamboa - 2015 68
Predicción Simple: Definición del Problema
Se tiene una señal senoidal (T) de 2 Hz, con una duración de 5 segundos y una tasa de 40 muestras por segundo.
En cualquier instante la red recibe en su entrada los últimos 5 valores de la señal (P) y se espera que a la salida la red prediga el siguiente valor.
© Dr. Hugo A. Banda Gamboa - 2015 69
Predicción Simple: Diseño de la Red
Debido a que la relación entre los valores pasados y futuros de la señal no cambian, la red puede ser diseñada directamente a partir de los ejemplos, utilizando newlind.
De acuerdo con la definición del problema, se tienen los últimos 5 valores de señal y una salida, el siguiente valor de la señal, por lo que la solución requiere de una neurona lineal con 5 entradas y una salida.
© Dr. Hugo A. Banda Gamboa - 2015 70
Predicción Simple: Prueba de la Red
El siguiente gráfico muestra la superposición de las señales de entrada y de salida de la red.
© Dr. Hugo A. Banda Gamboa - 2015 71
Al graficar la diferencia entre las dos señales, se nota algún error en los primeros instantes, debido a que la red recibió de manera retardada los primeros 5 valores.
Predicción Simple: Script MATLAB% Predictor Simple
time = 0:0.025:5;
T = sin(time*4*pi);
Q = length(T);
P = zeros(5,Q);
P(1,2:Q) = T(1,1:(Q-1));
P(2,3:Q) = T(1,1:(Q-2));
P(3,4:Q) = T(1,1:(Q-3));
P(4,5:Q) = T(1,1:(Q-4));
P(5,6:Q) = T(1,1:(Q-5));
net = newlind(P,T);
a = sim(net,P);
e=T-a;
hold all;
plot(time,T,time,a);
pause;
plot(time,e);
© Dr. Hugo A. Banda Gamboa - 2015 72
Filtros Lineales Al combinar una red lineal con una línea de
retardo con tomas (TDL), se crea un filtro lineal de respuesta finita al impulso (FIR).
© Dr. Hugo A. Banda Gamboa - 2015 73
Predicción Adaptativa: Definición del Problema
Un filtro lineal se puede entrenar de forma incremental para predecir una serie de tiempo. Este estilo de entrenamiento le permite responder a los cambios en la relación entre los valores pasados y futuros de la señal.
Para el ejemplo, se trata de predecir una señal de 2 Hz, con una duración de 6 segundos y una tasa de 20 muestras por segundo. Sin embargo, a partir de los 4 segundos súbitamente la frecuencia se duplica. Diseñar un filtro adaptativo.
© Dr. Hugo A. Banda Gamboa - 2015 74
Predicción Adaptativa: Diseño de la Red
La red tiene una sola neurona ya que existe un valor de señal de salida T en cada paso. Tiene 5 entradas, una para cada valor retardado de la señal P que es la misma que la señal esperada T.
© Dr. Hugo A. Banda Gamboa - 2015 75
Predicción Adaptativa: Prueba de la Red
© Dr. Hugo A. Banda Gamboa - 2015 76
Predicción Adaptativa: Script MATLAB
% Filtro Adaptativo
time1 = 0:0.025:4;
time2 = 4.025:0.025:6;
time = [time1 time2];
T = [sin(time1*4*pi) sin(time2*8*pi)];
T = con2seq(T);
P = T;
lr = 0.1;
delays = [1 2 3 4 5];
net = newlin(P,T,delays,lr);
[net,a,e]=adapt(net,P,T);
hold all;
plot(time,cell2mat(P),time,cell2mat(a));
pause;
plot(time,cell2mat(e));
© Dr. Hugo A. Banda Gamboa - 2015 77
© Dr. Hugo A. Banda Gamboa - 2015 78
Red de Retropropagación (Backpropagation)
© Dr. Hugo A. Banda Gamboa - 2015 79
i
j
k
bi
bj
wi,j
wj,k
Regla Delta
© Dr. Hugo A. Banda Gamboa - 2015 80
p
n
p
m
p
p
m
p
m
nm
nm
p
n
p
m
p
p
m
p
m
nm
p m
p
m
p
m
p m n
p
nnm
p
m
p m
p
m
p
m
xhfyrD
xhfyrD
hfrD
xfrD
yrD
)()(
)()(
])([2
1
])([2
1
)(2
1
:(error) cuadrática media Desviación
,
,
,
2
2
,
2
Regla Delta Generalizada(Error Back-Propagation)
© Dr. Hugo A. Banda Gamboa - 2015 81
)(
)(
)(2
1
)()(
)()(
,
,
2
,
,
p
i
p
p
i
p
i
i
i
p
j
p
i
p
p
i
p
i
ji
ji
p i
p
i
p
i
k
jjkkjj
j
iijjii
hfsrb
Db
shfsrD
hfrD
hfbxfs
hfbsfs
Regla Delta Generalizada(Error Back-Propagation)
© Dr. Hugo A. Banda Gamboa - 2015 82
p
p
jj
j
j
j
p
ip
i
p i
p
i
p
i
j
j
p
jji
p
i
i
p
i
p
i
p
j
p
k
p
p
jkj
kj
j
j
p
ip
i
p i
p
i
p
i
kj
kj
b
b
s
s
hhfhfr
b
Db
hfhfsrx
s
s
hhfhfr
D
)()(
)())((
)()(
,,
,,
,
Red Feedforward (MATLAB)
© Dr. Hugo A. Banda Gamboa - 2015 83
LW2,1
b2
+
1
S x 1
S x 1
SS x 1
Capa de Salida
)( 211,22 baLWa k
S x H
IW1,1
b1
+
R
1
H x 1n1
H x 1
HH x 1
p1
R x 1
Capa OcultaEntrada
)( 111,11 bpIWa f
H x Rn2
a1 a2
R=# de elementos en el vector de entrada
H=# de neuronas en la capa oculta
S=# de neuronas en la capa de salida
Ejemplo de MATLAB:Clasificación de Cangrejos Se trata de clasificar cangrejos por su género
(masculino, femenino) a partir de características físicas. Se utilizan seis mediciones que corresponden a los siguientes atributos:
Especie (0 = azul; 1 = anaranjado)
Tamaño del lóbulo frontal
Ancho posterior
Longitud del carapacho
Ancho del carapacho
Profundidad del cuerpo
Género (male, female)
© Dr. Hugo A. Banda Gamboa - 2015 84
Clasificación de Cangrejos: Preparación de los Datos Dada la naturaleza no lineal de los problemas que se
encuentran en el mundo real, las redes neuronales son las mejores herramientas que uno puede utilizar para resolver problemas como este que trata de clasificar cangrejos por su género, utilizando las seis mediciones de características como entradas y el género como salida.
Los datos recopilados corresponden a 200 ejemplares (crabdata.csv). Las mediciones de los atributos, tienen valores numéricos, pero el género está dado en forma textual. Debido a que las redes neuronales en MATLAB no pueden ser entrenadas con datos no numéricos, es necesario aplicar una técnica de conversión simbólica a codificación unaria. Esto es, 'Female' será representado por el vector [1 0] y 'Male' representado por [0 1].
Para la clasificación se utiliza una red neuronal tipo feedforward backpropagation con una configuración 6:20:2
© Dr. Hugo A. Banda Gamboa - 2015 85
Clasificación de Cangrejos:Script y Resultados
© Dr. Hugo A. Banda Gamboa - 2015 86
Ejemplo: Predicción de Consumo La predicción de consumo de energía eléctrica refleja
las necesidades futuras de una población; esta previsión debe ser lo más ajustada a la realidad, ya que unos valores inferiores a los reales causarán deficiencias en la prestación del servicio en el futuro y un pronóstico de necesidades superior al real, motiva la inversión prematura en instalaciones que no tendrán un aprovechamiento inmediato.
La proyección del suministro de energía se hace con base en la demanda registrada, aplicando porcentajes de pérdidas que pueden obtenerse de un análisis de los registros históricos (que normalmente se presentan en forma estadística), o por similitud con otros sistemas.
© Dr. Hugo A. Banda Gamboa - 2015 87
Datos de Demanda Máxima (MVA)
© Dr. Hugo A. Banda Gamboa - 2015 88
HORA Lunes Martes Miércoles Jueves Viernes Sábado Domingo
1 1,23 1,6049 1,663 1,7299 1,7129 1,713 1,414
2 1,0889 1,4389 1,4689 1,5159 1,4569 1,2821 1,325
3 1,0289 1,3631 1,389 1,432 1,3461 1,182 1,2249
4 0,9879 1,3559 1,3751 1,3931 1,288 1,122 1,2239
5 0,9879 1,3439 1,3611 1,3909 1,2331 1,0961 1,124
6 1,105 1,389 1,414 1,431 1,1911 1,1059 1,0191
7 1,3729 1,5699 1,604 1,614 1,157 1,171 0,9989
8 1,6649 1,775 1,8009 1,817 1,17 1,2751 0,9989
9 1,79 2,018 2,0739 2,0989 1,2139 1,4121 0,979
10 2,1569 2,19 2,2301 2,226 1,337 1,545 1,015
11 2,323 2,3359 2,3649 2,381 1,4799 1,711 1,1271
12 2,3659 2,363 2,399 2,3741 1,574 1,741 1,2271
13 2,3731 2,3359 2,358 2,3021 1,5951 1,7129 1,295
14 2,2311 2,156 2,2 2,1459 1,5771 1,62 1,313
15 2,156 2,0799 2,1231 2,0581 1,5629 1,557 1,2909
16 2,208 2,1651 2,1749 2,0809 1,532 1,5831 1,26
17 2,2949 2,2551 2,2049 2,1651 1,544 1,6251 1,2669
18 2,3741 2,3671 2,3349 2,238 1,638 1,6251 1,3631
19 2,5 2,477 2,464 2,282 1,731 1,895 1,453
20 2,434 2,431 2,378 2,154 1,748 1,904 1,602
21 2,356 2,354 2,414 2,102 1,7921 1,931 1,644
22 2 2,21 2,004 1,995 1,8321 1,936 1,615
23 1,989 1,7085 1,8582 1,904 1,862 1,958 1,503
24 1,808 1,7 1,7071 1,859 1,793 1,748 1,499
Curvas de Demanda Registrada de Energía
© Dr. Hugo A. Banda Gamboa - 2015 89
Predicción de Consumo:Script MATLAB%% Predicción de Consumo de Energía Eléctrica
% Dr. Hugo A. Banda
% Versión: Red Neuronal Feedforward
% 11 Dic 2015
%% Carga de información desde archivo DatosConsumo.csv
fileID=fopen('DatosConsumo.csv');
MatDat=textscan(fileID,'%f%f%f', 'delimiter',',');
fclose(fileID);
%% Configuración de matrices de datos de entrada y salida
DiaHora=[MatDat{1} MatDat{2}];
Consumo=[MatDat{3}];
InpDat=DiaHora';
TarDat=Consumo';
%% Diseño de la red Feedforward tipo 2:12:8:1
RedPCE=feedforwardnet([12 8]);
RedPCE=train(RedPCE,InpDat,TarDat);
%% Prueba de la predicción
Pred=RedPCE(InpDat);
Perf=perform(RedPCE,TarDat,Pred);
hold all
plot(TarDat);
plot(Pred);
plot(TarDat-Pred);
%% Fin del script
© Dr. Hugo A. Banda Gamboa - 2015 90
Red Backpropagation 2:12:8:1 para Predicción de Consumo
© Dr. Hugo A. Banda Gamboa - 2015 91
© Dr. Hugo A. Banda Gamboa - 2015 92
Redes de Base Radial Las redes neuronales de base radial
usualmente requieren más neuronas que las redes de retropropagación, pero se entrenan mucho más rápido que éstas.
Mientras mayor cantidad de vectores de entrenamiento estén disponibles, mejor trabajan.
Las redes de base radial se utilizan para aproximar funciones. Se caracterizan por ir incorporando neuronas a la capa oculta, hasta satisfacer el error medio cuadrático especificado o igualar el número de vectores de entrenamiento.
© Dr. Hugo A. Banda Gamboa - 2015 93
Modelo de Neurona de Base Radial
La neurona de base radial tiene una función de
transferencia de la forma 𝒂 = 𝒆−𝒏𝟐. Recibe como
entrada 𝒏 la distancia vectorial entre el vector de pesos 𝑾 y el vector 𝒑 de entrada, multiplicada por 𝒃.
© Dr. Hugo A. Banda Gamboa - 2015 94
Arquitectura de una Red de Base Radial
© Dr. Hugo A. Banda Gamboa - 2015 95
Ejemplo MATLAB: Aproximación de una Función
Dados los puntos X, T que definen una función discreta, diseñar una red neuronal para aproximar esta función, con una suma cuadrática de error menor a 0,02. La red debe tener el menor número posible de neuronas en la capa oculta.
© Dr. Hugo A. Banda Gamboa - 2015 96
Script MATLAB y Resultados%% Radial Basis Approximation
% This example uses the NEWRB function to create a radial basis network
% that approximates a function defined by a set of data points.
%
% Copyright 1992-2012 The MathWorks, Inc.
% $Revision: 1.14.2.5 $ $Date: 2012/08/21 01:01:18 $
%% Datos de la Función
X = -1:.1:1;
T = [-.9602 -.5770 -.0729 .3771 .6405 .6600 .4609 ...
.1336 -.2013 -.4344 -.5000 -.3930 -.1647 .0988 ...
.3072 .3960 .3449 .1816 -.0312 -.2189 -.3201];
%% Diseño de la Red de Base Radial
eg = 0.02; % sum-squared error goal
sc = 1; % spread constant
RBB = newrb(X,T,eg,sc);
%% Despliegue de Resultados
plot(X,T,'+');
xlabel('Input Vector X');
X = -1:.01:1;
Y = RBB(X);
hold on;
plot(X,Y);
hold off;
legend({'Target','Output'});
© Dr. Hugo A. Banda Gamboa - 2015 97
Variantes de las Redes de Base Radial
Las redes de base radial fundamentales, tienen dos variantes:
Redes neuronales probabilísticas, utilizadas para problemas de clasificación.
Redes neuronales de regresión generalizada, utilizadas para aproximación de funciones.
© Dr. Hugo A. Banda Gamboa - 2015 98
Arquitectura de Red Neuronal Probabilística
© Dr. Hugo A. Banda Gamboa - 2015 99
Clasificación de Personas por Género: Red Probabilística
Clasificación de personas por género, basada en medidas antropométricas, en cm.: Espalda, Busto, Cintura, y Cadera.
Se dispone un conjunto de 20 medidas correspondientes a mujeres y a hombres entre 21 y 24 años de edad (DatosGenero.csv).
Diseñar una red neuronal probabilística para realizar la clasificación por género.
© Dr. Hugo A. Banda Gamboa - 2015 100
Clasificación de Personas por Género: Script MATLAB%% Archivo de Datos: DatosGenero.csv
% Autor: Dr. Hugo A. Banda Gamboa
% Fecha: 13 de Octubre de 2013
% Versión: Red Neuronal Probabilística
%% Abrir, leer datos y cerrar archivo CSV
fileID=fopen('DatosGenero.csv');
C = textscan(fileID,'%f%f%f%f%s','delimiter',',');
fclose(fileID);
%% Preparar datos de entrada y salida
MedidasMH = [C{1} C{2} C{3} C{4}];
Mujer = strncmpi(C{5}, 'Mujer', 1);
Hombre = strncmpi(C{5}, 'Hombre', 1);
genero = double([Mujer Hombre]);
%% Preparar datos para alimentacción a red
DataIn = MedidasMH';
Targets = genero';
%% Diseñar la red neuronal probabilística
RNPMH=newpnn(DataIn,Targets);
G=sim(RNPMH,DataIn);
%% Preparar datos para Matriz de Confusión
[y_out,I_out]=max(G);
[y_t,I_t] = max(Targets);
diff = I_t - 2*I_out;
m_m = length(find(diff == -1));
h_m = length(find(diff == 0));
h_h = length(find(diff == -2));
m_h = length(find(diff == -3));
N = size(DataIn, 2);
fprintf('Total Muestras: %d\n', N);
%% Mostrar Matriz de Confusión
MC = [m_m m_h; h_m h_h];
fprintf('\nMatriz de Confusión:\n Mujer
Hombre\n');
fprintf(' Mujer %5.0f %4.0f\n', MC(1,1),MC(1,2));
fprintf(' Hombre %5.0f %4.0f\n', MC(2,1),MC(2,2));
%% Mostrar Matriz de Confusión Porcentual
MC_p = (MC ./ N) .* 100;
fprintf('\nMatriz de Confusión Porcentual:\n
Mujer Hombre\n');
fprintf(' Mujer %7.2f%% %6.2f%%\n',
MC_p(1,1),MC_p(1,2));
fprintf(' Hombre %7.2f%% %6.2f%%\n',
MC_p(2,1),MC_p(2,2));
fprintf('Porcentage Correcto: %6.2f%%\n',
100*(MC(1,1)+MC(2,2))/N);
fprintf('Porcentage Incorrecto: %6.2f%%\n',
100*(MC(1,2)+MC(2,1))/N);
% Fin del Script
© Dr. Hugo A. Banda Gamboa - 2015 101
Clasificación de Personas por Género: Red Probabilística y Resultados
© Dr. Hugo A. Banda Gamboa - 2015 102
Arquitectura de Red Neuronal de Regresión Generalizada
© Dr. Hugo A. Banda Gamboa - 2015 103
Predicción de Consumo de Energía: Script MATLAB%% Predicción de Consumo de Energía Eléctrica
% Dr. Hugo A. Banda
% Versión: Red Neuronal de Regresión Generalizada
% 11 Dic 2015
%% Carga de información desde archivo DatosConsumo.csv
fileID=fopen('DatosConsumo.csv');
MatDat=textscan(fileID,'%f%f%f', 'delimiter',',');
fclose(fileID);
%% Configuración de matrices de datos de entrada y salida
DiaHora=[MatDat{1} MatDat{2}];
Consumo=[MatDat{3}];
InpDat=DiaHora';
TarDat=Consumo';
%% Diseño de la red de regresión generalizada
RedRGen=newgrnn(InpDat,TarDat);
%% Prueba de la predicción
Pred=sim(RedRGen,InpDat);
Perf=perform(RedRGen,TarDat,Pred);
hold all
plot(TarDat);
plot(Pred);
plot(TarDat-Pred);
%% Fin del script
© Dr. Hugo A. Banda Gamboa - 2015 104
Predicción de Consumo de Energía: Red de Regresión Generalizada y Resultados
© Dr. Hugo A. Banda Gamboa - 2015 105
REDES AUTO-ORGANIZATIVAS YLEARNING VECTOR QUANTIZATION (LVQ)
© Dr. Hugo A. Banda Gamboa - 2015 106
Introducción Las redes auto-organizativas se caracterizan por
su capacidad de aprender a detectar regularidades y correlaciones en su entrada y adaptar respuestas futuras a esas entradas. Las neuronas de redes competitivas aprenden a reconocer grupos de vectores de entrada similares. Los mapas auto-organizativos aprenden a reconocer grupos similares de vectores de entrada de tal forma que las neuronas que están físicamente cercanas en la capa, responden a vectores de entrada similares.
Las redes LVQ, aprenden a clasificar vectores de entrada en clases definidas por el usuario.
© Dr. Hugo A. Banda Gamboa - 2015 107
Aprendizaje Competitivo Las neuronas en una capa competitiva se auto
distribuyen para reconocer vectores de entrada que son presentados con frecuencia. La arquitectura se muestra en el siguiente gráfico:
© Dr. Hugo A. Banda Gamboa - 2015 108
Ejemplo de Red Competitiva Dados dos grupos de vectores uno cercano al
origen (0, 0) y otro cercano a (1, 1), con rangos de entrada entre 0 y 1, diseñar una red competitiva que agrupe a los vectores dados, según corresponda.
© Dr. Hugo A. Banda Gamboa - 2015 109
Mapas Auto-Organizativos (SOM) Estas redes aprenden a clasificar vectores de
entrada de acuerdo a cómo están agrupados en el espacio de entrada. Difieren de las redes competitivas porque las neuronas cercanas aprenden a reconocer secciones del vecindario del espacio de entrada. Esto es, los mapas auto-organizativos aprenden tanto la distribución (como las redes competitivas) como la topología de los vectores con los que son entrenados.
© Dr. Hugo A. Banda Gamboa - 2015 110
Arquitectura del Self-OrganizingMap
© Dr. Hugo A. Banda Gamboa - 2015 111
Redes LVQ Una red LVQ tiene al inicio una capa competitiva
que aprende a clasificar los vectores de entrada de la misma manera que un Mapa Auto-Organizativo. A continuación, la capa lineal transforma las clases de la capa competitiva en clasificaciones definidas por el usuario. A las clases aprendidas por la capa competitiva se las denomina subclases y a las de la capa lineal clases objetivo.
Tanto la capa competitiva como la capa lineal tienen una neurona por cada subclase o clase objetivo. Siempre el número de subclases debe ser mayor que el número de clases objetivo.
© Dr. Hugo A. Banda Gamboa - 2015 112
Arquitectura de la Red Learning Vector Quantizer (LVQ)
© Dr. Hugo A. Banda Gamboa - 2015 113
Ejemplo MATLAB de Red LVQ Se tienen 10 vectores de entrada, que se desea
clasificar en dos clases. La posición de estos dos grupos en el plano, no es linealmente separable. Crear una red LVQ con 4 neuronas en la capa competitiva. Estas subclases serán asignadas a una de las dos clases objetivo, a la salida.
© Dr. Hugo A. Banda Gamboa - 2015 114
Script MATLAB: Red LVQ %% Red LVQ - Ejemplo MATLAB
% Grupos de vectores de entrada
P = [-3 -2 -2 0 0 0 0 2 2 3;
0 1 -1 2 1 -1 -2 1 -1 0];
%% Grupos a los que pertenecen los vectores de entrada
Tc = [1 1 1 2 2 2 2 1 1 1];
T = ind2vec(Tc);
targets = full(T);
%% Diseño de la Red LVQ
net = newlvq(P,4,[.6 .4]);
%% Entrenamiento de la Red LVQ
net.trainParam.epochs = 150;
net = train(net,P,T);
%% Comprobación de la Red LVQ
Y = sim(net,P);
Yc = vec2ind(Y);
© Dr. Hugo A. Banda Gamboa - 2015 115
RED LVQ: Arquitectura y Resultados
© Dr. Hugo A. Banda Gamboa - 2015 116
Conclusión
Lo que tenemos que aprender a hacer, lo
aprendemos haciendo.
Aristóteles - Ética
© Dr. Hugo A. Banda Gamboa - 2015 117