Está en la página 1de 22

3.

- Técnicas de clasificación:
Métodos paramétricos

Análisis y extracción de información

Javier García Haro

ÍNDICE Técnicas de clasificación: Métodos paramétricos

 Densidad de probabilidad
 La función normal multivariante
 Clasificador de máxima verosimilitud
 Clasificadores lineal y cuadrático
 Clase de rechazo.

2
Métodos paramétricos

- Presuponen un completo conocimiento a priori del modelo


estadístico que siguen las clases
1. Aprendizaje: estimar las f.d.p. de las clases (parámetros del modelo
estadístico de cada clase)
2. Determinar la función discriminante

Selección del modelo estadístico


Sea una muestra de N prototipos de la clase : , ,…,
Objetivo: elegir el modelo:
 j ( )   ( 1 ,  2 ,...,  p )
Cuya probabilidad de la muestra condicionada al modelo sea máxima
N
P ( X | ())   P ( x i |  j ())  máximo
i 1
N
ln( P ( X |  j ()))   p ( x i |  j ())  máximo
i 1
Solución (estimador de máxima verosimilitud):
N Operador gradiente
  ln P( x k |  j ()))  0  
t
  
k 1
   , ,..., 
 1  2  p 

Ejemplo: Parámetros estadísticos de la distribución normal N ( i ,  i )


N
1 1 N
ˆ i 
N
 xk
k 1
ˆ i  
N  1 k 1
( x k  i )T ( x k   i )
Métodos paramétricos: densidad normal

1  1  x   2 
P( x / ci )  N ( i ,  i ) N ( , )  exp    
2   2    
Densidad normal unidimensional
– Analíticamente tratable
99.72%
– Función continua 95.44%
– Muchos procesos son 68.26%
asintóticamente
Gaussianos (teorema
central del límite)
•  = valor medio
• 2 = varianza

 x
 – 3  – 1  + 1  + 3
 – 2  + 2
5

Comandos para trabajar con dist. normal


MATLAB
1  1  x   2 
N ( , )  exp    
2   2    

randn(m,n): genera una matriz (m,n) de números aleatorios de acuerdo a


una distribución normal tipificada (es decir, de media 0 y desviación típica 1).

>> x = 2 + randn(2000,1)*3;
¿que distribución genera?
Comandos para trabajar con dist. normal
MATLAB
p=normcdf(x,mu,sigma): distribución normal acumulada con media mu y
desviación estándar sigma evaluada en el punto x.
p=normcdf(x): distribución normal tipificada o estandarizada acumulada
(media=0, sigma=1), evaluada en el punto x.

Ejemplo: Probabilidad de encontrar valores menores que -

>> normcdf(-1,0,1)]; >> normcdf(-1)]


>> ans = 0.1587 >> ans = 0.1587

Ejemplo: Probabilidad de encontrar valores en el intervalo [-, +]

>> normcdf(1)-normcdf(-1)
>> ans = 0.6827

Normal Probability plots


• Chambers (1983)
• Objetivo: determinar gráficamente si un conjunto de datos X puede
proceder de la distribución normal (generalizable a otras distribuciones),
en cuyo caso los puntos se distribuyen a lo largo de la bisectriz
o Distribución normal  linealidad en los datos
o Distribución diferente curvatura

MATLAB
normplot(X): normal probability plot de los datos en X.
Nota: Si X es una matriz, se representan tantas gráficas como columnas hay
en X.
histfit(X): Superpone al histograma del vector X una distribución normal
REPASO: ÁLGEBRA LINEAL ELEMENTAL

Dados 2 vectores x   x1 ,, x n  y   y1 ,, y n 

se definen las operaciones:

Suma x  y   x1  y1 ,, xn  y n 

Producto escalar de dos vectores n


x  y  x , y  x  y   xi y i
T

i 1

Norma de un vector
x x
n
x  x x  ( x x)
T T 1/ 2
 x 2
i
9
i 1

REPASO: ÁLGEBRA LINEAL ELEMENTAL


Distancia entre dos vectores y
x y
d ( x, y )  x  y
x
Ángulo entre dos vectores x, y
cos  
x y


