150 likes | 631 Views
Funciones Discriminantes Lineales. Enrique Ferreira Reconocimiento de Patrones 01 de abril de 2014. Objetivos. Introducir el concepto de funciones discriminantes caso lineal superficies discriminantes clasificacion Concepto de Separabilidad lineal Algoritmos de clasificacion Gradiente
E N D
Funciones Discriminantes Lineales Enrique Ferreira Reconocimiento de Patrones 01 de abril de 2014
Objetivos • Introducir el concepto de funciones discriminantes • caso lineal • superficies discriminantes • clasificacion • Concepto de Separabilidad lineal • Algoritmos de clasificacion • Gradiente • Perceptron y variantes • Relajacion • Casos no separables • Minimos cuadrados • Widrow-Hoff, LMS Reconocimiento de Patrones
Funciones Discriminantes • Usar funciones lineales: • g(x) = w.x + wo • para clasificar conjunto de patrones • g(x)=0 es un hiperplano en Rn • w es vector normal (pesos) a hiperplano • g(x) es proporcional a distancia (con signo) de x a hiperplano • caso 2 clases: • Clase 1: g(x) > 0 • Clase 2: g(x) < 0 Reconocimiento de Patrones
Funciones Discriminantes • Caso C clases: • Mas de una forma de hacerlo con funciones discriminantes • uso C funciones discriminantes • gi(x) para ver si pertenece o no a clase i, i=1..C • usar C(C-1)/2 • una funcion por par de clases • usar C funciones de nuevo • tomar clase j=arg max gi(x) • bordes gi=gj son hiperplanos • bordes de clases son convexos (limitante) Reconocimiento de Patrones
Funciones Discriminantes • Generalizaciones • usar funciones cuadraticas • polinomiales • expansion en series • sigmoidales • redes neuronales artificiales • funciones bases • radial basis functions • Permiten generar regiones de decision mas complejas • Calculo de pesos mas complicado Reconocimiento de Patrones
Separabilidad Lineal • Problema: • dado conjunto de entrenamiento (patrones) {xi,ci}, calcular pesos de funcion discriminante para C=2 • Decimos que dicho conjunto es linealmente separable si existe w tal que separa todos los patrones correctamente • Separabilidad Lineal: • patrones (xk,ck) • condición (caso wo=0): • wt.xk > 0, ck=0 • wt.xk < 0, ck=1 • wt.zk > 0, con zk= (1-2ck).xk Reconocimiento de Patrones
Encontrar Solucion a vector de pesos • Encontrar w solucion a Problema • si es linealmente separable • puede haber varias soluciones posibles • se ve geometricamente • Gradiente descendente • definiendo funcion J a minimizar en solucion • Funcion posible (Perceptron) • J = -Sum(wt.xk) para todos los patrones mal clasificados • Newton • Aproximando a error cuadratico Reconocimiento de Patrones
Variantes • Gradiente descendente • incremento fijo, de a un patron • w’ = w + z • incremento variable n(k) • margen de correccion • Teoremas • Se puede probar que algoritmos convergen • para el caso de incremento variable se debe verificar que • sum n(k) inf • sum n2(k)/(sum n(k))^2 0 Reconocimiento de Patrones
u2 u1 wt.u=0 Perceptron • Perceptron • Separa espacio con hiperplano • y = f ( w1 u1 + w2 u2 + ... + wn un ), • f(s) = { 1 si s0, 0 si s<0 } • Puede incluir offset w0. • Importante históricamente • estudiado muy detalladamente (Minsky y Papert ‘69) • Es un clasificador lineal en 2 clases. • bueno si patrones linealmente separables • XOR problem • Análogo a clasificador de Bayes gaussiano. • minimiza probabilidad de error • clasificador denominado paramétrico Reconocimiento de Patrones
Aprendizaje: Perceptron • Separabilidad Lineal: • patrones (uk,vk) • condición: • sgn(wt.uk)=vk • wt.zk > 0, con zk= vkuk • Algoritmos: • muchas opciones basadas en error en la salida • : umbral de corrección • separarme de zona de transición • D: medida de performance • distancia de solución a patrones • medida de separabilidad • Convergencia • Cota para M, número total de pasos para llegar a solución w*. Reconocimiento de Patrones
Criterios de relajacion • Se pueden usar otras funciones a optimizar • funcion cuadratica • J=sum(wt.xk)^2, para xk mal clasificados • gradiente continuo • se usa: (Batch relaxation with margin) • normalizacion para evitar problemas de escala • margen de clasificacion para no quedarme en mala solucion • Se puede probar convergencia para el caso de update por patron y con margen (single sample relaxation rule with margin) mas facil, con 0 < n < 2 • explicacion geometrica de regla • wk+1.x-b=(1-n)(wk.x-b) Reconocimiento de Patrones
Optimización Lineal: Least-Squares (LSE) • Dado conjunto de pares entrada-salida deseados y modelo lineal paramétrico • podemos asumir yiR sin perder generalidad • obtenemos sistema lineal • con mayor número de ecuaciones que incógnitas • minimizando el error cuadrático E • Off-line: Pseudoinverse • si podemos armar el sistema lineal de antemano • On-line: Obtención recursiva de la pseudoinverse • datos obtenidos en forma secuencial durante cálculo • Variantes: • forgetting factor • LSE vs Kalman Filter • LSE vs MLE, unbiased, consistent Reconocimiento de Patrones
Widrow-Hoff: Adaline y=0 • Adaptive Linear Element • Estructura: • Como un Perceptron pero con función lineal a la salida. • Permite trabajar con problemas más generales • Widrow y Hoff propusieron un método computacionalmente más eficiente denominado LMS para determinar parámetros del Adaline (1962). • similar a aplicar gradiente descendente • muy intuitivo Reconocimiento de Patrones
Aprendizaje: Adaline • Adaptive Linear Element” • Aprendizaje • La salida lineal permite aplicar método de gradiente en aprendizaje • Widrow y Hoff propusieron un método computacionalmente más eficiente denominado LMS (1962) • error instantáneo • aplica gradiente descendente a estimación actual de gradiente • aproximación estocástica • muy intuitivo • Convergencia • Depende de y valores propios de función E • matrix de correlación de entradas • malos valores de pueden causar lentitud u oscilación • : medida de memoria de algoritmo • variar durante aprendizaje • disparidad de valores i. Reconocimiento de Patrones
Referencias • Duda and Hart. Capitulo 5. • Simon Haykin, “Neural Networks”, Prentice Hall, 1999. • Hertz, Krogh and Palmer, “Introduction to the theory of Neural Computation”, Addison-Wesley, 1991. Reconocimiento de Patrones