learning vector quantization lvq

74
FEBRERO DE 2003 M en C. José Luis Calderó n O. 1

Upload: escom

Post on 11-May-2015

3.690 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Learning Vector Quantization LVQ

FEBRERO DE 2003 M en C. José Luis Calderón O. 1

Page 2: Learning Vector Quantization LVQ

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

Page 3: Learning Vector Quantization LVQ

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.

Page 4: Learning Vector Quantization LVQ

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)

Page 5: Learning Vector Quantization LVQ

FEBRERO DE 2003 M en C. José Luis Calderón O. 5

Page 6: Learning Vector Quantization LVQ

FEBRERO DE 2003 M en C. José Luis Calderón O. 6

Page 7: Learning Vector Quantization LVQ

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.

Page 8: Learning Vector Quantization LVQ

FEBRERO DE 2003 M en C. José Luis Calderón O. 8

Características de LVQ

Page 9: Learning Vector Quantization 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”.

Page 10: Learning Vector Quantization LVQ

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.

Page 11: Learning Vector Quantization LVQ

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.

Page 12: Learning Vector Quantization LVQ

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.

Page 13: Learning Vector Quantization LVQ

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.

Page 14: Learning Vector Quantization LVQ

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

Page 15: Learning Vector Quantization LVQ

FEBRERO DE 2003 M en C. José Luis Calderón O. 15

Arquitectura

Page 16: Learning Vector Quantization LVQ

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”

Page 17: Learning Vector Quantization LVQ

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 :

Page 18: Learning Vector Quantization LVQ

FEBRERO DE 2003 M en C. José Luis Calderón O. 18

Arquitectura

Page 19: Learning Vector Quantization LVQ

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

Page 20: Learning Vector Quantization LVQ

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

Page 21: Learning Vector Quantization LVQ

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

Page 22: Learning Vector Quantization LVQ

FEBRERO DE 2003 M en C. José Luis Calderón O. 22

Arquitectura de LVQ

Page 23: Learning Vector Quantization 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.

Page 24: Learning Vector Quantization LVQ

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

Page 25: Learning Vector Quantization LVQ

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.

Page 26: Learning Vector Quantization LVQ

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.

Page 27: Learning Vector Quantization LVQ

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

Page 28: Learning Vector Quantization LVQ

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

Page 29: Learning Vector Quantization LVQ

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.

Page 30: Learning Vector Quantization LVQ

FEBRERO DE 2003 M en C. José Luis Calderón O. 30

Algoritmo de

aprendizaje de LVQ

Page 31: Learning Vector Quantization 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

Page 32: Learning Vector Quantization LVQ

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

Page 33: Learning Vector Quantization LVQ

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.

Page 34: Learning Vector Quantization LVQ

FEBRERO DE 2003 M en C. José Luis Calderón O. 34

Aplicaciones

Compresión de datos

Clasificación de patrones

Reconocimiento de rostros

Page 35: Learning Vector Quantization LVQ

FEBRERO DE 2003 M en C. José Luis Calderón O. 35

Reconocimiento de Rostros LVQ

Page 36: Learning Vector Quantization LVQ

FEBRERO DE 2003 M en C. José Luis Calderón O. 36

Ejercicios

Page 37: Learning Vector Quantization LVQ

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

Page 38: Learning Vector Quantization LVQ

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

Page 39: Learning Vector Quantization LVQ

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

Page 40: Learning Vector Quantization LVQ

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

Page 41: Learning Vector Quantization LVQ

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

Page 42: Learning Vector Quantization LVQ

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

Page 43: Learning Vector Quantization LVQ

FEBRERO DE 2003 M en C. José Luis Calderón O. 43

Después de una iteración

Page 44: Learning Vector Quantization LVQ

FEBRERO DE 2003 M en C. José Luis Calderón O. 44

Regiones de Decisión Finales

Page 45: Learning Vector Quantization LVQ

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

Page 46: Learning Vector Quantization LVQ

FEBRERO DE 2003 M en C. José Luis Calderón O. 46

Variantes de LVQ

Page 47: Learning Vector Quantization 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.

Page 48: Learning Vector Quantization LVQ

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.

Page 49: Learning Vector Quantization LVQ

FEBRERO DE 2003 M en C. José Luis Calderón O. 49

Simulación en

Matlab / NNT

Page 50: Learning Vector Quantization LVQ

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.

Page 51: Learning Vector Quantization LVQ

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

Page 52: Learning Vector Quantization LVQ

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.

Page 53: Learning Vector Quantization LVQ

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

Page 54: Learning Vector Quantization LVQ

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

Page 55: Learning Vector Quantization LVQ

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.

Page 56: Learning Vector Quantization LVQ

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.

Page 57: Learning Vector Quantization LVQ

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

Page 58: Learning Vector Quantization LVQ

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.

Page 59: Learning Vector Quantization LVQ

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

Page 60: Learning Vector Quantization LVQ

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

Page 61: Learning Vector Quantization LVQ

FEBRERO DE 2003 M en C. José Luis Calderón O. 61

Resumen de LVQ

Page 62: Learning Vector Quantization 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.

Page 63: Learning Vector Quantization LVQ

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.

Page 64: Learning Vector Quantization LVQ

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

Page 65: Learning Vector Quantization LVQ

FEBRERO DE 2003 M en C. José Luis Calderón O. 65

Bibliografía

Page 66: Learning Vector Quantization LVQ

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.

Page 67: Learning Vector Quantization LVQ

FEBRERO DE 2003 M en C. José Luis Calderón O. 67

Dudas ???

Page 68: Learning Vector Quantization LVQ

FEBRERO DE 2003 M en C. José Luis Calderón O. 68

Hasta la próxima !!!

Page 69: Learning Vector Quantization LVQ

FEBRERO DE 2003 M en C. José Luis Calderón O. 69

APENDICE

Page 70: Learning Vector Quantization LVQ

FEBRERO DE 2003 M en C. José Luis Calderón O. 70

Learning of the LVQ Net

Page 71: Learning Vector Quantization LVQ

FEBRERO DE 2003 M en C. José Luis Calderón O. 71

Page 72: Learning Vector Quantization LVQ

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.

Page 73: Learning Vector Quantization LVQ

FEBRERO DE 2003 M en C. José Luis Calderón O. 73

LVQ Training

Step 2a

Page 74: Learning Vector Quantization LVQ

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.