learning vector quantization lvq

Post on 11-May-2015

3.690 Views

Category:

Education

1 Downloads

Preview:

Click to see full reader

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