10
ARTÍCULO Sistemas multiclasificadores y de aprendizaje por capas basados en CIDIM Gonzalo Ramos-Jiménez, José del Campo-Ávila y Rafael Morales-Bueno Departamento de Lenguajes y Ciencias de la Computación. E.T.S.I. Informática. Universidad de Málaga. Málaga, 29071, España {ramos,jcampo,morales}@lcc.uma.es Resumen En este artículo presentamos distintos sistemas multiclasificadores basados en CIDIM. También describimos un en- foque de aprendizaje por capas que hemos particularizado usando el algoritmo CIDIM como base. CIDIM (Control de Inducción por DIvisión Muestral) es un algoritmo que ha sido desarrollado para inducir árboles de decisión preci- sos y pequeños y para conseguirlo, intenta reducir el sobreajuste usando un control de inducción local. Los sistemas multiclasificadores que presentamos (M-CIDIM y E-CIDIM) aprovechan ciertas características de CIDIM, pero los enfoques desarrollados se pueden extender a otros algoritmos que compartan esas mismas características. Del mismo modo, el enfoque basado en aprendizaje por capas que proponemos no es sólo aplicable a un multiclasificador basado en CIDIM, sino que también es extensible a otros sistemas multiclasificadores. Palabras clave: aprendizaje automático, sistemas multiclasificadores, aprendizaje por capas, control de inducción, algoritmo CIDIM. 1. Introducción El aprendizaje a partir de experiencias y la inducción de conocimiento a partir de ellas conforman un área de investigación muy extensa en el campo del apren- dizaje automático. Se han propuesto muchos modelos para representar dicho conocimiento, pero uno de los más usados es el árbol de decisión (CART [2], ID3 [8], C4.5 [9], ITI [17] ...). De entre todas las carac- terísticas positivas que tiene, nos gustaría destacar su capacidad de dividir el espacio de experiencias y ajus- tar cada uno de ellos con distintos modelos, además de la comprensibilidad del modelo generado. La evaluación de la calidad de los árboles de decisión suele hacerse atendiendo a la precisión que se consi- gue con ellos y a su tamaño [3]. El principal objetivo es inducir árboles de decisión que sean precisos, pe- ro, es deseable que, al mismo tiempo, sean lo más pe- queños posibles. Como bien se sabe, el problema de encontrar el árbol más pequeño que clasifique com- pletamente un conjunto de experiencias es un proble- ma NP - completo [6, 4] y, por consiguiente, dise- ñar una buena estrategia de expansión para el árbol se convierte en algo fundamental. En este artículo presentamos CIDIM [12], un algorit- mo que induce árboles de decisión usando un control local para la inducción. Este control, combinado con una división dicotómica del conjunto de experiencias de entrenamiento y la agrupación de valores consecu- tivos, permite a CIDIM inducir árboles precisos y pe- queños. Debemos comentar que una implementación de CIDIM ha sido utilizada para resolver problemas reales como modelado de sistemas [14] o modelado para el pronóstico de recidiba del cáncer de mama [7]. Tomando CIDIM como base, describiremos dos al- goritmos multiclasificadores que aprovechan sus cua- lidades: M-CIDIM, que mantiene un esquema similar al bagging, pero modifica la forma en la que se pertur- ba el conjunto de experiencias, y E-CIDIM, en el que Inteligencia Artificial, Revista Iberoamericana de Inteligencia Artificial. No 29 (2006), pp. 49-58. ISSN: 1137-3601. c AEPIA (http://www.aepia.org/revista) ARTÍCULO ARTÍCULO

ARTÍCULO - Iberamiajournaldocs.iberamia.org/articles/483/article (1).pdf · de decisión (TDIDT [8, 9]) suelen dividir el conjunto de experiencias en dos subconjuntos: el subconjun-to

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ARTÍCULO - Iberamiajournaldocs.iberamia.org/articles/483/article (1).pdf · de decisión (TDIDT [8, 9]) suelen dividir el conjunto de experiencias en dos subconjuntos: el subconjun-to

ARTÍCULO

Sistemas multiclasificadores y de aprendizaje por capasbasados en CIDIM

Gonzalo Ramos-Jiménez, José del Campo-Ávila y Rafael Morales-Bueno

Departamento de Lenguajes y Ciencias de la Computación. E.T.S.I. Informática.Universidad de Málaga. Málaga, 29071, España

{ramos,jcampo,morales}@lcc.uma.es

Resumen

En este artículo presentamos distintos sistemas multiclasificadores basados en CIDIM. También describimos un en-foque de aprendizaje por capas que hemos particularizado usando el algoritmo CIDIM como base. CIDIM (Controlde Inducción por DIvisión Muestral) es un algoritmo que ha sido desarrollado para inducir árboles de decisión preci-sos y pequeños y para conseguirlo, intenta reducir el sobreajuste usando un control de inducción local. Los sistemasmulticlasificadores que presentamos (M-CIDIM y E-CIDIM) aprovechan ciertas características de CIDIM, pero losenfoques desarrollados se pueden extender a otros algoritmos que compartan esas mismas características. Del mismomodo, el enfoque basado en aprendizaje por capas que proponemos no es sólo aplicable a un multiclasificador basadoen CIDIM, sino que también es extensible a otros sistemas multiclasificadores.

Palabras clave: aprendizaje automático, sistemas multiclasificadores, aprendizaje por capas, control de inducción,algoritmo CIDIM.

1. Introducción

El aprendizaje a partir de experiencias y la inducciónde conocimiento a partir de ellas conforman un áreade investigación muy extensa en el campo del apren-dizaje automático. Se han propuesto muchos modelospara representar dicho conocimiento, pero uno de losmás usados es el árbol de decisión (CART [2], ID3[8], C4.5 [9], ITI [17] ...). De entre todas las carac-terísticas positivas que tiene, nos gustaría destacar sucapacidad de dividir el espacio de experiencias y ajus-tar cada uno de ellos con distintos modelos, ademásde la comprensibilidad del modelo generado.

La evaluación de la calidad de los árboles de decisiónsuele hacerse atendiendo a la precisión que se consi-gue con ellos y a su tamaño [3]. El principal objetivoes inducir árboles de decisión que sean precisos, pe-ro, es deseable que, al mismo tiempo, sean lo más pe-queños posibles. Como bien se sabe, el problema deencontrar el árbol más pequeño que clasifique com-

pletamente un conjunto de experiencias es un proble-ma NP − completo [6, 4] y, por consiguiente, dise-ñar una buena estrategia de expansión para el árbol seconvierte en algo fundamental.

En este artículo presentamos CIDIM [12], un algorit-mo que induce árboles de decisión usando un controllocal para la inducción. Este control, combinado conuna división dicotómica del conjunto de experienciasde entrenamiento y la agrupación de valores consecu-tivos, permite a CIDIM inducir árboles precisos y pe-queños. Debemos comentar que una implementaciónde CIDIM ha sido utilizada para resolver problemasreales como modelado de sistemas [14] o modeladopara el pronóstico de recidiba del cáncer de mama [7].

Tomando CIDIM como base, describiremos dos al-goritmos multiclasificadores que aprovechan sus cua-lidades: M-CIDIM, que mantiene un esquema similaral bagging, pero modifica la forma en la que se pertur-ba el conjunto de experiencias, y E-CIDIM, en el que

Inteligencia Artificial, Revista Iberoamericana de Inteligencia Artificial. No 29 (2006), pp. 49-58.ISSN: 1137-3601. c©AEPIA (http://www.aepia.org/revista)

ARTÍCULO

ARTÍCULO

Page 2: ARTÍCULO - Iberamiajournaldocs.iberamia.org/articles/483/article (1).pdf · de decisión (TDIDT [8, 9]) suelen dividir el conjunto de experiencias en dos subconjuntos: el subconjun-to

existe un proceso de generación de árboles que vansustituyendo a los previos siempre que sean mejores.

Como última aportación en este artículo, proponemosun esquema de aprendizaje por capas. Este enfoqueusa como base un sistema multiclasificador muchomás sencillo que los otros dos que proponemos. Así,veremos las mejoras por separado.

El artículo se organiza de la siguiente forma: en laSección 2 se describe el algoritmo CIDIM, comen-tando sus principales características. M-CIDIM y E-CIDIM se explican en la Sección 3 y el esquema deaprendizaje por capas se propone en la Sección 4.Una vez presentados los métodos, pasaremos, en laSección 5, a mostrar los resultados de algunos experi-mentos. Para terminar presentaremos las conclusionesy algunos trabajos futuros en la Sección 6.

2. CIDIM

CIDIM [12] (Control de Inducción por DIvisiónMuestral) ha sido desarrollado con la intención deconstruir árboles de decisión precisos y pequeños.Puede usarse para extraer conocimiento de problemascon un número finito de atributos. Estos atributos de-ben ser nominales y pueden estar ordenados o no. Paratratar atributos continuos tenemos dos opciones: dis-cretizarlos en intervalos o tomar cada uno de los dis-tintos valores que aparecen en el conjunto de expe-riencias como uno de los valores del atributo.

Existen tres ideas que fundamentan el comportamien-to de CIDIM y que explicaremos de forma detalladaen las siguientes subsecciones: la división del conjun-to de entrenamiento, la agrupación de valores conse-cutivos y un control local para detener la inducción.

2.1. División del conjunto de entrena-miento

Los algoritmos clásicos para la inducción de árbolesde decisión (TDIDT [8, 9]) suelen dividir el conjuntode experiencias en dos subconjuntos: el subconjun-to de entrenamiento (con el que se induce el árbol)y el subconjunto de test (con el que se compruebanlos resultados). CIDIM realiza una división adicionalsobre el subconjunto de entrenamiento (E) y obtie-ne dos nuevos subconjuntos con la misma frecuenciade clases y de tamaño similar. De los nuevos conjun-tos usamos uno para la construcción (llamado CNS)y otro para las tareas de control (llamado CLS). Sepuede observar una descripción más formal de estossubconjuntos en la Figura 1.

CNS y CLS se usan en el proceso de expansión.

Cada nodo tiene sus correspondientes subconjuntosCNS y CLS y, cuando se realiza una expansión, es-tos subconjuntos se dividen de forma adecuada aten-diendo a los nuevos hijos que se acaben de generar.De esta forma, el tamaño de ambos conjuntos va dis-minuyendo conforme profundizamos en el árbol. Loimportante de estos subconjuntos radica en el uso quese hace de ellos para formar grupos de valores con-secutivos (ver Subsección 2.2) y para evaluar la con-dición de control local a cada nodo en el proceso deexpansión (ver Subsección 2.3).

|CNS| 6= 0 ∧ |CLS| 6= 0CNS ∩ CLS = ∅CNS ∪ CLS = E0 ≤

∣∣{e ∈ CNS | C(e) = i}∣∣−∣∣{e ∈ CLS | C(e) = i}∣∣ ≤ 1

∀i ∈ CLASES

donde C(e) es la clase de la experiencia e

Figura 1. Subconjuntos CNS y CLS

2.2. Agrupación de valores consecutivos

Normalmente, cuando se expande un nodo, se aña-de un hijo por cada uno de los valores de un atributonominal. Pero si el atributo es ordenado, sería desea-ble hacer un tratamiento previo diferente.

CIDIM contempla distintos comportamientos pararealizar la expansión en función del tipo de atributopor el que vaya a expandir. Si el atributo no es ordena-do, la expansión se mantiene como en la forma clásica(un hijo por cada valor). Pero si el atributo es orde-nado, CIDIM usa un algoritmo voraz para encontraragrupaciones de valores para dicho atributo. Dichoalgoritmo está basado en una partición dicotómica re-cursiva de los valores en grupos. Inicialmente existeun único grupo con todos los valores y en cada pasose evalua si una división en dos grupos produciría al-guna mejora. El proceso continúa hasta que no hayamejora o hasta que sólo quede un valor por grupo. Pa-ra realizar las divisiones se usa el subconjunto CNSy se decide si una división produce alguna mejoramediante una medida de desorden (que llamaremosmd_division). Usando esta agrupación, CIDIM bus-ca cuál es la mejor división para cada uno de los atri-butos que quedan sin usar. Al igual que hace el algo-ritmo BOAT [5], CIDIM no se limita a usar siempre lamisma medida de desorden y ésta puede configurarse.

Otra medida de desorden (md_mejora) se usa paradecidir qué par atributo-división es el mejor de todoslos posibles en el nodo que se va a expandir. Esta me-dida de desorden también puede configurarse y puede

50 Inteligencia Artificial Vol. 10 No 29 (2006)

Page 3: ARTÍCULO - Iberamiajournaldocs.iberamia.org/articles/483/article (1).pdf · de decisión (TDIDT [8, 9]) suelen dividir el conjunto de experiencias en dos subconjuntos: el subconjun-to

ser la misma que la usada para la división. Tras unaserie de pruebas empíricas hemos determinado que laentropía es una buena medida de desorden para serusada en el proceso de división. Sin embargo, parael proceso de mejora no hemos identificado ningunaque dé los mejores resultados. Para simplificar la con-figuración por defecto hemos usado la entropía paraambas medidas de desorden.

Cuando se ha elegido el mejor par atributo-división,se realiza un control local de inducción (ver Subsec-ción 2.3) para evaluar la conveniencia de expandir. Es-te control es local a cada nodo puesto que un mismoatributo puede tener distintas agrupaciones de valoresen función del nodo en el que se encuentre.

2.3. Control local de inducción

La forma más sencilla para detener la expansión delos árboles es hacerlo cuando todas las experienciasque están en un nodo hoja se etiquetan con la mis-ma clase, pero esto suele generar árboles demasiadograndes. Para evitar esto, algunos algoritmos introdu-cen un criterio externo que detiene la ejecución (porejemplo, C5, una versión mejorada de C4.5, necesi-ta que al menos dos ramas tengan como mínimo, unnúmero preconfigurado de experiencias). CIDIM usala siguiente condición local: un nodo se expande sólosi la expansión mejora la precisión calculada sobre elsubconjunto de control (CLS). Esta condición se su-pervisa de forma local en cada nodo y tiene en cuentados índices: un índice absoluto (IA) y otro relativo(IR) (ver ecuaciones (1) y (2)). Un nodo sólo se ex-pande si alguno de los dos índices mejora y ningunoempeora. Los índices absoluto y relativo se definendel siguiente modo:

IA =∑N

i=1 CORRECT (ei)N

(1)

IR =∑N

i=1 PC(ei)(ei)N

(2)

donde N es el número de experiencias en CLS, ees una experiencia, C(e) es la clase de la experien-cia e, Pm(e) es la probabilidad de la clase m pa-ra la experiencia e en el nodo usando el subconjun-to CNS, y CORRECT (e) = 1 si PC(e)(e) =max{P1(e), P2(e), ..., Pk(e)} o 0 en otro caso.

2.4. Algoritmo

Una vez que hemos presentado los componentes fun-damentales del algoritmo podemos describirlo conmás detalle. A continuación (Figura 2) mostramos elpseudocódigo del algoritmo.

El algoritmo CIDIM induce un árbol de decisión cu-yo nodo raíz es devuelto (Raiz) y para hacerlo ne-cesita un conjunto de experiencias de entrenamien-to (E) y dos medidas de desorden (md_division ymd_mejora).

Entrada:E, md_division, md_mejora

{CNS, CLS} = Div_Dicot_Aleat(E)Raiz = Nuevo_Nodo(CNS,CLS)SinEtiq = {Raiz}mientras SinEtiq 6= ∅ hacer

Nodo = Selec_Aleat(SinEtiq)Atrib&Div = Mejor_Atrib_Div

(Nodo, md_division,md_mejora)

si Mejora_Pred(Nodo,Atrib&Div) entonces

Hijos = Expandir(Nodo, Atrib&Div)SinEtiq = SinEtiq − {Nodo}SinEtiq = SinEtiq ∪Hijos

si noSinEtiq = SinEtiq − {Nodo}

Salida:Raiz

Figura 2. Algoritmo CIDIM

El primer paso del algoritmo es una división di-cotómica aleatoria del conjunto de entrenamiento(Div_Dicot_Aleat(E)) en dos subconjuntos (CNSy CLS). Esta división mantiene la frecuencia de cla-ses del conjunto original (E) y cumple los requisitosexpuestos en la Figura 1. Después de realizar la di-visión, se construye la raíz del árbol usando los sub-conjuntos CNS y CLS. Desde ese momento se repi-te un proceso iterativo que no termina mientras que-den nodos sin etiquetar (SinEtiq 6= ∅). El proce-so comienza seleccionando un nodo sin etiquetar deforma aleatoria (Nodo = Selec_Aleat(SinEtiq))y calculando el par atributo-división que mayor me-jora produzca (Atrib&Div = Mejor_Atrib_Div(Nodo, md_division, md_mejora)). Dicho parse calcula usando el subconjunto de construcción(CNS) y las dos medidas de desorden según se expli-ca en la Subsección 2.2. Cuando se determina dichopar, CIDIM comprueba si la mejor expansión que sepuede realizar mejora la predicción dada por el nodosin expandir. Si la expansión no se debe realizar, elnodo se etiqueta como hoja; pero si la expansión me-jora la predicción, se añaden al árbol los hijos corres-pondientes al atributo seleccionado según la divisiónrealizada.

Inteligencia Artificial Vol. 10 No 29 (2006) 51

Page 4: ARTÍCULO - Iberamiajournaldocs.iberamia.org/articles/483/article (1).pdf · de decisión (TDIDT [8, 9]) suelen dividir el conjunto de experiencias en dos subconjuntos: el subconjun-to

3. Multiclasificadores basados enCIDIM

Una de los objetivos del aprendizaje automático esmejorar la generalización de los clasificadores, es de-cir, conseguir que los modelos se ajusten mejor alconocimiento de forma que aumente la precisión al-canzada con ellos. Los sistemas multiclasificadores ylos métodos de votación consiguen avanzar en estosaspectos. Hemos usado las particularidades de CIDIMpara elaborar dos sistemas multiclasificadores quedescribiremos brevemente: M-CIDIM y E-CIDIM.

Una vez que se ha inducido el conjunto de clasificado-res, puede usarse para predecir. Existen diversos mé-todos de votación: uniforme o ponderada. La votaciónuniforme es el método más sencillo: cada árbol da suvector de predicción y todos tienen el mismo peso.Para usar la votación ponderada se usa un criterio queasigne pesos. Tras realizar algunos estudios empíricoscon los sistemas que presentamos a continuación, ycon objeto de aclarar este punto común a ambos algo-ritmos, hemos de decir que los resultados alcanzadosen función del método de votación son similares y seha elegido la votación uniforme como el método pordefecto, dada su simplicidad.

3.1. M-CIDIM

M-CIDIM está basado en el esquema de bagging peroincluye la particularidad de que la perturbación que serealiza en el proceso está forzada con la intención deaprovechar las características propias de CIDIM. Estenuevo esquema lo hemos llamado Forbagging (Bag-ging Forzado) y se presenta en la Figura 3.

La principal característica de este esquema es que laperturbación de cada paso se hace teniendo en cuen-ta la perturbación que se hizo en el paso anterior(E(i) = Perturba(E(i− 1))) y así podemos incluiruna tendencia que intente mejorar el comportamien-to de bagging. Si contamos con un algoritmo que di-vide el conjunto de entrenamiento en dos, uno paraconstrucción y otro para control (como es el caso deCIDIM), puede que nos interese guiar de alguna for-ma la división. M-CIDIM usa este esquema para ha-cer que las sucesivas divisiones sean lo más diferenteposible respecto de la anterior y de esta forma inten-tamos aprender diferentes zonas del espacio de expe-riencias. Las divisiones realizadas por M-CIDIM sehacen de forma ortogonal: el conjunto de construc-ción se divide en dos subconjuntos (manteniendo lafrecuencia de clases) y el de control también; los con-juntos de construcción y control del siguiente paso seconstruyen uniendo las mitades de cada uno de losconjuntos anteriores.

Entrada:conjunto de entrenamiento E,clasificador básico C,tamaño del sistema multiclasificador n

E(0) = Edesde i = 1 hasta n hacer

E(i) = Perturba(E(i− 1))M(i) = C(E(i))

M = Combina(M(1), ..., M(n))

Salida:Sistema multiclasificador M

Figura 3. Esquema de Forbagging

El único parámetro que debemos configurar en el al-goritmo M-CIDIM es el número de clasificadores.Aunque no existe un valor que sea siempre el me-jor, tras diversas pruebas empíricas, hemos elegido 10como valor por defecto.

3.2. E-CIDIM

E-CIDIM [11] también aprovecha las característi-cas propias de CIDIM para construir el multiclasi-ficador. Tiene dos parámetros para configurarlo: elnúmero máximo de árboles en el multiclasificador(Max_arb) y el número de intentos fallidos antes dedetener la inducción (Max_intentos).

En primer lugar, E-CIDIM inicializa el conjunto(MultiCl) con algunos árboles de decisión inducidospor CIDIM usando el conjunto de entrenamiento (E).Normalmente, los sucesivos árboles de decisión quese van generando serán diferentes unos de otros, pues-to que la partición dicotómica del conjunto de entre-namiento es aleatoria y se realiza en cada ejecución deCIDIM. Tras la inicialización tenemos la mitad de losárboles de decisión que se indicaron como parámetrodel máximo posible (Max_arb). A partir de entoncesinduciremos nuevos árboles que podrán irse añadien-do al conjunto. Si el nuevo árbol inducido en cadapaso (Nuevo_arb) tiene un índice de acierto mejorque el del peor árbol en el conjunto (Peor_arb), seañade al conjunto. Si ya hubiésemos llegado a teneren el conjunto el máximo número de árboles permiti-do y hubiese que añadir algún árbol más, el peor nodosería eliminado. E-CIDIM intenta de forma iterativaincorporar nuevos árboles al conjunto, pero cuandono lo consigue un predeterminado número de veces(Max_intento), la ejecución se detiene. El pseudo-código del algoritmo se presenta en la Figura 4.

52 Inteligencia Artificial Vol. 10 No 29 (2006)

Page 5: ARTÍCULO - Iberamiajournaldocs.iberamia.org/articles/483/article (1).pdf · de decisión (TDIDT [8, 9]) suelen dividir el conjunto de experiencias en dos subconjuntos: el subconjun-to

Entrada:E, Max_arb, Max_intentos

MultiCl = ∅Arb_iniciales = dMax_arb/2edesde 1 hasta Arb_iniciales hacer

Nuevo_arb ← Induce nuevo árbolcon CIDIM usando E

MultiCl = MultiCl ∪Nuevo_arbNoMejora = 0while NoMejora < Max_intentos hacer

Peor_arb = {x ∈ MultiCl |ind_acierto(x) <ind_acierto(y)∀y ∈ MultiCl ∧ x 6= y}

Nuevo_arb ← Induce nuevo árbolcon CIDIM usando E

si ind_acierto(Nuevo_arb) >ind_acierto(Peor_arb) entoncesNoMejora = 0MultiCl = MultiCl ∪Nuevo_arbsi |MultiCl| > Max_arb entonces

MultiCl = MultiCl − Peor_arbsi no

NoMejora = NoMejora + 1

Salida:MultiCl

Figura 4. Algoritmo E-CIDIM

Antes de terminar este apartado comentaremos cómoafectan los parámetros a la ejecución del algoritmo ycuáles son los parámetros por defecto elegidos para suejecución. Después de realizar algunos estudios empí-ricos con distintas configuraciones hemos observadolo siguiente:

la precisión suele ser mejor cuando en el con-junto hay más árboles. Además el tamaño me-dio de los árboles en el conjunto también es me-nor cuando el conjunto está compuesto por másárboles. El valor por defecto elegido para el pa-rámetro del número máximo de árboles en elmulticlasificador (Max_arb) es 20.

los multiclasificadores más precisos y cuyo ta-maño de árbol medio es menor, se consiguencuando se permiten pocos intentos fallidos,debido, principalmente, a que se evita el so-breajuste. Además, el tiempo para inducirlostambién es menor. El valor por defecto parael parámetro del número de intentos fallidos(Max_intentos) es 5.

4. Aprendizaje por capas

En esta sección hemos creído conveniente añadir elaprendizaje por capas, uno de los últimos desarrollosque hemos realizado y que parece ser una línea pro-metedora. El enfoque que proponemos es bastante ge-neral y puede ser aplicado a diferentes sistemas mul-ticlasificadores. Hasta ahora, la implementación quehemos desarrollado se basa en un sistema multiclasi-ficador muy sencillo (m-CIDIM), previo a M-CIDIMo E-CIDIM.

En primer lugar (en la Subsección 4.1) describiremoseste multiclasificador básico, al que hemos llamadom-CIDIM. Después (en la Subsección 4.2), introdu-ciremos el aprendizaje por capas y describiremos elenfoque que proponemos.

4.1. m-CIDIM

El sistema multiclasificador que hemos usado paracomprobar el comportamiento del aprendizaje por ca-pas que proponemos es bastante simple. El clasifica-dor base es CIDIM que ha sido expuesto al comienzodel artículo (ver Sección 2). El multiclasificador quelo usa aprovecha que el algoritmo CIDIM puede gene-rar árboles distintos partiendo del mismo conjunto deexperiencias de entrenamiento (por la división inicial)y genera un conjunto de clasificadores. En la secciónde experimentación usaremos diez clasificadores y laclasificación conjunta del sistema multiclasificador seconstruye usando votación uniforme.

4.2. ML_m-CIDIM

Los sistemas que usan aprendizaje por capas nor-malmente disponen de diferentes capas para abordardiferentes tareas y normalmente usan pocas capas pa-ra solucionarlas. Se suelen emplear en las áreas derobótica y diseño de agentes [15, 16]. De este mo-do, una primera capa normalmente se usa para mode-lar el comportamiento del individuo y una segunda sepuede entrenar de forma que aprenda cómo alcanzarun objetivo. Evidentemente, cuantas más capas aña-damos, más complejo será el comportamiento que sepodrá llegar a aprender. Pero nuestro objetivo primor-dial es sólo uno: la clasificación (y posterior predic-ción). Así, el aprendizaje por capas que planteamossólo tiene la función de mejorar la clasificación de lacapa anterior y alcanzar, por refinamiento sucesivo,un sistema compuesto por varios niveles de multicla-sificadores que logre modelos más precisos.

La estructura del sistema de aprendizaje que propo-nemos [13] está compuesta por un conjunto de ca-pas (Capas). Cada una de éstas consta de un sistema

Inteligencia Artificial Vol. 10 No 29 (2006) 53

Page 6: ARTÍCULO - Iberamiajournaldocs.iberamia.org/articles/483/article (1).pdf · de decisión (TDIDT [8, 9]) suelen dividir el conjunto de experiencias en dos subconjuntos: el subconjun-to

multiclasificador. Para la construcción de la primeracapa, las experiencias del conjunto de entrenamientose usan para inducir un sistema multiclasificador, queserá el que determine la primera capa. Por lo tanto,un sistema de una capa es equivalente a un sistemamulticlasificador simple. La novedad viene a partir dela segunda capa. Para verlo más claramente presenta-mos un esquema (Figura 5) que nos servirá de guía ennuestra exposición.

Para la construcción de la segunda capa, cada expe-riencia que produzca discrepancias en la primera ca-pa es modificada e incorpora nuevos atributos calcu-lados, que serán tenidos en cuenta en la induccióndel multiclasificador de la segunda capa. Estos nue-vos atributos (At_C_y con y ∈ {1...K} donde K esel número de clasificadores del sistema multiclasifi-cador) describen la clasificación que propondría ca-da uno de los clasificadores (Cy) que componen elmulticlasificador de la primera capa y, por lo tanto,tienen tantos valores posibles como valores tiene elatributo de clase. Cuando hablamos de discrepanciasentre la clasificación dada por algún clasificador delmulticlasificador y el propio sistema multiclasifica-dor, nos referimos a que la etiqueta que darían am-

bos para la clase de una experiencia es distinta (∃y ∈{1...K} | Clase_C_y(ei) 6= ClaseMultiCl(ei)).Una vez que hemos usado el multiclasificador de laprimera capa para construir el conjunto de experien-cias que se usará para inducir la segunda capa, usamosel nuevo conjunto de experiencias para inducir el nue-vo nivel (segunda capa).

Este proceso es iterativo y continúa hasta que nosea posible mejorar el resultado o hasta que se al-cance un número de capas previamente establecido(Maximo_numero_de_capas). El sistema se con-sidera que puede seguir siendo mejorado si se dandiscrepancias entre los clasificadores individuales yel propio sistema multiclasificador al clasificar algunaexperiencias. Así, cada capa se construye usando ex-periencias con información adicional incorporada porla capa anterior. Una descripción en pseudocódigo delesquema propuesto se muestra en la Figura 6.

El proceso de predicción usando este sistema deaprendizaje por capas es muy sencillo. Dada una ex-periencia, la predicción que le corresponde es la dadapor la primera capa del sistema en la que no haya dis-crepancias. Si todas las capas discrepan, la predicciónes la que dé la última capa del sistema.

Figura 5. Modelo básico de aprendizaje por capas. Sólo se muestra cómo se transforma el conjunto de experiencias de la 1a

capa en los de la 2a capa

54 Inteligencia Artificial Vol. 10 No 29 (2006)

Page 7: ARTÍCULO - Iberamiajournaldocs.iberamia.org/articles/483/article (1).pdf · de decisión (TDIDT [8, 9]) suelen dividir el conjunto de experiencias en dos subconjuntos: el subconjun-to

1. Capas se inicializa con un multiclasificador usando el conjunto de datos inicial2. num_capas = 13. mientras (hay discrepancias en la capa num_capas para alguna experiencia) ∧

(num_capas < Maximo_numero_de_capas ) hacer:3.1. Construir un nuevo conjunto de experiencias con aquellas que

producen discrepancias e incorporarles la información de clasificacióndada por cada clasificador (nuevos atributos calculados)

3.2. Inducir un nuevo multiclasificador con m-CIDIM usando el nuevo conjunto de experiencias3.3. Añadir el nuevo multiclasificador a Capas3.4. num_capas = num_capas + 1

Figura 6. Algoritmo ML_m-CIDIM

Nótese que el número de experiencias en una capa su-perior será menor o igual que el número de experien-cias en la capa previa y dispondrá de nuevos atributoscalculados (tantos como clasificadores existan en lacapa previa). Por lo tanto, el conjunto de experienciasque se usa en cada capa tiende a ser menor conformemayor es el nivel de la capa. Al mismo tiempo, di-chas experiencias contienen más información (la cla-sificación dada por cada uno de los clasificadores quecomponen las capas previas).

5. Experimentación

Hemos dividido esta sección en dos partes para estu-diar por separado el comportamiento de los sistemasmulticlasificadores (Subsección 5.1) y del aprendizajepor capas (Subsección 5.2).

5.1. Sistemas multiclasificadores

Para probar el comportamiento de los sistemas multi-clasificadores, hemos elegido una serie de conjuntosde datos del repositorio de la UCI ([1]). Todos los atri-butos de los conjuntos de datos que se han estudiadoson continuos. Para poder trabajar con ellos, los he-mos procesado previamente, discretizándolos en diezintervalos de igual anchura. Los datos que se mues-tran corresponden a las medias y desviaciones típicasde diez validaciones cruzadas con diez particiones pa-ra los algoritmos C4.5 (utilizamos la implementaciónhecha en Weka [18], que se llama J48), CIDIM, M-CIDIM y E-CIDIM. Se ha hecho así para presentarcómo se comporta CIDIM respecto a otro algoritmoque induce árboles de decisión y que es bastante cono-cido (C4.5) y para evidenciar la mejora que suponeincorporar CIDIM dentro de multiclasificadores. Laconfiguración de todos los algoritmos ha sido la quetienen por defecto, exceptuando la de E-CIDIM, cu-yo parámetro Max_arb se ha fijado a 10 para podercompararlo con M-CIDIM.

En lo que se refiere a la precisión podemos decir, des-pués de ver la Tabla 1, que la precisión alcanzadapor CIDIM es comparable con la precisión alcanzadapor C4.5. Pero la mejor precisión se alcanza con losmulticlasificadores, tanto M-CIDIM como E-CIDIM,como era de esperar. Con los experimentos realizadosno podemos determinar cuál de los dos multiclasifica-dores se comporta mejor.

Tabla 1. Precisiones alcanzadas con C4.5, CIDIM,M-CIDIM y E-CIDIM con un máximo de 10 árboles y 5

intentos fallidos como máximo

Problema Algoritmo PrecisiónEcoli C4.5 77.33 ± 0.90

CIDIM 77.29 ± 0.80M-CIDIM-10 80.51 ± 0.86E-CIDIM-10 80.49 ± 0.89

Ionosphere C4.5 87.85 ± 0.51CIDIM 88.71 ± 1.64M-CIDIM-10 90.65 ± 0.69E-CIDIM-10 90.39 ± 0.85

Pima C4.5 73.85 ± 0.49CIDIM 73.29 ± 0.74M-CIDIM-10 74.17 ± 0.59E-CIDIM-10 73.63 ± 0.59

Wdbc C4.5 93.01 ± 0.55CIDIM 92.48 ± 1.05M-CIDIM-10 94.43 ± 0.71E-CIDIM-10 95.15 ± 0.48

En cuanto al tamaño del árbol (ver Tabla 2), las com-paraciones debemos realizarlas entre algoritmos se-mejantes, es decir, entre CIDIM y C4.5 o entre M-CIDIM y E-CIDIM. Como se puede apreciar, los ár-boles generados con CIDIM son mucho más peque-ños que los generados con C4.5, con la consiguientemejora en la comprensibilidad de los modelos. Las di-ferencias entre los multiclasificadores no son tan am-plias, aunque parece que M-CIDIM genera multicla-sificadores cuyo tamaño medio es menor.

Inteligencia Artificial Vol. 10 No 29 (2006) 55

Page 8: ARTÍCULO - Iberamiajournaldocs.iberamia.org/articles/483/article (1).pdf · de decisión (TDIDT [8, 9]) suelen dividir el conjunto de experiencias en dos subconjuntos: el subconjun-to

Tabla 2. Tamaños de los árboles inducidos por C4.5,CIDIM, M-CIDIM y E-CIDIM con un máximo de 10

árboles y 5 intentos fallidos como máximo

Problema Algoritmo HojasEcoli C4.5 49.00 ± 1.52

CIDIM 30.16 ± 1.64M-CIDIM-10 30.66 ± 0.53E-CIDIM-10 35.16 ± 0.25

Ionosphere C4.5 31.78 ± 1.13CIDIM 16.91 ± 1.07M-CIDIM-10 16.83 ± 0.26E-CIDIM-10 19.74 ± 0.35

Pima C4.5 48.04 ± 5.34CIDIM 21.81 ± 2.33M-CIDIM-10 23.03 ± 1.44E-CIDIM-10 35.23 ± 1.19

Wdbc C4.5 56.98 ± 2.30CIDIM 15.14 ± 1.58M-CIDIM-10 15.75 ± 0.55E-CIDIM-10 19.55 ± 0.35

5.2. Aprendizaje por capas

Para probar el comportamiento del algoritmo basadoen aprendizaje por capas (ML_m-CIDIM) hemos ele-gido también conjuntos de datos del repositorio de laUCI ([1]). En este caso, los atributos de los conjuntosde datos que se han estudiado son discretos. Los da-tos que se muestran corresponden a las medias y des-viaciones típicas de diez validaciones cruzadas condiez particiones para los algoritmos bagging y boos-ting con C4.5 (utilizamos la implementación hecha enWeka [18]) y ML_m-CIDIM.

Para comparar los resultados hemos realizado tests es-tadísticos. En particular, hemos elegido el t-test usan-do los datos de las diez validaciones cruzadas con diezparticiones. Los valores de los test estadísticos han si-do calculados usando el paquete estadístico R [10].Decimos que una diferencia es significativa si el ni-vel del t-test es mejor que 0.05. Hemos elegido losresultados obtenidos por ML_m-CIDIM con 2 capas(ML_m-CIDIM-2) como el valor de referencia. Así,

en la Tabla 5, ⊕ indica que la precisión es significa-tivamente mejor que la precisión de ML_m-CIDIM-2, ª significa que la precisión es significativamentepeor y ¯ significa que no hay diferencias significati-vas. Además, el mejor resultado para cada experimen-to se ha resaltado usando números en negrita.

Una vez presentada la experimentación, comentamoslos resultados alcanzados (Tabla 3 y Figura 7):

La precisión alcanzada con ML_m-CIDIM escomparable con la precisión alcanzada por bag-ging y boosting. Ninguno de ellos es siempremejor que ML_m-CIDIM. En ningún conjun-to de datos ML_m-CIDIM obtiene la peor pre-cisión y sus resultados siempre se encuentranentre los alcanzados por bagging y boosting(cuando se usan dos capas o más).

Cuando no es posible mejorar más el modelo,no se añaden más capas. En el conjunto de da-tos de mushroom, por ejemplo, ML_m-CIDIMinduce un máximo de dos capas aunque haya-mos configurado un máximo de cinco. Cuan-do ML_m-CIDIM clasifica correctamente to-das las experiencias en el conjunto de entrada,no se añaden más capas.

En casi todos los conjuntos de datos, ML_m-CIDIM tiene un comportamiento mejor confor-me se incrementa el número de capas utiliza-das. Cuando sólo se dispone de una capa, el re-sultado puede ser peor que bagging y boostingal mismo tiempo (como ocurre en los casos decar, kr-vs-kp o mushroom), pero, cuando se au-menta el número de capas, la precisión mejora yse aproxima a la precisión alcanzada por el me-jor modelo (según el caso será bagging o boos-ting). De esta forma, puede verse que ML_m-CIDIM mejora los resultados alcanzados porun sistema multiclasificador aislado. Las prin-cipales herramientas para conseguir esto son lacombinación de los distintos multiclasificado-res en cada una de las diferentes capas y la adi-ción de nueva información en el proceso (nue-vos atributos calculados).

Tabla 3. Valores medios y desviaciones típicas para la precisión de bagging, boosting y ML_m-CIDIM. Los tests designificancia estadística se han hecho tomando como referencia ML_m-CIDIM con dos capas (ML_m-CIDIM-2)

Cancer Car KR-vs-KP Mushroom NurseryBAGGING 72.98± 1.06⊕ 93.27± 0.48¯ 99.38± 0.08¯ 100.00± 0.00¯ 97.33± 0.06ªBOOSTING 66.73± 1.97ª 95.83± 0.26⊕ 99.62± 0.07⊕ 100.00± 0.00¯ 99.53± 0.06⊕ML_m-CIDIM-1 69.96± 0.49¯ 89.56± 0.89ª 98.76± 0.47ª 99.998± 0.01¯ 97.52± 0.11ªML_m-CIDIM-2 70.01± 1.14 93.40± 0.33 99.41± 0.08 100.00± 0.00 98.38± 0.11

ML_m-CIDIM-3 70.05± 0.89¯ 94.50± 0.31⊕ 99.46± 0.10¯ 100.00± 0.00¯ 98.64± 0.12⊕ML_m-CIDIM-4 69.40± 2.62¯ 94.81± 0.28⊕ 99.50± 0.10⊕ 100.00± 0.00¯ 98.78± 0.13⊕ML_m-CIDIM-5 69.36± 2.48¯ 95.04± 0.32⊕ 99.53± 0.09⊕ 100.00± 0.00¯ 98.79± 0.14⊕

56 Inteligencia Artificial Vol. 10 No 29 (2006)

Page 9: ARTÍCULO - Iberamiajournaldocs.iberamia.org/articles/483/article (1).pdf · de decisión (TDIDT [8, 9]) suelen dividir el conjunto de experiencias en dos subconjuntos: el subconjun-to

Figura 7. Precisión de bagging, boosting y ML_m-CIDIM con diferentes números de capas

6. Conclusiones y trabajos futu-ros

En este artículo se presenta CIDIM, un algoritmo en-focado a la inducción de árboles de decisión precisosy pequeños. Hemos comparado los resultados obteni-dos con C4.5 y observamos que la precisión alcanza-da por ambos es similar, pero la aportación hecha porCIDIM que más destaca es que los árboles inducidospor él son más pequeños sin pérdida de precisión.

Los algoritmos multiclasificadores basados en CIDIMque presentamos en este artículo también dan buenos

resultados, mejorando la precisión de un clasificadoraislado y construyendo el conjunto de clasificadorescon árboles pequeños. Además, el comportamientomostrado por el algoritmo basado en aprendizaje porcapas es bastante positivo, incrementando la precisiónde un sistema multiclasificador aislado.

Como posibles trabajos futuros nos planteamos los si-guientes:

realizar las modificaciones necesarias para queCIDIM pueda tratar directamente y de formaautomática atributos continuos.mejorar los multiclasificadores proponiendo

Inteligencia Artificial Vol. 10 No 29 (2006) 57

Page 10: ARTÍCULO - Iberamiajournaldocs.iberamia.org/articles/483/article (1).pdf · de decisión (TDIDT [8, 9]) suelen dividir el conjunto de experiencias en dos subconjuntos: el subconjun-to

nuevas formas de votación ponderada. Esosmismos pesos usados para la ponderación po-drían ser usados para hacer ajustes dentro delpropio multiclasificador.automatizar la selección de los parámetros pa-ra el algoritmo E-CIDIM de forma que no seanecesaria su configuración previa.detectar el número óptimo de capas necesariasde forma dinámica, intentando evitar el sobre-ajuste al mismo tiempo. De este modo no seránecesario fijarlo como parámetro.integrar las características presentadas en M-CIDIM, E-CIDIM y ML_m-CIDIM en un mis-mo algoritmo que se beneficie de las ventajasde cada uno de ellos.

AgradecimientosEste trabajo ha sido financiado parcialmente por elprograma FPI y el proyecto MOISES-TA, númeroTIN2005-08832-C03-01, del MEC, España.

Referencias

[1] C. Blake and C. J. Merz. UCI repository of ma-chine learning databases. University of Califor-nia, Department of Information and ComputerScience, 2000.

[2] L. Breiman, J. H. Friedman, R. A. Olshen, andC. J. Stone. Classification and Regression Trees.Wadsworth, 1984.

[3] G. Folino, C. Pizzuti, and G. Spezzano. A ce-llular genetic programming approach to classifi-cation. In Proc. of the genetic and evolutionarycomputation conference, volume 2, pages 1015–1020. Morgan Kaufmann Publishers Inc., 1999.

[4] G. E. Naumov. NP-completeness of problemsof construction of optimal decision trees. SovietPhysics. Doklady, 36:270–271, 1991.

[5] J. Gehrke, V. Ganti, R. Ramakrishnan, andW. Loh. Boat – optimistic decision tree cons-truction. In Proc. of the 1999 ACM SIGMODInt. Conf. on Management of Data, pages 169–180. ACM Press, 1999.

[6] L. Hyafil and R. L. Rivest. Constructing optimalbinary decision trees is np-complete. Informa-tion Processing Letters, 5:15–17, 1976.

[7] J. M. Jerez-Aragonés, J. A. Gómez-Ruiz,G. Ramos-Jiménez, J. Mu noz Pérez, andE. Alba-Conejo. A combined neural network

and decision trees model for prognosis of breastcancer relapse. Artificial Intelligence in Medici-ne, 27(1):45–63, 2003.

[8] J. R. Quinlan. Induction of decision trees. Ma-chine Learning, 1:81– 106, 1986.

[9] J. R. Quinlan. C4.5: Programs for MachineLearning. Morgan Kaufmann, 1993.

[10] R Development Core Team. R: A languageand environment for statistical computing. RFoundation for Statistical Computing, Vienna,Austria, 2004. 3-900051-07-0. http://www.R-project.org.

[11] G. Ramos-Jiménez, J. Campo-Ávila, andR. Morales-Bueno. E-CIDIM:Ensemble ofCIDIM classifiers. Lecture Notes in ArtificialIntelligence, 3584:108–117, 2005.

[12] G. Ramos-Jiménez, J. Campo-Ávila, andR. Morales-Bueno. Induction of decision treesusing an internal control of induction. LectureNotes in Computer Science, 3512:795–803,2005.

[13] G. Ramos-Jiménez, J. Campo-Ávila, andR. Morales-Bueno. ML-CIDIM: multiplelayers of multiple classifier systems based onCIDIM. Lecture Notes in Artificial Intelligence,3642:138–146, 2005.

[14] J. Ruiz-Gómez, G. Ramos-Jiménez, J. delCampo-Ávila, A. García-Cerezo, andR. Morales-Bueno. Modelado de un robotmóvil basado en aprendizaje inductivo. InVI Jornadas de Transferencia Tecnológicade Inteligencia Artificia, TTIA’2005, pages175–182, 2005.

[15] Peter Stone and Manuela Veloso. A Layered Ap-proach to Learning Client Behaviors in the Ro-boCup Soccer Server. Applied Artificial Intelli-gence, 12:165–188, 1998.

[16] Yasutake Takahashi and Minoru Asada. Multi-layered learning systems for vision-based beha-vior acquisition of a real mobile robot. In Proc.of sice annual conf., pages 2937–2942, 2003.

[17] P. E. Utgoff, N. C. Berkman, and J. A. Clouse.Decision tree induction based on efficient treerestructuring. Machine Learning, 29(1):5– 44,1997.

[18] Ian H. Witten and Eibe Frank. Data Mining:Practical machine learning tools with Java im-plementations. Morgan Kaufmann, San Francis-co, 2000.

58 Inteligencia Artificial Vol. 10 No 29 (2006)