Un sistema de clasificación y aprendizaje activo mutliclase con selección de características Pablo Ruiz Matarán Grupo de Procesamiento de Información Visual Departamento de Ciencias de la Computación e Inteligencia Artificial CITICoffee 27 de Abril 2015
Problemas tratados durante la tesis MODELOS BAYESIANOS Recuperación de video en bases de datos Restauración de imágenes Fotografía Computacional Clasificación
Problemas tratados durante la tesis MODELOS BAYESIANOS Recuperación de video en bases de datos Restauración de imágenes Fotografía Computacional Clasificación
Motivación Vamos a suponer que tenemos las siguientes muestras 2 Clase 1 Clase 2 Clase 3 Clase 4 1 0 1 2 0 0.2 0.4 0.6 0.8 1
Motivación 2 Clase 1 Clase 2 Clase 3 Clase 4 1 0 1 2 0 0.2 0.4 0.6 0.8 1
Motivación 2 Clase 1 Clase 2 Clase 3 Clase 4 1 0 1 2 0 0.2 0.4 0.6 0.8 1
Motivación Usualmente se recurre a un PREPROCESADO usando técnicas de selección de caracterís;cas: Búsqueda de correlaciones entre las bandas PCA Herramientas de visualización de datos etc
Motivación Podríamos construir un clasificador que seleccionara las caracterís;cas de forma automá;ca?
Bayesian Classification and Active Learning Using lp-priors. Application to Image Segmentation P. Ruiz, N. Pérez de la Blanca, R. Molina, and A.K. Katsaggelos, 22th European Signal Processing Conference (EUSIPCO 2014), Lisbon (Portugal), 2014
Outline 1. Modelización Bayesiana del problema 2. Inferencia Variacional 3. Aprendizaje Activo 4. Resultados Experimentales
Outline 1. Modelización Bayesiana del problema 2. Inferencia Variacional 3. Aprendizaje Activo 4. Resultados Experimentales
1. Modelización Bayesiana En un problema clásico de clasificación multiclase, tenemos acceso a un conjunto de entrenamiento y sus etiquetas: Y = 2 6 4 K es el número de clases en el problema de clasificación. B es el número de bandas. X =[x 1, x 2,...,x N ] 2 R B N y 1 (x 1 ) y 1 (x 2 )... y 1 (x N ) y 2 (x 1 ) y 2 (x 2 )... y 2 (x N )...... y K (x 1 ) y K (x 2 )... y K (x N ) N es el número de muestras de entrenamiento. 3 7 2 {0, 1}K N 5
1. Modelización Bayesiana Para modelar el clasificador usamos una función softmax: p(y W) = NY KY i=1 k=1! exp(wk T x yk (x i ) i + w k0 ) P K j=1 exp(wt j x i + w k0 ) El objetivo es estimar los coeficientes adaptativos W X = apple 1 1... 1 x 1 x 2... x N
1. Modelización Bayesiana Para modelar el clasificador usamos una función softmax: p(y W) = NY KY i=1 k=1! exp(wk T x yk (x i ) i) P K j=1 exp(wt j x i) El objetivo es estimar los coeficientes adaptativos W X = apple 1 1... 1 x 1 x 2... x N
1. Modelización Bayesiana Como conseguimos que el sistema haga selección de características? wk T X 2 [w k0,w k1,...,w ki,...,w kn ] 6 4 0 1 1... 1 x 11 x 12... x 1N...... x i1 x i2... x in...... x B1 x B2... x BN 3 7 5
1. Modelización Bayesiana Como conseguimos que el sistema haga selección de características? Vamos a imponer que la mayor parte de los coeficientes adaptativos W sea 0
1. Modelización Bayesiana Pseudo-normas `2 : kw k k 2 = `p con 0 <papple1 BX i=0! 1/2 wki 2 2 w k2 0 2 2 0 2 w k1
1. Modelización Bayesiana Pseudo-normas `2 : kw k k 2 = `p con 0 <papple1 BX i=0 w 2 ki! 1/2 2 w k2 0 2 2 0 2 w k1
1. Modelización Bayesiana Pseudo-normas `p con 0 <papple1 `2 : kw k k 2 = BX! 1/2 wki 2 `p : kw k k p =! 1/p BX w ki p,p=0.6 i=0 i=0 2 2 w k2 0 w k2 0 2 2 2 0 2 w k1 2 0 2 w k1
1. Modelización Bayesiana Pseudo-normas `p con 0 <papple1 `2 : kw k k 2 = 1/2 BX wki! 2 `p : kw k k p =! 1/p BX w ki p,p=0.6 i=0 i=0 2 2 w k2 0 w k2 0 w k1 =0 2 2 2 0 2 w k1 2 0 2 w k1
1. Modelización Bayesiana Modelo a priori p(w ) = KY k=1 p(w k k ) / KY k=1 B/p K exp " k B X i=0 w ki p #
1. Modelización Bayesiana k Para estimar los parámetros consideramos distribuciones a priori sobre ellos p( k )= ( k a k,b k ) Distribuciones Gamma 0.4 0.3 a=1,b=0.5 a=2,b=0.5 a=3,b=0.5 a=5,b=1 0.2 0.1 0 0 5 10 15 20 E[ k ]= a k b k Var[ k ]= a k b 2 k
1. Modelización Bayesiana Finalmente la distribución conjunta de probabilidad factoriza como: p(, W, Y) =p( )p(w )p(y W)
Outline 1. Modelización Bayesiana del problema 2. Inferencia Variacional 3. Aprendizaje Activo 4. Resultados Experimentales
2. Inferencia Variacional Nuestro objetivo sería calcular la distribución a posteriori: p(, W Y) = p(y, W, ) p(y) Sin embargo alternativa. p(y) no puede ser calculada, así que buscamos una Divergencia de Kullback-Leibler: Z Z KL(q(, W)kp(, W Y)) = q(, W) log Siempre es mayor o igual que 0 q(, W) d dw + const p(y,, W) Vale 0 si y solo sí q(, W) =p(, W Y)
2. Inferencia Variacional Esto conduce al siguiente algoritmo iterativo: Algorithm 1 Fase de Entrenamiento Require: 0 =(1,...,1) T. 1: repeat 2: Calcular q(w). 3: Calcular q( k ),k =1,...,K. 4: until convergence en particular, encontramos las estimaciones que buscábamos: hw k i,k =1,...,K h k i,k =1,...,K
2. Inferencia Variacional Dada una nueva muestra podemos calcular las probabilidades de pertenencia a cada una de las clases x 0.8 p(c k x )= exp(hw k i T x ) P K i=1 exp(hw ii T x ) p(c k x * ) 0.6 0.4 0.2 0 1 2 3 4 C k x es asignada a la clase con mayor probabilidad
Outline 1. Modelización Bayesiana del problema 2. Inferencia Variacional 3. Aprendizaje Activo 4. Resultados Experimentales
3. Aprendizaje Activo Sistema de Aprendizaje Activo Conjunto Urna (Muestras NO E;quetadas) Selección de la mejor muestra Clasificador E;queta Conjunto Entrenamiento (Muestras E;quetadas) Oráculo Clasificador Final
3. Aprendizaje Activo Usando las probabilidades de pertenencia a cada clase proponemos dos métodos de Aprendizaje Activo: MAXIMUM ENTROPY CRITERIA 1 1 0.8 0.8 p(c k x 1 ) 0.6 0.4 p(c k x 2 ) 0.6 0.4 0.2 0.2 0 0 1 2 3 4 1 2 3 4 C k C k Entropy = 0.91 Max = 0.7 Entropy = 1.39 Max = 0.25 x N+1 = arg max x KX p(c k x ) log p(c k x ) k=1
3. Aprendizaje Activo Usando las probabilidades de pertenencia a cada clase proponemos dos métodos de Aprendizaje Activo: MINIMUM PROBABILITY CRITERIA 1 1 0.8 0.8 p(c k x 1 ) 0.6 0.4 p(c k x 2 ) 0.6 0.4 0.2 0.2 0 0 1 2 3 4 1 2 3 4 C k C k Entropy = 1.19 Max = 0.53 Entropy = 1.12 Max = 0.42 x N+1 = arg min x (max k (p(c k x )))
Outline 1. Modelización Bayesiana del problema 2. Inferencia Variacional 3. Aprendizaje Activo 4. Resultados Experimentales
4. Resultados Experimentales Experimento Sintético Objetivo: Segmentar los 3 rectángulos de la imagen. 3 clases (una por cada rectángulo) 60 x 60 pixels = 3600 muestras Todos los píxeles son generados aleatoriamente en el espacio RGB, usando 3 distribuciones gaussianas diferentes. Medias: izquierda= (0.9,0.5,0.1) T medio = (0.5,0.5,0.5) T derecha= (0.1,0.5,0.9) T Desviaciones típicas(las mismas para las tres clases): Red = 0.05, Green = 0.5, Blue = 0.05
4. Resultados Experimentales Experimento Sintético Objetivo: Segmentar los 3 rectángulos de la imagen. 3 clases (una por cada rectángulo) 60 x 60 pixels = 3600 muestras Todos los píxeles son generados aleatoriamente en el espacio RGB, usando 3 distribuciones gaussianas diferentes. Nótese que la banda del la segunda componente no tiene información relevante para clasificar
4. Resultados Experimentales Experimento Sintético Configuración Conjunto de entrenamiento: 12 muestras (4 de cada clase) Conjunto de test: 1500 muestras (500 de cada clase) El experimento se repite 10 veces con diferentes conjuntos de entrenamiento. Método comparado: SVM - Núcleo Gaussiano que obtiene los mejores resultados - Se buscan los parámetros que mejor resultado obtienen - Mejor resultado: Kappa-index = 0.95
4. Resultados Experimentales Experimento sintético Resultados: p 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 apple index 1 1 1 1 1 1 0.99 0.99 0.99 0.99 (SVM: Kappa-index = 0.95) Los coeficientes adaptativos en la banda del verde son 0
4. Resultados Experimentales Experimento Real Image Segmenta;on Dataset UCI Machine Learning Repository [1] El OBJETIVO es clasificar los píxeles de una imagen en 7 clases: BRICKFACE, SKY, FOLIAGE, CEMENT, WINDOW, PATH and GRASS. Cada muestra es un vector de 19 componentes, representando diferentes atributos medidos en un vecindario 3x3 del pixel de interés. [1] K. Bache and M. Lichman, UCI machine learning repository, 2013.
4. Resultados Experimentales Experimento Real Configuración Conjunto de entrenamiento: 126 muestras (18 de cada clase) Conjunto de test: 1050 muestras (150 de cada clase) El experimento se repite 10 veces con diferentes conjuntos de entrenamiento. Método Comparado: SVM - Núcleo Gaussiano que obtiene los mejores resultados - Se buscan los parámetros que mejor resultado obtienen SVM Mejores parámetros Kappa index Método Propuesto p = 1 Método Propuesto p = 0.02 0.84 0.86 0.88
4. Resultados Experimentales Experimento Real W Componente: 9 Atributo: gradiente horizontal medio
4. Resultados Experimentales Experimento Real W Componente: 12 Atributo: raw-rojo medio
4. Resultados Experimentales Experimento Real W Componente: 14 Atributo: raw-verde medio
4. Resultados Experimentales Experimento Real W Componente: 15 Atributo: exceso de rojo
4. Resultados Experimentales Experimento Real W Componente: 17 Atributo: exceso de verde
4. Resultados Experimentales Experimento Real W Componente: 18 Atibuto: media
4. Resultados Experimentales Experimento Real W Componente: 20 Atributo: hue medio
4. Resultados Experimentales Experimento Real W Componente: 4 Atributo: tamaño del vecindario El mismo valor (9) para todas las muestras
4. Resultados Experimentales Experimento Real W El sesgo se va a 0. Si quitamos la componente 4, obtenemos los mismos valores en la componente 1 pero multiplicados por 9
4. Resultados Experimentales Resultados de Aprendizaje Activo Conjuntos SYNTHETIC DATASET REAL DATASET Initial Training Set 6 (2 for each class) 21 (3 for each class) Pool Set 1500 (500 for each class) 1050 (150 for each class) Test Set 1500 (500 for each class) 1050 (150 for each class) Métodos Comparados SVM Margin Sampling (SVM-MS) [1] SVM Multiclass-Level Uncertainty (SVM-MCLU) [2] SVM Entropy-query-by-bagging (SVM-EQB)[3] [1] B. Seales, Ac#ve Learning, Morgan & Claypool, 2012. [2] B. Demir, C. Persello and L. Bruzzone, Batch- mode ac;ve- learning methods for the interac;ve classifica;on of remote sensing images, IEEE Trans. on Geoscience and Remote Sensing, vol. 49, no. 3, 1014-1031, 2011. [3] D. Tuia, F. Ratle, F. Pacifici, M.F. Kanevski and W.J. Emery, Ac;ve learning methods for remote sensing image classifica;on, IEEE Transac#ons on Geoscience and Remote Sensing, vol. 47, no. 7, 2218-2232, 2009.
4. Resultados Experimentales 1 Kappa index Learning Curve for Synthetic Dataset Kappa index 0.95 Random 0.9 MIN PRO 0.85 MAX ENTRO 0.8 SVM MS [2] SVM MCLU [3] 0.75 SVM EQB [4] 5 10 15 20 25 Samples in training set 1 Kappa index Learning Curve for Real Dataset 0.9 Kappa index 0.8 0.7 0.6 0.5 0 50 100 150 200 250 Samples in training set
preguntas?