Articulo de referencia

algoritmo ID3

Árbol de decisión potencial generado por ID3. Los atributos están organizados como nodos según su capacidad para clasificar ejemplos. Los valores de los atributos están represen...

Árbol de decisión potencial generado por ID3. Los atributos están organizados como nodos según su capacidad para clasificar ejemplos. Los valores de los atributos están representados por ramas.

En el aprendizaje de árboles de decisión , ID3 ( Iterative Dichotomiser 3 ) es un algoritmo voraz inventado por Ross Quinlan [ 1 ] que se utiliza para generar un árbol de decisión a partir de un conjunto de datos. ID3 es el precursor del algoritmo C4.5 . El número 3 en el nombre indica que este fue el tercer intento de Quinlan de crear un modelo basado en la división basada en la entropía, y el término "dicotomizador" es un nombre inapropiado, ya que implica una división binaria, pero el algoritmo ID3 puede dividir según atributos multivalorados.

Algoritmo

El algoritmo ID3 comienza con el conjunto original.S{\displaystyle S}como nodo raíz . En cada iteración del algoritmo, itera a través de cada atributo no utilizado del conjunto.S{\displaystyle S}y calcula la entropíaH(S){\displaystyle \mathrm {H} {(S)}}o la ganancia de informaciónIGRAMO(S){\displaystyle IG(S)}de ese atributo. Luego selecciona el atributo que tiene el valor de entropía más pequeño (o la mayor ganancia de información). El conjuntoS{\displaystyle S}A continuación, se divide o particiona según el atributo seleccionado para generar subconjuntos de los datos. (Por ejemplo, un nodo puede dividirse en nodos secundarios según los subconjuntos de la población cuyas edades sean menores de 50, entre 50 y 100, y mayores de 100). El algoritmo continúa repitiéndose en cada subconjunto, considerando únicamente los atributos que no se hayan seleccionado previamente.

La recursión en un subconjunto puede detenerse en uno de estos casos:

  • cada elemento del subconjunto pertenece a la misma clase; en cuyo caso el nodo se convierte en un nodo hoja y se etiqueta con la clase de los ejemplos.
  • Ya no hay más atributos para seleccionar, pero los ejemplos aún no pertenecen a la misma clase. En este caso, el nodo se convierte en un nodo hoja y se etiqueta con la clase más común de los ejemplos en el subconjunto.
  • No se encontraron ejemplos en el subconjunto , lo que ocurre cuando no se halló ningún ejemplo en el conjunto padre que coincidiera con un valor específico del atributo seleccionado. Un ejemplo podría ser la ausencia de una persona mayor de 100 años en la población . En ese caso, se crea un nodo hoja y se le asigna la clase más común de los ejemplos en el conjunto del nodo padre.

A lo largo del algoritmo, el árbol de decisión se construye con cada nodo no terminal ( nodo interno ) que representa el atributo seleccionado en el que se dividieron los datos, y los nodos terminales (nodos hoja) que representan la etiqueta de clase del subconjunto final de esta rama.

Resumen

  1. Calcula la entropía de cada atributo .a{\displaystyle a}del conjunto de datosS{\displaystyle S}.
  2. Particionar ("dividir") el conjuntoS{\displaystyle S}en subconjuntos utilizando el atributo para el cual la entropía resultante después de la división es mínima ; o, equivalentemente, la ganancia de información es máxima .
  3. Crea un nodo de árbol de decisión que contenga ese atributo.
  4. Realizar recursión en subconjuntos utilizando los atributos restantes.

Propiedades

Árbol de decisión generado por ID3 utilizado para determinar si un par de nucleótidos particular dentro de una secuencia de pre-ARNm corresponde a un sitio de empalme de ARNm. Se ha demostrado que este árbol tiene una tasa de predicción correcta del 95 %. [ 2 ]

ID3 no garantiza una solución óptima. Puede converger hacia óptimos locales . Utiliza una estrategia voraz , seleccionando el mejor atributo local para dividir el conjunto de datos en cada iteración. La optimalidad del algoritmo puede mejorarse mediante el uso de retroceso durante la búsqueda del árbol de decisión óptimo, aunque esto podría aumentar el tiempo de ejecución.

ID3 puede sobreajustarse a los datos de entrenamiento. Para evitar el sobreajuste, se deben preferir árboles de decisión pequeños a árboles grandes. Este algoritmo suele generar árboles pequeños, pero no siempre produce el árbol de decisión más pequeño posible.

ID3 es más difícil de usar con datos continuos que con datos factorizados (los datos factorizados tienen un número discreto de valores posibles, lo que reduce los posibles puntos de ramificación). Si los valores de un atributo son continuos , existen muchos más puntos para dividir los datos según ese atributo, y buscar el mejor valor para la división puede llevar mucho tiempo.

Uso

El algoritmo ID3 se utiliza entrenándolo en un conjunto de datos.S{\displaystyle S}para generar un árbol de decisión que se almacena en memoria . En tiempo de ejecución , este árbol de decisión se utiliza para clasificar nuevos casos de prueba ( vectores de características ) recorriendo el árbol de decisión utilizando las características del dato para llegar a un nodo hoja.

Las métricas ID3

Entropía

