clasificaci´on mediante conjuntos - Escuela Politécnica Superior

clasificaci´on mediante conjuntos - Escuela Politécnica Superior clasificaci´on mediante conjuntos - Escuela Politécnica Superior

13.07.2015 Views

52 CAPÍTULO 3. CONJUNTOS DE ÁRBOLES IGPgeneralización de los clasificadores individuales. Así por ejemplo en bagging se descartandatos de entrenamiento para generar cada clasificador individual. En boosting se modificala distribución de los pesos de los ejemplos, lo que puede llevar a generar clasificadoresque ajustan correctamente los datos con los pesos modificados pero que obtienen un errorelevado en el problema original.En este capítulo se presentan tres nuevos métodos de construcción de clasificadoresque introducen diversidad sin reducir la eficiencia del algoritmo base. Se basan en la variabilidadintrínseca del algoritmo de crecimiento y poda iterativos (Iterative Growing andPruning Algorithm, IGP) [Gelfand et al., 1991], un método de construcción de árboles dedecisión basado en repetir secuencias de crecimiento y poda. IGP genera árboles de decisióndividiendo los datos de entrenamiento en dos subconjuntos de aproximadamente igualtamaño y distribución de clases. IGP usa iterativamente uno de los subconjuntos para hacercrecer el árbol y el otro para podarlo, intercambiando los papeles de los subconjuntos en cadaiteración. Este algoritmo tiene la propiedad de que, a pesar de partir del mismo conjunto,distintas divisiones de los datos de entrenamiento generan árboles distintos. La inestabilidaddel algoritmo IGP junto con el hecho de que se utilizan todos los datos para construircada clasificador individual debería permitir construir conjuntos con buena capacidad degeneralización.3.2. Algoritmo de aprendizaje3.2.1. Algoritmo base, árboles IGPEl algoritmo de crecimiento y poda iterativos es un algoritmo desarrollado por Gelfandet al. para la construcción de árboles de decisión [Gelfand et al., 1991]. Este algoritmotiene la propiedad, al igual que CART [Breiman et al., 1984], de que utiliza todos los datospara hacer crecer y para podar el árbol. El pseudocódigo del algoritmo IGP se muestra enla figura 3.1.Previamente a la construcción de un árbol con IGP se divide el conjunto de datos deentrenamiento L en dos subconjuntos, L 1 y L 2 , de aproximadamente igual tamaño y condistribuciones de clases aproximadamente iguales. Una vez divididos los datos, el algoritmoIGP utiliza uno de los subconjuntos para hacer crecer el árbol y el otro para podarlo. Lasecuencia de crecimiento y poda es repetida intercambiando los papeles de los subconjuntosen cada iteración. Es decir, primero se genera un árbol T 0 usando L 1 , una vez generadoel árbol T 0 , éste se poda hasta el tamaño óptimo T ∗ 0 con respecto al subconjunto L 2 . Unavez que la primera poda se ha completado, los papeles de los subconjuntos de datos sonintercambiados y se hace crecer un nuevo árbol T 1 a partir de los nodos terminales de T ∗ 0utilizando L 2 . A continuación T 1 se poda a su tamaño óptimo con respecto a L 1 . Los papelesde los subconjuntos de crecimiento y de poda se van intercambiando hasta que dosárboles podados consecutivos son de igual tamaño. Se ha demostrado que esta secuencia