x, y  0  cos  0  x  y


Sea un conjunto de vectores u1 , , u p 
Ortogonal si todos los vectores son perpendiculares ui  u j

Ortonormal si es ortogonal y todos los vectores tienen norma 1:


ui  1 i 10
REPASO: ÁLGEBRA LINEAL ELEMENTAL

Ejemplo
  1  1 
   
u  0  v  0 
 2    3
   

(i )  u , v 
( ii ) u
( iii ) u  v ?
( iv ) d ( u , v )
( v ) cos 

11

Matriz de datos
Formada por
 x11 x12 x13  x1n 
 p vectores fila (tantos como datos, pixels Rn)  
 n columnas (tantas como variables o bandas)
 x21 x22 x23  x2 n 
 p n   x31 x32 x33  x3 n 
 
      
 Vector de medias: x x p2 x p3  x pn 
 p1
x  E [ X ]     1  n   E ( X1 )  E ( X n ) 
X1 X2 X3 Xn
 Matriz de covarianzas:
p
 ij   ( xki  xi )( x jk  x j ) /( p  1)
k 1
  es cuadrada y simétrica (ij=ji). 12
 ij es la covarianza entre las bandas i y j.
Representa la dependencia entre ellas;
 Si ij>0 su correlación es directa (nube de
puntos creciente)
 ii es las varianza de la banda i (ii=i2).
 Tiene unidades físicas
Covarianzas y correlaciones

 Matriz de correlaciones:  rij es el coeficiente de correlación lineal entre


 ij las variables i y j.
rij 
 i j  Mide la fuerza de la relación lineal
(únicamente)
 Adimensional, entre -1 y 1

Componentes independientes

Matriz de datos

EJEMPLO: 4 pixels, 3 bandas

X1 X4  3 42 15 
 
X3  4 44 18 
  
20 
43
2 40
 
 3 42 21 
X2
X1 X2 X3

 0.67 1.33  0.67 


 
  3 42 18.5    1.33 2.67  1.33 
  0.67  1.33 7.0 

14
Estadísticos básicos en MATLAB
Estadísticos multidimensionales (se aplican sobre matriz X)
Nota: cada fila es un punto, cada columna es una variable.
• corrcoef(X): matriz de correlación de X
• cov(X): Si X es matriz, devuelve la matriz de covarianza. Si vector devuelve la
varianza

Estadísticos unidimensionales (se aplican sobre un vector x)


Nota: Si x es una matriz se aplican por separado a las columnas de x, dando como
resultado un vector
mean(x): valor medio de los elementos de x.
>> x=[0 1 2; 3 4 5]
mean(x, dim): valor medio a lo largo de la dimension dim.
std(x) : desviación típica de x. x= 0 1 2
max(x): máximo elemento de x (y su posición). 3 4 5
min(x): mínimo elemento de x(y su posición) >> mean(x,1)
range(x): rango de x, es decir, xmáximo-xmínimo ans =1.5000
mean(x): valor medio de los elementos de x. 2.5000 3.5000
std(x) : desviación típica de x.
>> mean(x,2)
median(x): mediana de x
iqr(x): distancia intercuartil (percentil 75- percentil 25) de x. ans = 1
mode(x): moda de x. 4
iqr(x): distancia intercuartil (percentil 75- percentil 25) de x.
kurtosis(x): coeficiente de curtosis 15
skewness(x): coeficiente de asimetría

Matriz de datos
Ejercicio: Dada la matriz formada por los 5 datos en R4, calcular e
interpretar algunos estadísticos univariados (media, rango,
desviación típica, mímino, máximo) y bi-variados (matrices de
correlación y covarianza) usuales

Pixel Banda 1 Banda 2 Banda 3 Banda 4


(verde) (Rojo) (IRC) (IRM)
(1,1) 130 57 180 205
(1,2) 165 35 215 255
(1,3) 100 25 135 195
(1,4) 135 50 200 220
(1,5) 145 65 205 235

16
Matriz de datos
Band 1 Band 2 Band 3 Band 4
Mean (k) 135 46.40 187 222
Variance (vark) 562.50 264.80 1007 570
(s k ) 23.71 16.27 31.4 23.87
(mink) 100 25 135 195
(maxk) 165 65 215 255
Range (BVr) 65 40 80 60