EntropíaH(S){\displaystyle \mathrm {H} {(S)}}es una medida de la cantidad de incertidumbre en el conjunto (de datos)S{\displaystyle S}(es decir, la entropía caracteriza el conjunto (de datos)S{\displaystyle S}).

H(S)=incógnitaincógnitapag(incógnita)registro2pag(incógnita){\displaystyle \mathrm {H} {(S)}=\sum _{x\in X}{-p(x)\log _{2}p(x)}}

Dónde,

  • S{\displaystyle S}– El conjunto de datos actual para el cual se está calculando la entropía
    • Esto cambia en cada paso del algoritmo ID3, ya sea a un subconjunto del conjunto anterior en el caso de dividir por un atributo o a una partición "hermana" del padre en caso de que la recursión haya terminado previamente.
  • incógnita{\displaystyle X}– El conjunto de clases enS{\displaystyle S}
  • pag(incógnita){\displaystyle p(x)}– La proporción del número de elementos en la claseincógnita{\displaystyle x}al número de elementos en el conjuntoS{\displaystyle S}

CuandoH(S)=0{\displaystyle \mathrm {H} {(S)}=0}, el conjuntoS{\displaystyle S}está perfectamente clasificado (es decir, todos los elementos enS{\displaystyle S}son de la misma clase).

En ID3, se calcula la entropía para cada atributo restante. El atributo con la entropía más pequeña se utiliza para dividir el conjunto.S{\displaystyle S}En esta iteración, la entropía en la teoría de la información mide cuánta información se espera obtener al medir una variable aleatoria ; por lo tanto, también se puede usar para cuantificar hasta qué punto se desconoce la distribución de los valores de la cantidad. Una cantidad constante tiene entropía cero, ya que su distribución se conoce perfectamente . En cambio, una variable aleatoria con distribución uniforme ( discreta o continua ) maximiza la entropía. Por lo tanto, cuanto mayor sea la entropía en un nodo, menos información se conoce sobre la clasificación de los datos en esta etapa del árbol; y, por consiguiente, mayor será el potencial para mejorar la clasificación en este punto.

Por lo tanto, ID3 es una heurística voraz que realiza una búsqueda primero del mejor para encontrar valores de entropía óptimos locales . Su precisión puede mejorarse mediante el preprocesamiento de los datos.

Obtención de información

Obtención de informaciónIGRAMO(A){\displaystyle IG(A)}es la medida de la diferencia de entropía de antes a después del conjuntoS{\displaystyle S}está dividido por un atributoA{\displaystyle A}. En otras palabras, ¿cuánta incertidumbre enS{\displaystyle S}se redujo después de dividir el conjuntoS{\displaystyle S}sobre el atributoA{\displaystyle A}.

IGRAMO(S,A)=H(S)tTpag(t)H(t)=H(S)H(S|A).{\displaystyle IG(S,A)=\mathrm {H} {(S)}-\sum _{t\in T}p(t)\mathrm {H} {(t)}=\mathrm {H} {(S)}-\mathrm {H} {(S|A)}.}

Dónde,

  • H(S){\displaystyle \mathrm {H} (S)}– Entropía del conjuntoS{\displaystyle S}
  • T{\displaystyle T}– Los subconjuntos creados al dividir el conjuntoS{\displaystyle S}por atributoA{\displaystyle A}de tal manera queS=tTt{\displaystyle S=\bigcup _{t\in T}t}
  • pag(t){\displaystyle p(t)}– La proporción del número de elementos ent{\displaystyle t}al número de elementos en el conjuntoS{\displaystyle S}
  • H(t){\displaystyle \mathrm {H} (t)}– Entropía del subconjuntot{\displaystyle t}

En ID3, se puede calcular la ganancia de información (en lugar de la entropía) para cada atributo restante. El atributo con la mayor ganancia de información se utiliza para dividir el conjunto.S{\displaystyle S}en esta iteración.

Véase también

Referencias

  1. Quinlan, JR 1986. Inducción de árboles de decisión. Mach. Learn. 1, 1 (marzo de 1986), 81–106
  2. Taggart, Allison J; DeSimone, Alec M; Shih, Janice S; Filloux, Madeleine E; Fairbrother, William G (2012-06-17). " Mapeo a gran escala de puntos de ramificación en transcritos de pre-ARNm humanos in vivo" . Nature Structural & Molecular Biology . 19 (7): 719– 721. doi : 10.1038/nsmb.2327 . ISSN 1545-9993 . PMC 3465671. PMID 22705790 .   

Lecturas adicionales

  • Mitchell, Tom Michael (1997). Aprendizaje automático . Nueva York, NY: McGraw-Hill. págs. 55-58 . ISBN  0070428077OCLC 36417892 
  • Grzymala-Busse, Jerzy W. (febrero de 1993). "Algoritmos seleccionados de aprendizaje automático a partir de ejemplos" (PDF) . Fundamenta Informaticae . 18 (2): 193– 207 vía ResearchGate.
  • Seminarios – http://www2.cs.uregina.ca/
  • Descripción y ejemplos – http://www.cise.ufl.edu/
  • Descripción y ejemplos – http://www.cis.temple.edu/
  • Árboles de decisión y clasificación de partidos políticos