3.2. ALGORITMO DE APRENDIZAJE 53converge [Gelfand et al., 1991]. La demostración de la convergencia de este proceso sebasa en que después de cada iteración el árbol podado resultante Tk ∗ contiene o es igual alárbol podado previo Tk−1 ∗ (T k−1 ∗ ≤ T k ∗ ) siempre que la clase j(t) de cada nodo t se elija, aligual que en CART, por mayoría, y en caso de empate, se asigne la clase del nodo padre det. Cuando los árboles Tk−1 ∗ y T k ∗ son iguales entonces el proceso ha convergido. Para la condiciónde parada del algoritmo (paso 8 de la figura 3.1) es suficiente comparar los tamañosde dos árboles sucesivos ya que se puede demostrar que la secuencia va incrementando eltamaño de los árboles y los árboles están anidados [Gelfand et al., 1991].Al igual que CART, IGP utiliza el criterio de Gini (ec. (2.11), sección 2.2) para seleccionarlas divisiones en los nodos internos, en el proceso de crecimiento del árbol.Entradas:Conjunto de entrenamiento L dividido en L 1 y L 2Salida:T ∗1. Usar L 1 para generar un árbol T 02. T0 ∗ = Podar(T 0 , L 2 )3. Asignar k:=1do {4. if k es par Asignar i:=1 y j:=2 si no Asignar i:=2 y j:=15. Usar L i para generar un árbol T k a partir de los nodos terminales de Tk−1∗6. Tk ∗ = Podar(T k, L j )7. k:=k+18.9.} while(|Tk ∗| |T k−1 ∗ |)Asignar T ∗ := Tk∗Figura 3.1: Pseudocódigo de árbol IGPEl método de poda utilizado en el algoritmo IGP se presenta en la figura 3.2. Estemétodo devuelve el árbol más preciso con respecto a un conjunto de datos L. Los nodos seprocesan de abajo a arriba empezando por los nodos terminales y procediendo de tal maneraque un nodo no se procesa hasta que todos sus hijos han sido procesados. Para cada nodot se compara el error del nodo R(t, L) y el error del subárbol que cuelga de t, S(t, L). Elerror del subárbol se define como la suma de los errores de los nodos terminales que tienenal nodo t como antecesor común. Un nodo se poda si el error del subárbol que pende de t esmayor o igual al error del nodo t con respecto a un conjunto de datos L (ecuación (2.14)).Este método de poda es más rápido que la poda basada en validación cruzada que utilizaCART, en la cual es preciso construir árboles auxiliares para determinar los parámetros depoda.

52 CAPÍTULO 3. CONJUNTOS DE ÁRBOLES IGPgeneralización de los clasificadores individuales. Así por ejemplo en bagging se descartandatos de entrenamiento para generar cada clasificador individual. En boosting se modificala distribución de los pesos de los ejemplos, lo que puede llevar a generar clasificadoresque ajustan correctamente los datos con los pesos modificados pero que obtienen un errorelevado en el problema original.En este capítulo se presentan tres nuevos métodos de construcción de clasificadoresque introducen diversidad sin reducir la eficiencia del algoritmo base. Se basan en la variabilidadintrínseca del algoritmo de crecimiento y poda iterativos (Iterative Growing andPruning Algorithm, IGP) [Gelfand et al., 1991], un método de construcción de árboles dedecisión basado en repetir secuencias de crecimiento y poda. IGP genera árboles de decisióndividiendo los datos de entrenamiento en dos sub<strong>conjuntos</strong> de aproximadamente igualtamaño y distribución de clases. IGP usa iterativamente uno de los sub<strong>conjuntos</strong> para hacercrecer el árbol y el otro para podarlo, intercambiando los papeles de los sub<strong>conjuntos</strong> en cadaiteración. Este algoritmo tiene la propiedad de que, a pesar de partir del mismo conjunto,distintas divisiones de los datos de entrenamiento generan árboles distintos. La inestabilidaddel algoritmo IGP junto con el hecho de que se utilizan todos los datos para construircada clasificador individual debería permitir construir <strong>conjuntos</strong> con buena capacidad degeneralización.3.2. Algoritmo de aprendizaje3.2.1. Algoritmo base, árboles IGPEl algoritmo de crecimiento y poda iterativos es un algoritmo desarrollado por Gelfandet al. para la construcción de árboles de decisión [Gelfand et al., 1991]. Este algoritmotiene la propiedad, al igual que CART [Breiman et al., 1984], de que utiliza todos los datospara hacer crecer y para podar el árbol. El pseudocódigo del algoritmo IGP se muestra enla figura 3.1.Previamente a la construcción de un árbol con IGP se divide el conjunto de datos deentrenamiento L en dos sub<strong>conjuntos</strong>, L 1 y L 2 , de aproximadamente igual tamaño y condistribuciones de clases aproximadamente iguales. Una vez divididos los datos, el algoritmoIGP utiliza uno de los sub<strong>conjuntos</strong> para hacer crecer el árbol y el otro para podarlo. Lasecuencia de crecimiento y poda es repetida intercambiando los papeles de los sub<strong>conjuntos</strong>en cada iteración. Es decir, primero se genera un árbol T 0 usando L 1 , una vez generadoel árbol T 0 , éste se poda hasta el tamaño óptimo T ∗ 0 con respecto al subconjunto L 2 . Unavez que la primera poda se ha completado, los papeles de los sub<strong>conjuntos</strong> de datos sonintercambiados y se hace crecer un nuevo árbol T 1 a partir de los nodos terminales de T ∗ 0utilizando L 2 . A continuación T 1 se poda a su tamaño óptimo con respecto a L 1 . Los papelesde los sub<strong>conjuntos</strong> de crecimiento y de poda se van intercambiando hasta que dosárboles podados consecutivos son de igual tamaño. Se ha demostrado que esta secuencia

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!