learning vector quantization lvq
Post on 11-May-2015
3.690 Views
Preview:
TRANSCRIPT
FEBRERO DE 2003 M en C. José Luis Calderón O. 1
FEBRERO DE 2003 M en C. José Luis Calderón O. 2
AntecedentesEl método Vector Quantization (VQ) fue originalmente desarrollado por Linde (1980) y Gray (1984). Y como una herramienta para compresión de datos por Gersho y Gray,1992
FEBRERO DE 2003 M en C. José Luis Calderón O. 3
Vector Quantization VQ
Es una técnica usada para reducir la dimensionalidad de datos.
Los datos originales es un conjunto de vectores de dimensión n.
Los vectores son mapeados en un conjunto mas pequeño de valores codebook.
FEBRERO DE 2003 M en C. José Luis Calderón O. 4
Vector Quantization VQLos valores codebook son usados para almacenaje o transmisión (Se pierde alguna información contenida).
Los valores codebook son re-transladados a valores cercanos de los datos originales (no serán exactos)
FEBRERO DE 2003 M en C. José Luis Calderón O. 5
FEBRERO DE 2003 M en C. José Luis Calderón O. 6
FEBRERO DE 2003 M en C. José Luis Calderón O. 7
Antecedentes
El algoritmo de LVQ fue adaptado por T. Kohonen en 1986 y Kohonen et al en 1988 para reconocimiento de patrones.
FEBRERO DE 2003 M en C. José Luis Calderón O. 8
Características de LVQ
FEBRERO DE 2003 M en C. José Luis Calderón O. 9
Características de LVQ
La red LVQ se considera como un clasificador supervisado.
El clasificador LVQ divide el espacio de entrada en regiones disjuntas
Todas las regiones de clasificación que se crean están cercanas al “optimo”.
FEBRERO DE 2003 M en C. José Luis Calderón O. 10
Características de LVQ
LVQ es una técnica de aprendizaje supervisado que usa la información de clases para mover los vectores de Voronoi W ligeramente.
Mejora la calidad de clasificador de regiones de decisión.
FEBRERO DE 2003 M en C. José Luis Calderón O. 11
Características de LVQ
Para clasificar un vector de entrada Pi, este debe ser comparado con todos los vectores prototipos W.
Cada región se representa por un vector prototipo W.
FEBRERO DE 2003 M en C. José Luis Calderón O. 12
Características de LVQ
El vector de entrada se clasifica en la misma clase que el prototipo mas cercano
La métrica de la distancia Euclídea se usa para seleccionar el vector Wij mas cercano al de entrada Pi.
FEBRERO DE 2003 M en C. José Luis Calderón O. 13
Características de LVQ
Al seleccionar aleatoriamente un vector de entrada Pi del espacio de entrada.
Si la clase etiqueta a Pi de acuerdo al vector de Voronoi W, el vector W se mueve en la dirección Pi.
Si la clase etiqueta a Pi en desacuerdo a W, el vector W se aleja de la dirección Pi.
FEBRERO DE 2003 M en C. José Luis Calderón O. 14
Características LVQ
Se refuerza el “cluster” representativo (una neurona) cuando este clasifica la entrada en la clase deseada.Reforzamiento positivo: Impulsa los
pesos de la neurona hacia la entrada.Reforzamiento negativo: Aleja los
pesos del vector de entrada
FEBRERO DE 2003 M en C. José Luis Calderón O. 15
Arquitectura
FEBRERO DE 2003 M en C. José Luis Calderón O. 16
Arquitectura LVQCombina el aprendizaje competitivo con
SupervisadoNo supervisado (2a. Capa) ocultaSupervisado (3a. Capa)
El aprendizaje competitivo logra “clusters”
Asigna una clase (o valor de salida) a cada “cluster”
FEBRERO DE 2003 M en C. José Luis Calderón O. 17
Arquitectura
la segunda capa (oculta) es una capa competitiva que aprende a clasificar los vectores de entrada de la misma forma que las capas competitivas.
La tercera capa transforma las clases de la capa competitiva en clasificaciones objetivo (T1, T2, etc) definidas por el usuario.
Consiste de tres capas :
FEBRERO DE 2003 M en C. José Luis Calderón O. 18
Arquitectura
FEBRERO DE 2003 M en C. José Luis Calderón O. 19
Arquitectura
La entrada a la red no se calcula usando el producto punto de los vectores prototipo con la entrada; sino que en vez de ello, la entrada a la red es el negativo de la distancia euclídea entre los vectores prototipo Wij y la entrada Pi.
21
xxx Txpw ii
FEBRERO DE 2003 M en C. José Luis Calderón O. 20
Arquitectura Las primeras son conocidas como
subclases (capa oculta)
Las segundas son conocidas como clases objetivo ambas capas (Competitiva y lineal) tiene una neurona por clase (capa de salida).
FEBRERO DE 2003 M en C. José Luis Calderón O. 21
Arquitectura
Entonces la capa competitiva (oculta) puede aprender de S1 subclases y la capa lineal (salida) puede formar S2 clases objetivo con la restricción siguiente:
S1 < S2
FEBRERO DE 2003 M en C. José Luis Calderón O. 22
Arquitectura de LVQ
FEBRERO DE 2003 M en C. José Luis Calderón O. 23
Arquitectura LVQ
El clasificador LVQ consiste de: Una capa de entradaUna capa competitiva (oculta), la
cual aprende a clasificar vectores de entrada en subclases.
FEBRERO DE 2003 M en C. José Luis Calderón O. 24
Arquitectura LVQ
Una capa de salida lineal, la cual transforma las clases de la capa competitiva en clasificaciones objetivo definidas por el usuario (capa de salida).
Unicamente la neurona ganadora de la capa lineal tiene salida “1”, mientras que las otras tienen salida “0”.
FEBRERO DE 2003 M en C. José Luis Calderón O. 25
Arquitectura LVQ
Los vectores de peso de las neuronas de la capa oculta son los prototipos, un numero el cual es usualmente fijado antes de comenzar el entrenamiento.
El numero de neuronas ocultas depende de la complejidad de la relación entra-salida y efectos significativos de los resultados de pruebas al clasificador.
FEBRERO DE 2003 M en C. José Luis Calderón O. 26
SubclasesPara la red LVQ la neurona ganadora en la 2a capa indica subclases al cual el vector de entrada pertenece.
Puede haber un numero diferente de neuronas (subclases) que constituyen una clase.
FEBRERO DE 2003 M en C. José Luis Calderón O. 27
SubclasesLa 3a, capa de la red LVQ combina subclases en una sola clase.
Las columnas de W2 representan subclases y las filas representan clases
1100
00112W
FEBRERO DE 2003 M en C. José Luis Calderón O. 28
W2 tiene un solo 1 en cada columna, los otros elementos son ajustados a cero.
La fila en la que el uno ocurre indica la clase a la cual la subclase apropiada pertenece esta
wk i2 1= subclass i is a part of class k
FEBRERO DE 2003 M en C. José Luis Calderón O. 29
W21 0 1 1 0 00 1 0 0 0 0
0 0 0 0 1 1
=
•
Una red competitiva de una sola capa puede crear regiones de clasificación convexas. La segunda capa de la red LVQ puede combinar las regiones convexas para crear categorías mas complejas.
FEBRERO DE 2003 M en C. José Luis Calderón O. 30
Algoritmo de
aprendizaje de LVQ
FEBRERO DE 2003 M en C. José Luis Calderón O. 31
Aprendizaje LVQ
LVQ combina el aprendizaje competitivo con la supervisión. Esto requiere de un conjunto entrenamiento de ejemplos del comportamiento de la red.
Si el patrón de entrada es clasificado correctamente,entonces se mueve el peso ganador hacia el vector de entrada de acuerdo al regla de Kohonen.
p1 t1 p2 t2 pQ tQ
FEBRERO DE 2003 M en C. José Luis Calderón O. 32
Aprendizaje en LVQ
Si el patrón de entrada es clasificado incorrectamente entonces se mueve el peso ganador fuera del vector de entrada.
ak2
tk 1= =
ak2
1 tk 0= =
)1()()1()( *** qWqpqWqW iT
ii
)1()()1()( *** qWqpqWqW iT
ii
FEBRERO DE 2003 M en C. José Luis Calderón O. 33
La Razón de Aprendizaje
Es deseable que decrezca monótonamente respecto al numero de
iteraciones n. 0 < <=1
Por ejemplo =0.1 , disminuir linealmente respecto a n.
Después de varias iteraciones, los vectores de Voronoi típicamente convergen.
FEBRERO DE 2003 M en C. José Luis Calderón O. 34
Aplicaciones
Compresión de datos
Clasificación de patrones
Reconocimiento de rostros
FEBRERO DE 2003 M en C. José Luis Calderón O. 35
Reconocimiento de Rostros LVQ
FEBRERO DE 2003 M en C. José Luis Calderón O. 36
Ejercicios
FEBRERO DE 2003 M en C. José Luis Calderón O. 37
Ejemplo 1 LVQEntrene una red LVQ1 con los
siguientes parámetros.
A) Efectue 4 iteraciones en el siguiente orden: P4, P3, P2, y P1.
0
1
1
1
0
1
1
1
22
11
TP
TP
1
0
1
1
1
0
1
1
44
33
TP
TP
FEBRERO DE 2003 M en C. José Luis Calderón O. 38
1100
00112W 5.0
840.0
543.011W
249.0
969.012W
094.0
997.013W
954.0
456.014W
FEBRERO DE 2003 M en C. José Luis Calderón O. 39
B) Grafique los pesos y iniciales y los finales después de la 1a. Epoca. No olvide graficar los patrones de entrada.
Dibuje la red neuronal resultante.
Escriba el código en Matlab/ NNT para resolver el problema
FEBRERO DE 2003 M en C. José Luis Calderón O. 40
Ejemplo 2 LVQEntrene una red LVQ1 con los
siguientes parámetros (XOR).
A) Efectue 4 iteraciones en el siguiente orden: P1, P2, P3, y P4.
0
1
0
1
0
1
1
0
22
11
TP
TP
1
0
0
0
1
0
1
1
44
33
TP
TP
FEBRERO DE 2003 M en C. José Luis Calderón O. 41
1100
00112W 5.0
75.0
25.011W
75.0
75.012W
25.0
113W
25.0
5.014W
FEBRERO DE 2003 M en C. José Luis Calderón O. 42
B) Grafique los pesos y iniciales y los finales después de la 1a. Epoca. No olvide graficar los patrones de entrada.
Dibuje la red neuronal resultante.
Escriba el código en Matlab/ NNT para resolver el problema
FEBRERO DE 2003 M en C. José Luis Calderón O. 43
Después de una iteración
FEBRERO DE 2003 M en C. José Luis Calderón O. 44
Regiones de Decisión Finales
FEBRERO DE 2003 M en C. José Luis Calderón O. 45
Limitaciones de LVQ1
A) Neuronas MuertasWi no se actualiza nunca
B) Wi no alcanza la regió n de clasificación de Pi.
Solución: Usar algoritmo LVQ2
FEBRERO DE 2003 M en C. José Luis Calderón O. 46
Variantes de LVQ
FEBRERO DE 2003 M en C. José Luis Calderón O. 47
Existen diferentes variantes al algoritmo básico de LVQ (LVQ1, LVQ2 y LVQ3).
Las diferentes variantes de LVQ descritas en [Kohonen, 1995,McDermott, 1990,Makino et al., 1992] las cuales tienen propiedades ligeramente diferentes.
FEBRERO DE 2003 M en C. José Luis Calderón O. 48
Por ejemplo LVQ2 [Kohonen et al., 1996b], la cual es eficiente para sintonia fina de las fronteras de decisión entre las clases en competencia.
LVQ3 [Kohonen et al., 1996b] la cual agrega un termino de estabilidad a LVQ2 para mejorar su comportamiento a largo plazo.
FEBRERO DE 2003 M en C. José Luis Calderón O. 49
Simulación en
Matlab / NNT
FEBRERO DE 2003 M en C. José Luis Calderón O. 50
Funciones de LVQ
initlvq para inicializar
simulvq para simular
trainlvq para entrenar la red
plotvec para graficar los vectores de entrada.
FEBRERO DE 2003 M en C. José Luis Calderón O. 51
Initlvq:
Regresa los pesos W1 para la capa competitiva con S1 neuronas y los pesos W2 para una capa de S2 neuronas lineales donde S2 es el numero de filas T.Cada columna de T debe tener todos “0s” excepto por un solo “1”.
FEBRERO DE 2003 M en C. José Luis Calderón O. 52
Sintaxis de initlvqSintaxis de initlvq
[W1,W2] = initlvq (P,S1,T);
donde:
P es el vector de entradas
T es el vector objetivo
S1 es el numero de neuronas en la capa oculta.
FEBRERO DE 2003 M en C. José Luis Calderón O. 53
trainlvqEsta función regresa matrices de pesos nuevos para una red LVQ de capas competitivas y lineales (W1,W2) y después de entrenar los pesos originales en los vectores de entrada P y los vectores objetivo asociados T usando parámetros de entrenamiento tp.
Tp(1) actualización de display = 25
Tp(2) No. Max. de presentaciones = 100
Tp(3) Razón de aprendizaje = 25Nota: NaN, se utiliza para los valores que tiene por omisión
FEBRERO DE 2003 M en C. José Luis Calderón O. 54
Sintaxis trainlvqSintaxis trainlvq
[W1,W2] = trainlvq(W1,W2,P,T,tp); donde:
W1 es el peso de la capa competitiva
W2 es el peso de la capa lineal
P es el vector de entradas
T es el vector de valores objetivo
tp son parámetros de entrenamiento
FEBRERO DE 2003 M en C. José Luis Calderón O. 55
simulvqLa función anterior toma un
matriz de vectores de entrada P, la matriz de vectores W y un vector de umbral b de una capa lineal y regresa la salidas de la capa.
FEBRERO DE 2003 M en C. José Luis Calderón O. 56
Sintaxis de Sintaxis de simulvqsimulvq
a = simulvq (P, W1,W2);donde:
W1 es el peso de la capa competitiva
W2 es el peso de la capa lineal
P es el vector de entradas.
FEBRERO DE 2003 M en C. José Luis Calderón O. 57
Función Función simulvqsimulvq
Ejemplo:
P= [-1 2 3 2 ...;
2 -1 1 -3 ...];
T= [0 0 0 1 ...;
1 1 1 0 ...];
[W,b]= initlvq (p,7,T);
a= simulvq ([1; -1], W1, W2);
FEBRERO DE 2003 M en C. José Luis Calderón O. 58
learnlvqLa función anterior regresa la actualización de la matriz de pesos para la capa competitiva oculta de una red LVQ
En LVQ la neurona ganadora de la capa competitiva es actualizada con la regla instar si esta neurona tiene un objetivo 1. De otra forma los cambios sugeridos por la regla instar son restados de los pesos de la neurona ganadora.
FEBRERO DE 2003 M en C. José Luis Calderón O. 59
Sintaxis learnlvqSintaxis learnlvq dW = learnlvq (W,P,a,T,lr);
W = W +dWdonde: W es la matriz de pesos original de la capa
competitiva
P es el vector de entradas
a es el vector de salida de la capa competitiva.
T es el vector de valores objetivos
lr es la razón de aprendizaje
FEBRERO DE 2003 M en C. José Luis Calderón O. 60
Código para el Ejemplo 1
P=[0 0 1 1;
0 1 0 1];
T=[1 0 0 1;
0 1 1 0];
[W1,W2]= initlvq(P,4,T);
[W1,W2]= trainlvq(W1,W2,P,T,[10 100 0.5]);
a = simulvq(P, W1,W2);
FEBRERO DE 2003 M en C. José Luis Calderón O. 61
Resumen de LVQ
FEBRERO DE 2003 M en C. José Luis Calderón O. 62
Resumen
LVQ es un método para el entrenamiento de de capas competitivas de una manera supervisada.
Una capa competitiva automáticamente aprenderá a clasificar automáticamente vectores de entrada. Sin embargo, las clases que la capa competitiva encuentra dependen únicamente de los vectores de entrada.
FEBRERO DE 2003 M en C. José Luis Calderón O. 63
Resumen
Si dos vectores de entrada son muy similares, la capa competitiva probablemente los colocara en la misma clase.
No existe mecanismo en el diseño de una capa competitiva para dictar si cualquiera de los vectores de entrada están la misma clase o no.
FEBRERO DE 2003 M en C. José Luis Calderón O. 64
Resumen
La redes LVQ aprenden a clasificar vectores de entrada en clases seleccionadas por el usuario
FEBRERO DE 2003 M en C. José Luis Calderón O. 65
Bibliografía
FEBRERO DE 2003 M en C. José Luis Calderón O. 66
Referencias:
T. Kohonen, Self-Organization and Associative Memory, 2nd. Edition, Berlin. Springer- Verlag, 1987.
FEBRERO DE 2003 M en C. José Luis Calderón O. 67
Dudas ???
FEBRERO DE 2003 M en C. José Luis Calderón O. 68
Hasta la próxima !!!
FEBRERO DE 2003 M en C. José Luis Calderón O. 69
APENDICE
FEBRERO DE 2003 M en C. José Luis Calderón O. 70
Learning of the LVQ Net
FEBRERO DE 2003 M en C. José Luis Calderón O. 71
FEBRERO DE 2003 M en C. José Luis Calderón O. 72
Training the LVQ Network
Step 1: Initialization:
Initialize the weight vectors.
The weight vectors may be initialized randomly.
Also initialize the learning rate
Step 2: For each vector in the training set follow steps 2a and 2b.
FEBRERO DE 2003 M en C. José Luis Calderón O. 73
LVQ Training
Step 2a
FEBRERO DE 2003 M en C. José Luis Calderón O. 74
Training LVQ
Step 3: Adjust the learning rate:
The learning rate is reduced as a function of iteration.
Step 4: Check for termination: Exit if termination conditions are met.
Otherwise go to step 2.
top related