viernes, 13 de enero de 2012

Inteligencia Artificial: Árboles de Decisión (II)


Después de la introducción a los árboles de decisión que hice en el post Árboles de Decisión (I), en esta segunda parte explicaré en que consiste el algoritmo; en concreto la versión ID3.

Como comentamos en la primera parte del post, el algoritmo consiste en crear un árbol de decisión a partir de unos datos o ejemplos de entrenamiento para posteriormente poder usar dicho árbol para clasificar o predecir nuevos datos. Por lo tanto el algoritmo va a tener una serie datos de entrada y de salida:

Entradas: A (conjunto de atributos), V (conjunto de valores posibles de los atributos), C (conjunto de clases en que se van a clasificar los datos, y E (conjunto de los datos o ejemplos de entrenamiento descritos a partir de A,V y C).

Salidas: el árbol de decisión que separa y clasifica los datos de entrenamiento en función de sus clases y que servirá para clasificar a posteriori datos no conocidos.

Lógicamente, el número de ejemplos o datos de entrenamiento debe ser alto y muy superior al número de atributos. Esto es debido a que para poder sacar patrones comunes entre los ejemplos necesitamos un número considerable de ellos.

La explicación de como se construye el árbol de decisión es sencilla. Se parte del estado en el cuál el árbol está vacío.A partir de este estado se crea el primer nodo del árbol y recursivamente se generan los demás nodos hijos hasta obtener los nodos hojas o finales en los que se representan las clases a las que pertencen los ejemplos. Los nodos en si mismos representan los atributos de los datos de entrenamiento y cada una de las ramas que salen de ellos hacia otros nodos representan los valores posibles para dicho nodo. Entonces el algoritmo consiste en escoger en cada paso el mejor atributo de entre todos para crear el nodo. Para ello se considera como mejor atributo aquel que realice una mayor discriminación, o lo que es lo mismo, una mejor partición de los ejemplos . Esto se consigue mediante una función que determina la entropía de cada atributo. Este concepto lo veremos el la tercera y última parte de este post.

En la próxima y última parte del post me extenderé más y os detallaré el pseucódigo del algoritmo.

No hay comentarios:

Publicar un comentario