Vous êtes sur la page 1sur 29

Mtodos Basados en Casos y en Vecindad

CC52A - Inteligencia Articial


Gonzalo Ros D.
DCC - UChile
Otoo 2011
Gonzalo Ros D. (DCC - UChile) Mtodos Basados en Casos y en Vecindad Otoo 2011 1 / 29
Arboles de Decisin
Deniciones Bsicas
Los rboles de decisin son modelos en grafos, particularmente
rboles.
Los nodos internos representan variables, o un conjunto de variables
Los arcos son proposiciones booleanas sobre esas variables.
Las hojas representan la respuesta, la clase o la propiedad buscada
sobre el dato.
Gonzalo Ros D. (DCC - UChile) Mtodos Basados en Casos y en Vecindad Otoo 2011 2 / 29
Arboles de Decisin
Deniciones Bsicas
Los rboles de decisin tienen muy buenas propiedades, entre ellas:
Fciles de construir
Fciles de interpretar
No slo sirven para clasicar nuevos datos, sino que para qu
determina cada clase.
Modelan la frontera de decisin
Buena precisin en muchos casos
Gonzalo Ros D. (DCC - UChile) Mtodos Basados en Casos y en Vecindad Otoo 2011 3 / 29
Arboles de Decisin
Splits
Denicin
Un split es una variable ms una lista de condiciones sobre la variable.
Ejemplo: (A,{a
1
, ..., a
n
)
Split categricos
Simples: {A=a
1
, ..., A = a
n

Complejos:{A a
1
, ..., a
k
, A a
k+1
, ..., a
n

Split numricos
Estticos: Discretizando en un inicio
Dinmicos
Decisin binaria: A<= v, A > v
Rangos: [0,15k), [15k,60k), [60k,100k)
Combinacin lineal de variables
Gonzalo Ros D. (DCC - UChile) Mtodos Basados en Casos y en Vecindad Otoo 2011 4 / 29
Arboles de Decisin
Algoritmo de Hunt
Idea bsica: cada nodo en el rbol de decisin tiene asociado un
subconjunto de los datos de entrenamiento
Inicialmente, el nodo raz tiene asociado todo el conjunto de
entrenamiento
Construimos un rbol parcial que tiene tres tipos de nodos:
Expandidos (interiores)
Hojas: sern hojas en el rbol nal y tienen asociada una clase
Nodos por expandir: son hojas en el rbol parcial, pero deben ser
expandidos
Operacin de expansin de un nodo t:
Encontrar el mejor split para t
Particionar los datos de t en nodos hijos de acuerdo al split
Etiquetar t y sus nodos hijos con el mejor split
Gonzalo Ros D. (DCC - UChile) Mtodos Basados en Casos y en Vecindad Otoo 2011 5 / 29
Arboles de Decisin
Algoritmo de Hunt
Gonzalo Ros D. (DCC - UChile) Mtodos Basados en Casos y en Vecindad Otoo 2011 6 / 29
Arboles de Decisin
Algoritmo de Hunt
Gonzalo Ros D. (DCC - UChile) Mtodos Basados en Casos y en Vecindad Otoo 2011 7 / 29
Arboles de Decisin
Algoritmo de Hunt
Algoritmo de Hunt
Main (T)
Expandir(T)
Expandir (S)
if (Todos los datos estn en la misma clase) then return
Encontrar el mejor split r
Usar r para particionar S en S
1
y S
2
Expandir (S
1
)
Expandir (S
2
)
Gonzalo Ros D. (DCC - UChile) Mtodos Basados en Casos y en Vecindad Otoo 2011 8 / 29
Arboles de Decisin
Algoritmo de Hunt
Las operaciones de expansin se realizan primero en profundidad
Lo complejo es encontrar el mejor split en cada operacin de
expansin
Nmero de splits a buscar depende de si el atributo es categrico o no
y del tipo de split (e.g., complejo vs. simple).
Buscamos splits que generen nodos hijos con la menor impureza
posible (mayor pureza posible)
Existen distintos mtodos para evaluar splits.
Indice Gini
Entropa (Ganancia de informacin)
Test Chi-cuadrado
Proporcin de Ganancia de Informacin
Gonzalo Ros D. (DCC - UChile) Mtodos Basados en Casos y en Vecindad Otoo 2011 9 / 29
Arboles de Decisin
ndice Gini
Denicin
Dado un nodo t, se dene Gini (t) = 1

cC
p
2
t,c
, donde p
t,c
es la
probabilidad de ocurrencia de la clase c en el nodo t.
Gini(t): probabilidad de NO sacar dos registros de la misma clase del
nodo
Menor Gini(t) implica mayor pureza
Gonzalo Ros D. (DCC - UChile) Mtodos Basados en Casos y en Vecindad Otoo 2011 10 / 29
Arboles de Decisin
GiniSplit
Denicin
Dado un split S = s
1
, .., s
n
del nodo t, se dene
GiniSplit(t, S) =

sS
[s[
[t[
Gini (s)
Criterio de seleccin: seleccinar el split con menor gini ponderado
(GiniSplit)
Veamos un ejemplo para que todo quede ms claro
Gonzalo Ros D. (DCC - UChile) Mtodos Basados en Casos y en Vecindad Otoo 2011 11 / 29
Arboles de Decisin
GiniSplit
Los posibles Splits seran Outlook, Temperature, Humidity y Wind
Gonzalo Ros D. (DCC - UChile) Mtodos Basados en Casos y en Vecindad Otoo 2011 12 / 29
Arboles de Decisin
GiniSplit
Gonzalo Ros D. (DCC - UChile) Mtodos Basados en Casos y en Vecindad Otoo 2011 13 / 29
Arboles de Decisin
GiniSplit
Gini(sunny)=1

2
5

3
5

2
= 0.48
Gini(overcasr)=1

4
4

0
4

2
= 0
Gini(rainy)=1

3
5

2
5

2
= 0.48
GiniSplit(Outlook)=
5
14
+ 0.48 +
4
15
+ 0 +
5
14
+ 0.48 = 0.343
Gonzalo Ros D. (DCC - UChile) Mtodos Basados en Casos y en Vecindad Otoo 2011 14 / 29
Arboles de Decisin
Entropa
De forma anloga, podemos usar la entropa como criterio de
seleccin de split
Entrop a(t) =

cC
p
t,c
log
2
p
t,c
La entropa mide la impureza de los datos S, ya que mide la
informacin (nmero de bits) promedio necesaria para codicar las
clases de los datos en el nodo t
Criterio para elegir un split: seleccinar el split con la mayor ganancia
de informacin (Gain)
Denicin
Dado un split S = s
1
, .., s
n
del nodo t, se dene
Gain(t, S) = Entrop a(t)

sS
[s[
[t[
Entrop a(s)
Gonzalo Ros D. (DCC - UChile) Mtodos Basados en Casos y en Vecindad Otoo 2011 15 / 29
Arboles de Decisin
Entropa
Entropa(Outlook)=
9
14
log
2
9
14

5
14
log
2
5
14
= 0.94
Entropa(sunny)=
2
5
log
2
2
5

3
5
log
2
3
5
= 0.97
Entropa(overcasr)=
4
4
log
2
4
4

0
4
log
2
0
4
= 0
Entropa(rainy)=
3
5
log
2
3
5

2
5
log
2
2
5
= 0.97
Gain(Outlook)=0.94 (
5
14
+ 0.97 +
4
15
+ 0 +
5
14
+ 0.97) = 0.25
Gonzalo Ros D. (DCC - UChile) Mtodos Basados en Casos y en Vecindad Otoo 2011 16 / 29
Arboles de Decisin
Gini vs Entropa
Gini
Tiende a seleccionar splits que aislan una clase mayoritaria en un nodo
Tiende a crear splits desbalanceados
Tiende a aislar clases numerosas de otras clases
Entropa
Favorece splits balanceados en nmero de datos
Tiende a encontrar grupos de clases que suman ms del 50% de los
datos
Gonzalo Ros D. (DCC - UChile) Mtodos Basados en Casos y en Vecindad Otoo 2011 17 / 29
Arboles de Decisin
Gini vs Entropa
Gonzalo Ros D. (DCC - UChile) Mtodos Basados en Casos y en Vecindad Otoo 2011 18 / 29
Arboles de Decisin
Test Chi-cuadrado
El test de chi-cuadrado se usa para testear la hiptesis nula de que
dos variables son independientes.
Es decir la ocurrencia de un valor de una variable no induce la
ocurrencia del valor de otra variable.
Usando el test de Chi-cuadrado medimos la dependencia entre la
variable del split y la variable de la clase
Denicin
Tabla de contingencia real: Cada celda r=(r
1
, ..., r
m
) contiene el nmero
de veces O(r) que ocurren juntos en los datos los valores (r
1
, ..., r
m
)
Denicin
Tabla de contingencia esperada: Para cada celda r=(r
1
, ..., r
m
) denimos
el valor esperado de la celda si las variables son indep:
E(r ) = n
O(r
1
)
n
...
O(r
m
)
n
Gonzalo Ros D. (DCC - UChile) Mtodos Basados en Casos y en Vecindad Otoo 2011 19 / 29
Arboles de Decisin
Test Chi-cuadrado
Estimador:
2
=

r R
(O(r )E(r ))
2
E(r )
~
2
(#col 1)(#las1)
Un mayor indice de Chi-cuadrado indica una mayor dependencia entre
la variable de la clase y la variable del split.
Ejemplo: venta de t y caf en un supermercado.
Tenemos dos variables Caf (C) y T (T).
Valores son compr o no-compr
Gonzalo Ros D. (DCC - UChile) Mtodos Basados en Casos y en Vecindad Otoo 2011 20 / 29
Arboles de Decisin
Test Chi-cuadrado
El estimador Chi-Cuadrado es una desviacin normalizada entre la tabla de
contingencia real y la esperada
Gonzalo Ros D. (DCC - UChile) Mtodos Basados en Casos y en Vecindad Otoo 2011 21 / 29
Arboles de Decisin
Test Chi-cuadrado
Gonzalo Ros D. (DCC - UChile) Mtodos Basados en Casos y en Vecindad Otoo 2011 22 / 29
Arboles de Decisin
Test Chi-cuadrado
Grado de libertad=(3-1)*(2-1) =2
Valor crtico a 95% de conf = 5.99
Luego, no rechazamos la suposicin de independencia
El test de chi-cuadrado slo se puede usar si no ms del 10% de las
celdas tienen menos de 5 de frecuencia observada.
Gonzalo Ros D. (DCC - UChile) Mtodos Basados en Casos y en Vecindad Otoo 2011 23 / 29
Arboles de Decisin
Poda
Denicin
Dado un espacio de modelos M, un modelo m en M es sobreajustado si
existe otro modelo m en M tal que:
m tiene menor error que m en datos de entrenamiento
m tiene menor error que m en datos objetivo
Los rboles complejos (muy grandes) tienen la propiedad de que estn
sobre ajustados.
La Poda es un mecanismo para obtener rboles con menor error de
prediccin
Pre-poda: Parar la construccin del rbol en algunas nodos
Post-poda: Construir un rbol complejo (posiblemente sobreajustado)
y podarlo despus.
Gonzalo Ros D. (DCC - UChile) Mtodos Basados en Casos y en Vecindad Otoo 2011 24 / 29
Arboles de Decisin
Criterios de Poda
Pre-Poda
Parar la construccin del rbol en algunos nodos en base a criterios:
No expandir si GiniSplit < k
No expandir si el nodo tiene menos de k datos
No expandir si test de chi-cuadrado no rechaza independencia
Al no expandir, etiquetar el nodo con la clase ms frecuente en los
datos asociados al nodo.
Post-Poda
Poda Basada en reduccin del error:
Podamos si el error de prediccin del rbol podado disminuye
El error se estima usando un conjunto de datos de validacin
Poda Basada en Principio de Descripcin Mnima
Se estima el costo de descripcin del rbol y los datos, antes y despus
de eliminar el nodo.
El criterio es obtener el costo de descripcin mnima
Gonzalo Ros D. (DCC - UChile) Mtodos Basados en Casos y en Vecindad Otoo 2011 25 / 29
Arboles de Decisin
Algoritmo de Poda
Operaciones de Poda
Reemplazo de un subrbol: Es la operacin ms comn en mtodos de
poda y consiste en reemplazar un subrbol por una hoja que se
etiqueta con la clase mayoritaria
Ascenso de un subrbol: Menos comn, consiste en subir un subrbol a
un nodo superior.
Se recorre el rbol desde las hojas hacia arriba podando nodos.
Para cada nodo que visitamos en el recorrido aplicamos un test para
decidir si lo podamos o no.
Primero estimacin el error A si no se poda el nodo
Estimamos el error del subrbol bajo el nodo como la suma ponderada
de errores estimados en nodos hijos
Esto se propaga de forma recursiva hasta las hojas, donde su error se
estima usando inferencia estadstica.
Estimamos el error B si se poda el nodo
Si B < A, entonces se poda el nodo.
Gonzalo Ros D. (DCC - UChile) Mtodos Basados en Casos y en Vecindad Otoo 2011 26 / 29
Arboles de Decisin
Estimacin del Error de Prediccin
En general, el error de un nodo hoja se estima como el lmite superior
de un intervalo de conanza.
La muestra de datos para calcular este intervalo se puede obtener de:
Los mismos datos de entrenamiento
Muestra disjunta de datos de entrenamiento: datos de poda
Para un nodo hoja el error se estima como el lmit superior de un
intervalo de Wilson de un lado:
Pr(
p
p
p(1 p)/n
_ z
1C
) = C
Se obtiene el lmite superior:
=
p +
z
2
2n
+ z
q
p
n

p
2
n
+
z
2
4n
2
1 +
z
2
n
Si C=75% de conanza, entonces z = 0.69
Gonzalo Ros D. (DCC - UChile) Mtodos Basados en Casos y en Vecindad Otoo 2011 27 / 29
Arboles de Decisin
Arboles de Decisin en Modelo Hibridos
Supongamos el caso que disponemos de los modelos M
1
, M
2
, M
3
para
predecir una variable Y a partir de las variables
~
X.
Para cada dato d D, tenemos un error e
i
asociado al modelo M
i
,
i=1,2,3
Para cada dato d D, le podemos crear la clase
c C = c
1
, c
2
, c
3
, donde c = c
j
implica que e
j
_ e
i
, i=1,2,3
Entonces, tomando los datos D, y reemplazando la variable Y por la
clase C, tenemos un problema de clasicacin.
Luego, podemos crear un rbol de decisin M
0
que prediga la clase c
a partir de las variables
~
X.
Juntando este modelo M
0
con los modelos M
1
, M
2
, M
3
, podemos
crear un modelo M, tal que el error del modelo M es menor que el
minimo de los errores de los modelos M
1
, M
2
, M
3
Gonzalo Ros D. (DCC - UChile) Mtodos Basados en Casos y en Vecindad Otoo 2011 28 / 29
Arboles de Decisin
Arboles de Decisin en Modelo Hibridos
Adems, se tiene que para cada dato d D, tenemos que el error
e asociado al modelo M es e = min
i
e
i
.
Luego, si creamos distintos modelos que se especializan en distintos
subconjuntos de datos, entonces el modelo M tendr un mayor poder
predictivo, reduciendo su error, sin necesidad de sobreajuste.
Gonzalo Ros D. (DCC - UChile) Mtodos Basados en Casos y en Vecindad Otoo 2011 29 / 29

Vous aimerez peut-être aussi