Estadísticos univariados

Band 1 Band 2 Band 3 Band 4 Band Band Band 3 Band


1 2 4
Band 1 562.25 - - -
Band 1 - - - -
Band 2 135 264.8 - -
0 Band 2 0.35 - - -
Band 3 718.75 275.25 1007.5 -
Band 3 0.95 0.53 covariance
- -
0
Band 4 537.50 64 663.75 570 Band 4 0.94 0.16 0.87 -
17

Covarianza Coef. correlación

Función de densidad normal multidimensional


 1 
exp   x  i   i1  x  i 
1 / 2
p ( x | ci )  N ( i ,  i )  (2 )  n / 2  i
T

 2 

 i Vector medio de la clase i


 i Matriz de covarianza de la
clase i

Habría que comprobar que las clases


de nuestro problema sigan una
distribución normal.
Si no es así (p.ej. distribuciones
bimodales), ¿Qué hacer?

18
Función de densidad normal multidimensional

19

Funciones discriminates para la densidad normal

Simplificaciones habituales:

i =  2 I Clasificador lineal euclídeo


Variables estadísticamente independientes.
Matrices de covarianza iguales para todas las clases.

i =  Clasificador lineal de Mahalanobis


Variables correladas.
Matrices de covarianza iguales para todas las clases (misma
incertidumbre)

i Clasificador cuadrático
Matrices de covarianza arbitrarias
(independientes para las distintas clases)
20
Funciones discriminates para la densidad normal

• Recordemos: El clasificador ideal (mínimo error) tiene como función


discriminante:
g i ( x )  ln p ( x | ci )  ln  i i  1,2,..., c
x  ci si g i ( x )  g j ( x )  j  i

(i) Modelo Gaussiano más general (i arbitrarias)


 1 
exp   x   i   i1  x   i 
1 / 2
p ( x | ci )  N (  i ,  i )  (2 )  n / 2  i
T

 2 
n 1 1
ln( p ( x | ci ))   ln(2 )  ln(  i )  ( x   i ) T  i1 ( x   i )
2 2 2
1 1
g i ( x )  ln  i  ln(  i )  ( x   i )T  i1 ( x   i )
2 2
 Es un clasificador cuadrático: g i ( x)  x tWi x  wit x   i

1 1 1
donde: Wi    i1 w i   i1  i  i    it  i1  i  ln  i  ln 21
i
2 2 2

Clasificador cuadrático

Característica principal:
Las fronteras de decisión son funciones
cuadráticas (círculos, elipses, parábolas,
hipérbolas).

22
Funciones discriminates para la densidad normal
(ii) Modelo Gaussiano con Matrices de covarianza iguales (i=)

1 1
g i ( x )  ln  i  ln(  i )  ( x   i )T  i1 ( x   i )
2 2

1
gi ( x )  ln  i  ( x   i )T  1 ( x   i )
2

2   x   i   1  x   i 
T
: Distancia de Mahalanobis al cuadrado
entre x y la Gaussiana N(i,)

 Es un clasificador lineal: g i ( x )  wit x   i


1
donde: wi   1  i ;  i    it  1  i  ln  i
2 23

Clasificador lineal de Mahalanobis i = 

Variables correladas

si clases equiprobables (1=2 …=c):


1 Clasificador de mínima
gi ( x)  ( x   i )T  1 ( x   i ) distancia de Mahalanobis
2
1) Calcular la distancia de Mahalanobis (al cuadrado) del patrón a cada
uno de los centros de las c clases
2) Selecionar la clase más cercana 24
Funciones discriminates para la densidad normal
(iii) Modelo Gaussiano de tipo esférico (i=2 I)

Hipótesis:
• Variables incorreladas
•Todas tienen la misma incertidumbre

 2 0 0  0 1 0 0  0
  0
 0  2
0  0
 1 0  0
 0 0 2  0    0
2
0 1  0   2 I
   
           
0 0 0   2  0 0 0  1

25

Funciones discriminates para la densidad normal


