Previous Next

4.1.1 Clasificadores

4.1.1.1 Inductor de Árboles de Decisión

 

 

 

El algoritmo para inducir un árbol de decisiones es el conocido ID3 [20]. Lo que se pretende con el algoritmo, es llegar a un árbol que describe a los datos entrantes. Como ejemplo se muestra el siguiente árbol de decisión:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ilustración 10 : Árbol de Decisión para saber si se puede jugar Tenis

 

 

 

A partir de uno de estos gráficos, es muy sencillo ver las reglas asociadas, como por ejemplo:

 

 

 

 

En términos algebraicos esto sería

 

SOLEADO Ù ØHUMEDO Þ

LLUVIOSOÙ (VIENTO = BAJO) Þ NO

 

El problema principal es como se puede llegar de un conjunto de datos, a un árbol de decisión. El árbol en la ilustración 10 es obtenido desde la tabla siguiente

 

 

Day 

Outlook 

Temp 

Humidity 

Wind 

PlayTennis 

Sunny 

Hot 

High 

Weak 

No 

Sunny 

Hot 

High 

Strong 

No 

Overcast 

Hot 

High 

Weak 

Yes 

Rainy 

Mild 

High 

Weak 

Yes 

Rainy 

Cool 

Normal 

Weak 

Yes 

Rainy 

Cool 

Normal 

Strong 

No 

Overcast 

Cool 

Normal 

Strong 

Yes 

Sunny 

Mild 

High 

Weak 

No 

Sunny 

Cool 

Normal 

Weak 

Yes 

10 

Rainy 

Mild 

Normal 

Weak 

Yes 

11 

Sunny 

Mild 

Normal 

Strong 

Yes 

12 

Overcast 

Mild 

High 

Strong 

Yes 

13 

Overcast 

Hot 

Normal 

Weak 

Yes 

14 

Rainy 

Mild 

High 

Strong 

No 

 

 

 

 

El algoritmo para producir un árbol de esta naturaleza es:

Dado los atributos Ai y un conjunto de Datos D

 

 

 

 

El problema con este algoritmo, es que se llega a un árbol bastante grande, y quizás con muchas clasificaciones redundantes. Unas maneras de mejorar el algoritmo sería mediante:

 

 

 

 

Dado que los arboles de decisión son utilizados para la clasificación de información, son mas aptos para los siguiente escenarios:

 

 

 

 

4.1.1.1.1 Problemas con los Árboles de Decisión

 

 

 

Existen varios problemas asociado a la creación de los árboles de decisión. Generalmente, como se evidencio anteriormente se puede llegar al sobre-calce, o "overfitting" , de la información. Esto implica que el árbol resultante será de tamaño enorme, y con muchas hipótesis redundantes.

 

 

Existe un conjunto de heurísticas que permite evitar el overfitting. Tales incluyen a:

 

 

 

 

El overfitting no es un problema hasta que es identificado como tal. Para ver si el árbol está sobre entrenado, existen algunas medidas que se pueden efectuar, una vez que el árbol esta listo.

 

 

 

 

 

 

4.1.1.1.2 Parámetros asociado a ID3

 

 

 

El ID3 se basa, en que el conocimiento reduce incertidumbre, y por lo tanto entrega información. Este concepto se asociará con el termino entropía. Mientras más información se tiene, menos entropía existe, por lo que definiremos a

 

 

"La ganancia en información, por el conocimiento del valor de un atributo, será la reducción esperada en la entropía de la fuente"

 

 

El valor de la entropía se puede calcular mediante la siguiente función

 

 

Donde

Es la Entropía de la Fuente Original S

Es un atributo que puede tomar Valores(A), valores distintos

Es un subconjunto de S, donde A = v

Es la Entropía de

 

Por lo que podemos definir la ganancia obtenida, de saber el valor de A, mediante la siguiente función

Cuyo valor corresponde al espacio recuperado por el conocimiento de A.

 

 

 

 

4.1.1.1.2 Seudo Código del Algoritmo ID3

 

 

 

 

 

 

 

4.1.1.2 Algoritmo de Naive Bayes

 

 

 

El fundamento detrás de este algoritmo es el teorema de Bayes.

 

 

 

Ilustración 11 : Teorema de Bayes

 

 

 

D : Datos de Entrenamiento

 

h : Hipótesis

 

El teorema se utiliza para encontrar la hipótesis más probable dado la información de entrenamiento. Para esto, se elige la probabilidad más alta mediante la maximización de la función. Reduciendo Max P(h/D) se llega a:

 

 

Ilustración 12 : Hipótesis de Máxima probabilidad (Maximum Likelihood)

 

 

 

Suponiendo que P(hi)=P(hj)

 

 

 


Suponiendo que existe una función objetivo: ¦ :X V donde existe un conjunto de atributos {a1,a2, ... ,an} asociado a X. El valor mas probable para ¦ (x), (vMAP), es:

 

 

 

 

 

Naive Bayes hace el supuesto de que existe independencia condicional entre los atributos:

 

 

 

Por lo que se tiene que el clasificador de Naive Bayes es:

 

 

 

El algoritmo de aprendizaje de Naive Bayes sería entonces:

 

Aprendizaje_Naive_Bayes(Ejemplos)

{

 

Para Cada Valor vj

Estimar P(vj)

Para cada valor de atributo ai

Estimar P(ai/vj)

 

}

 

Clasificar_nuvea_instancia(x)

 

VNB = arg MAX P(vj) Õ P(ai/vj)

 

vjeV aiex

 

 

 


Previous Next

 

Copyright Nelson Flores 2001.

Departamento de Ciencias de la Computacion, Universidad de Chile.