(iii) Modelo Gaussiano de tipo Variables incorreladas
esférico (i=2 I)
 1 
exp   x   i  ( 2 I ) 1  x  i 
1 / 2
p ( x | ci )  N (  i ,  2 I )  ( 2 )  n / 2  2 I
T

 2 

1
g i ( x )  ln( i )  ( x   i )T ( x   i )
2 2

 x  i T  x  i   dis( x, i )  x  i
2
: Distancia Euclídea al
cuadrado entre x y i

¿Que características tiene?


1) La frontera es un hiperplano en n-1
2) El hiperplano es perpendicular al vector que une sus centros: i – j
3) Si i=j, el hiperplano es la bisectriz de la línea que une las medias.
4) Siij, el hiperplano está más cercano a la clase de menor probabilidad.
26
Clasificador lineal del modelo gaussiano esférico

si clases equiprobables (1=2 …=c):


g i ( x )  dis( x,  i )  x   i
2
Clasificador de mínima
distancia Euclídea
. Fronteras de decisión

1) Calcular la distancia euclídea del patrón a cada uno de los centros de


las c clases
2) Asignarle la etiqueta de la clase más cercana. 27

Clasificador lineal del modelo gaussiano esférico

2
g i ( x )  x  i

28
Clasificador lineal del modelo gaussiano esférico

n=2

 2  0 .2
 1  0 .8

29

ETAPAS (método paramétrico)


Decidir el clasificador
 Estudiar y sacar conclusiones sobre el conjunto de aprendizaje: test
de normalidad, comprobar la suficiencia en el número de muestras
para estimar los parámetros de las clases, etc.

 Aprendizaje
 Estimación de los parámetros de cada clase
 1) Estimar i i=1,2,…c
 2) En caso de no usar el Modelo Gaussiano de tipo esférico
 Estimar i i=1,2,…c
 3) Si además se adopta el modelo matrices de covarianza
iguales c
 Calcular:    i   i
i 1
Clasificación
x cj si j  max {g j ( x )}
j1,2,.c

30
Clasificadores paramétros. Clase de rechazo

Algunos patrones están en regiones en las que la probabilidad es tan baja que la
asignación a una de las posibles clases es cuestionable deben descartarse

Sin rechazo: Todos los patrones se clasifican c1, c 2 , c 3 


Con rechazo: Hay una “clase” adicional  c , c , c , c
1 2 3
31
no clasificados 

Clasificadores paramétros. Clase de rechazo

Ejemplo

• Se ajusta una función gausiana


a los prototipos de cada clase
1
• El punto 1 debería etiquetarse
en la clase ‘azul’, ya que es la
mas probable
Contornos de
equiprobabilidad
• El Punto 2 debería etiquetarse
como “no clasificado”, pues la
2
probabilidad es muy baja en
cualquiera de las clases

32
Diseño de Clasificadores paramétros. Clase de rechazo

Probabilidad “a posteriori”
Clase 2
g2=P(x|c2) . 2
Clase 1 Clase 3
g1=P(x|c1) . 1 g3=P(x|c3) . 3

 gi ( x)  g j ( x)  i  j
x  ci si 
 y además g i ( x )  Ti
Ti: umbral de rechazo para la clase ci, que hay que determinar
33

Ejemplo: clasificación de un área de estudio


-Barrax (Albacete), zona agrícola
- imagen Landsat-5 Thematic Mapper (TM) de Julio 2003

34
Selección de áreas de entrenamiento
valor informativo, exhaustivas, suficientemente extensas, homogéneas,
separables espectralmente

Caña de azúcar

Alfalfa

Maíz

35
pinar
Suelo desnudo Trigo seco

Fase de Aprendizaje

36
Comparación: Lineal vs. Cuadrático

Ejercicio: Cada píxel es un vector en el espacio espectral R2 de regiones


espectrales (TM3,TM4). ¿En que clase se etiquetan los píxels (0.25,0.25) y
(0.05,0.40) y (0.05,0.26) si utilizamos un clasificador lineal? ¿Y uno cuadrático?
37

Probabilidades a posteriori
Funciones discriminantes gi(x), i=1,2,…c
g i ( x )  ln p( x | ci )  ln  i i  1,2,..., c
1 1
g i ( x )  ln  i  ln(  i )  ( x  i )T  i1 ( x  i )
2 2
P(suelo|x) P(forestal|x) P(cultivo|x)

cˆ j ( x )  max {g j ( x )}
j 1, 2 ,.c

Suelo

Forestal

Veg. seca
Clasificación temática: Cultivos
38
Resultado del proceso de Clasificación

3 3 3 3 3 3
1 9 3 1 3 3
3 4 2 3 4 2
Ventana 3x3 con Resultado del
Imagen clasificada centro en pixel (5,4) Filtro Moda

Filtro de
moda

Suelo

Forestal

Veg. seca
39
Cultivos

Diseño de clasificadores paramétricos


¿Qué clasificador es más conveniente?

Desde el punto de vista formal, el clasificador cuadrático (i arbitrario) es el


más general. Sin embargo…
 Requiere un número de prototipos mucho mayor que uno lineal.

 Comprobar si las clases de nuestro problema siguen una distribución

normal.
 Los estimadores complejos NO son fiables cuando tenemos pocos datos y/o
la dimensionalidad de los datos es elevada.
40
 Solución híbrida: regularización
x  ci
Anexo: Estimar umbrales de la clase de rechazo
Clasificador de Máxima Verosimilitud:

g i  ln  i  ln  i   x   i   i1  x   i   Ti
1 1 T

2 2

Hipótesis: x está normalmente distribuida


 La distancia de Mahalanobis al cuadrado es chi-cuadrado con n
grados de libertad  2
n
2
n  xj   j 
2   x  i   i1 i  x 
T
 
 
j 1 


j 

1 1
Umbral de corte: Ti  ln  i  ln  i   n2
2 2
Se rechazan los patrones situados en las colas de la distribución normal
Valor típico: aceptar el 95% de los puntos de una clase (se rechaza el 5%).
41

Anexo: Estimar umbrales de la clase de rechazo


Ejemplo. Problema de clasificación de una imagen con 4 bandas (n=4)
.
Función de distribución 2 tabulada entre 1 y 4 grados de libertad.

1 1
Ti  ln  i  ln  i  9.49
2 2
Funciones MATLAB
p = chi2cdf(x,v): distribución acumulativa chi-cuadrado con v grados de libertad
evaluada en el punto x.
x=chi2inv(p,v): inversa de la distribución acumulativa chi-cuadrado con v grados de
libertad correspondiente a una probabilidad p.
>> chi2inv(0.95,4)
42
ans = 9.4877
ANEXO: CLASIFICADORES EN MATLAB

Clasificadores paramétricos (cuadrático, lineal)


Fitcdiscr (Fit discriminant analysis classifier): Clasificadores paramétricos
que asumen una distribución normal para las clases

mc= fitcdiscr(Xtrain,Ytrain, opciones):


Inputs: X: matriz de datos (cada columna es una banda)
Ytrain: vector de etiquetas
Algunas opciones
‘Weights' : Vector de pesos de las observaciones (Default: ones(size(Xtrain,1),1)
‘DiscrimType‘ : tipo de clasificador ( 'linear‘ (Default),'quadratic',etc.)
‘Prior’: proabilidades a priori de cada clase: 'empirical' (Default), 'uniform' , vector
de escalares
‘ScoreTransform’: transformación de los scores: ‘none’ (default), 'doublelogit‘, etc
‘Cost’: Matriz cuadrada con costes de ‘missclassification’

[Ylabel, scores] = predict (mc, X):


Inputs: mc: clasificador
X: matriz de datos (cada columna es una banda)
Outputs: Ylabel: vector de etiquetas 43
scores: probabilidades a posteriori’

ANEXO: CLASIFICADORES EN MATLAB

Clasificadores paramétricos (cuadrático, lineal)


% creación de un clasificador
>> mc = fitcdiscr(Xtrain, Ytrain);
% Predicción sobre un conjunto test o sobre una imagen:
>> Ylabel = predict(mc, X)

‘DiscrimType’ (opciones principales)

44

También podría gustarte