Algoritmos de aprendizaje automático basados en árboles ...lmcarrascal.eu/pdf/machlearn.pdf ·...

33
Modelado estadístico - Es un subcampo de las matemáticas. Se habla, pues, de análisis matemático, ajuste y funciones. - Recoge las relaciones entre variables en forma de ecuaciones matemáticas. - Los modelos estadísticos parten de ciertas asunciones sobre la generación de los datos y requieren una comprensión previa de la relación entre las variables. - Se basan en el supuesto de que las observaciones son generadas por un modelo formal conocido, que puede emular a la Naturaleza de alguna manera. - Se habla de análisis, ajuste de funciones y significación. Aprendizaje automático vs. modelado estadístico Ambos pretenden, en última instancia, descubrir los procesos que hay detrás de la generación de una serie de datos con los que se describe cierto tipo de sistema, a partir de la relación que hay entre una variable objetivo y uno o más predictores. Aprendizaje automático - Es un subcampo de las ciencias de la computación y la inteligencia artificial. Se habla de entrenamiento, aprendizaje y algoritmos. -Desarrolla algoritmos que aprenden directamente de los datos y pueden predecir sobre la marcha, incluso sin la intervención humana. - No hace asunciones sobre la generación de los datos; su buen o mal funcionamiento se basa en su capacidad predictiva. -No asume ningún modelo formal y aprende directamente las asociaciones entre las variables de entrada y salida de los datos. -Se habla de entrenamiento, aprendizaje, algoritmos que aprenden y capacidad de predicción. Algoritmos de aprendizaje automático basados en árboles (tree-based machine learning algorithms)

Transcript of Algoritmos de aprendizaje automático basados en árboles ...lmcarrascal.eu/pdf/machlearn.pdf ·...

Page 1: Algoritmos de aprendizaje automático basados en árboles ...lmcarrascal.eu/pdf/machlearn.pdf · Son algoritmos de aprendizaje automático basados en inferencias inductivas. Como

Modelado estadístico

- Es un subcampo de las matemáticas. Se habla, pues, de análisis matemático, ajuste y funciones.

- Recoge las relaciones entre variables en forma de ecuaciones matemáticas.

- Los modelos estadísticos parten de ciertas asunciones sobre la generación de los datos y requieren una comprensión previa de la relación entre las variables.

- Se basan en el supuesto de que las observaciones son generadas por un modelo formal conocido, que puede emular a la Naturaleza de alguna manera.

- Se habla de análisis, ajuste de funciones y significación.

Aprendizaje automático vs. modelado estadístico

Ambos pretenden, en última instancia, descubrir los procesos que hay detrás de la generación de una serie de datos con los que se describe cierto tipo de sistema, a partir de la relación que hay entre una variable objetivo y uno o más predictores.

Aprendizaje automático

- Es un subcampo de las ciencias de la computación y la inteligencia artificial. Se habla de entrenamiento, aprendizaje y algoritmos.

-Desarrolla algoritmos que aprenden directamente de los datos y pueden predecir sobre la marcha, incluso sin la intervención humana.

- No hace asunciones sobre la generación de los datos; su buen o mal funcionamiento se basa en su capacidad predictiva.

-No asume ningún modelo formal y aprende directamente las asociaciones entre las variables de entrada y salida de los datos.

-Se habla de entrenamiento, aprendizaje, algoritmos que aprenden y capacidad de predicción.

Algoritmos de aprendizaje automático basados en árboles (tree-based machine learning algorithms)

Page 2: Algoritmos de aprendizaje automático basados en árboles ...lmcarrascal.eu/pdf/machlearn.pdf · Son algoritmos de aprendizaje automático basados en inferencias inductivas. Como

Clasificación de los algoritmos de aprendizaje automático en distintas familias

Tomado de Machine Learning Algorithms, por Jason Brownlee

Page 3: Algoritmos de aprendizaje automático basados en árboles ...lmcarrascal.eu/pdf/machlearn.pdf · Son algoritmos de aprendizaje automático basados en inferencias inductivas. Como

A) Árboles de regresión y clasificación

1. Interpretación

Son algoritmos de aprendizaje automático basados en inferencias inductivas.

Como en la regresión estadística, el objetivo es crear un modelo o expresión lógico-matemática que recoja cómo es la relación entre la variable respuesta y los predictores. Sin embargo, en vez de una función, dicha expresión tiene estructura de árbol (Fig. 1).

El modelo resultante, tipo árbol (generalmente invertido), permite predecir el valor de la variable respuesta en cualquier nueva muestra, a partir de las características definidas por los predictores.

Todas las muestras terminan en un nodo terminal. Si se trata de un árbol de clasificación, a dicha muestra se le asigna la categoría más frecuente, y si es de regresión, se le asigna la media (o la moda) de las muestras de esa hoja.

Fig. 1. Árbol de regresión

Nodo Raíz

Nodos Intermedios

Nodos terminales (hojas)

Page 4: Algoritmos de aprendizaje automático basados en árboles ...lmcarrascal.eu/pdf/machlearn.pdf · Son algoritmos de aprendizaje automático basados en inferencias inductivas. Como

Fig. 2. Análisis discriminante vs. árboles de clasificación

Representación de los hiperplanos

Mientras que el análisis discriminante identifica aquella combinación lineal de las variables independientes que minimiza la varianza intragrupo y maximiza la varianza entre los grupos, los árboles dividen el espacio definido por los predictores en una serie de regiones, que se caracterizan por incluir observaciones lo más similares posibles en cuanto a la variable respuesta.

Los árboles separan las distintas regiones con hiperplanos, cuyo número de dimensiones es igual al número de predictores, menos 1.

Page 5: Algoritmos de aprendizaje automático basados en árboles ...lmcarrascal.eu/pdf/machlearn.pdf · Son algoritmos de aprendizaje automático basados en inferencias inductivas. Como

Representación de los hiperplanos

Investigación: El objetivo era identificar los hábitos de alimentación de Prosthennops xiphodonticus, un pecarí (tayassuido) del Mioceno medio en América del Norte (reconstrucción en la figura), mediante la identificación de los patrones morfológicos que caracterizan la mandíbula de distintos grupos tróficos de ungulados actuales (herbívoros selectivos [SF, círculos negros]; herbívoros no selectivos [NS, círculos abiertos]; ramoneadores de vegetación alta [círculos con punto]); Prxi: P. xiphodonticus (cruz); HI: altura relativa de los molares (índice de hipsodoncia).

Fig. 3. Visualización de los hiperplanos definidos por dos árboles sencillos.

JMA JMA

Page 6: Algoritmos de aprendizaje automático basados en árboles ...lmcarrascal.eu/pdf/machlearn.pdf · Son algoritmos de aprendizaje automático basados en inferencias inductivas. Como

Ejemplo práctico 1: Interpretación de un árbol de clasificación y otro de regresión obtenidos con rpart. y representación de los hiperplanos.

Script Morph: El objetivo para el árbol de clasificación es determinar qué rasgos de la morfología craneodental caracterizan a bóvidos y cérvidos, unos respecto a otros. El objetivo para el árbol de regresión es predecir la masa corporal de las especies a partir de su morfología craneodental (logtransformación).

Principales ventajas

• Fáciles de entender, pues emulan la forma en que aprenden las personas (sistemas expertos). No requieren, por ello, de conocimientos estadísticos para interpretarlos (ideales para ilustrar relaciones y procesos a personas sin conocimientos de estadística que necesiten aplicarlos, como gestores pesqueros o forestales).

• Permiten la exploración de datos. Son conocidos como modelos de caja blanca o herramientas de Knowledge discovery.

• Requieren poco esfuerzo en la limpieza de datos.

• Variables predictoras que no guardan relación con la variable respuesta no repercuten negativamente.

• Se pueden validar utilizando pruebas estadísticas.

• Grandes diferencias de escala entre variables tampoco repercuten negativamente.

•Tanto la variable respuesta como los predictores pueden ser variables tanto numéricas como categóricas.

Page 7: Algoritmos de aprendizaje automático basados en árboles ...lmcarrascal.eu/pdf/machlearn.pdf · Son algoritmos de aprendizaje automático basados en inferencias inductivas. Como

Más ventajas

• Las variables pueden tener un elevado grado de interacción.

• Son un método no paramétrico. No son necesarias asunciones sobre los datos de entrenamiento, los residuos, el tipo de distribución, independencia o constancia en la varianza.

• Poco sensibles a los outliers y puntos influyentes.

• Funcionan bien incluso con predictores a los que les faltan datos.

• Funcionan bien con enormes cantidades de datos (big data).

Limitaciones

•. El sobreajuste es probablemente el principal problema de los modelos de árboles de decisión. Se puede resolver, o por lo menos paliar, estableciendo restricciones al crecimiento de los árboles o podándolos posteriormente (se ve más adelante).

• El modelo resultante depende del set concreto de datos de entrenamiento, lo que aumenta la varianza (error por imprecisión).

• Con variables respuesta continuas (arboles de regresión) se pierde información al categorizarse en los nodos terminales.

•Tienen dificultad para modelar funciones uniformes, incluso tan simples como una respuesta en línea recta a 45 °.

Como se verá más adelante, los métodos de ensamble sirven para paliar algunas de estas desventajas.

Page 8: Algoritmos de aprendizaje automático basados en árboles ...lmcarrascal.eu/pdf/machlearn.pdf · Son algoritmos de aprendizaje automático basados en inferencias inductivas. Como

2. Desarrollo

Particionamiento

Recursivo

Es el mecanismo fundamental por el que se obtienen los árboles y el utilizan por ello prácticamente todos los algoritmos.

Se trata de una búsqueda “por pasos hacia delante” en la que las muestras se van dividiendo recursivamente en grupos cada vez más homogéneos (mayor pureza).

Optimizados globalmente

Mediante algoritmos evolutivos, inspirados en los postulados de la evolución biológica.

Ejemplo práctico 2. Obtención de un árbol optimizado globalmente con el paquete evtree: Evolutionary Learning of Globally Optimal Classification and Regression Trees. Comparación con el árbol recursivo del ejemplo práctico 1. Script Morph: el mismo objetivo.

Comienzan, pues, identificando aquella variable que permite dividir al conjunto de muestras originales en dos grupos lo más homogéneos posibles en cuanto a la variable respuesta. En las sucesivas divisiones se maximiza nuevamente la homogeneidad “pureza” de los nodos.

Page 9: Algoritmos de aprendizaje automático basados en árboles ...lmcarrascal.eu/pdf/machlearn.pdf · Son algoritmos de aprendizaje automático basados en inferencias inductivas. Como

Medidas de pureza como criterio de división para clasificación

• Índice Gini de impureza (Gini impurity)

Probabilidad de que una muestra elegida al azar sea asignada a una categoría que no es la más abundante. Alcanza su mínimo, 0 (mínima impureza) cuando todas las muestras del nodo pertenecen a una misma categoría.

• Entropía (Entropy)

Viene del ámbito de la teoría de la información, y mide la cantidad promedio de bits que hacen falta para codificar un mensaje que indique las clases de los nodos.

Con 14 muestras de 2 categorías: a y b

Ej. (Entropía min.): R1 = (a, a, a, a, a, a, a, a, a, a, a, a, a, a);

SR1= - ((14/14)⋅log2(14/14) = - (1⋅log21 ) = - (1⋅0) = 0

Ej. (Entropía max.): R2 = (a, a, a, a, a, a, a, b, b, b, b, b, b, b);

SR2 = - ((1/2)⋅log2(1/2)+(1/2)⋅log2(1/2))= - (1⋅log2(1/2))=

- (1⋅log22-1)= - (1⋅(-1))= 1

Ej. R3 = (a, a, a, a, a, a, a, a, a, b, b, b, b, b);

SR3= - ((9/14)⋅log2(9/14)+(5/14)⋅log2(5/14))= 0.940

Page 10: Algoritmos de aprendizaje automático basados en árboles ...lmcarrascal.eu/pdf/machlearn.pdf · Son algoritmos de aprendizaje automático basados en inferencias inductivas. Como

Criterio de división para el desarrollo de árboles de clasificación

La bondad de un predictor determinado para separar las muestras de entrenamiento, de acuerdo a la variable respuesta, se estima a partir de la Ganancia de Información (GI): Diferencia entre la entropía del nodo “padre” y la de los nodos “hijos”.

El atributo que reduce más la entropía (mayor Gp-Gh) es el que selecciona el algoritmo ID3 (precursor de la mayoría de algoritmos que se utilizan en la actualidad) para realizar la división. La entropía total de los dos nodos hijos se calcula a partir de la media ponderada de sus entropías y se le resta a la entropía del nodo padre.

Var.1 Var. 2 VR: Pr-Au

A C Si

A C Si

B C Si

B D Si

B C Si

B C Si

B D Si

A D Si

B C Si

A C No

A D No

B D No

A C No

A D No

n =14 muestras 9 - 5

Ejemplo práctico 3: Criterio de división para el desarrollo de árboles de clasificación, únicamente con predictores categóricos : Presencia/Ausencia de una especie en función de dos variables ambientales cualitativas (también en script Entropía).

• Entropía del nodo padre (S)

E(S) = - ((pPr ⋅ log2 pPr ) + (pAu ⋅ log2 pAu ));

E(S) = - ((9/14) ⋅ log2 (9/14) + (5/14) ⋅ log2 (5/14)) = 0.940

Page 11: Algoritmos de aprendizaje automático basados en árboles ...lmcarrascal.eu/pdf/machlearn.pdf · Son algoritmos de aprendizaje automático basados en inferencias inductivas. Como

Ejemplo práctico 3: Criterio de división para el desarrollo de árboles de clasificación: Presencia/Ausencia de una especie en función de dos variables ambientales cualitativas.

Var.1 Var. 2 VR: Pr-Au

A C Si

A C Si

A D Si

A C No

A D No

A C No

A D No

n =7 muestras 3 - 4

• Entropía Opción Variable 1

E(SV1A) = - ((3/7) ⋅ log2 (3/7) + (4/7) log2 (4/7)) = 0.985

E(SV1B ) = - ((6/7) ⋅ log2 (6/7) + (1/7) log2 (1/7)) = 0.592

pV1A = 7/14

pV1B = 7/14

E(SV1) = pV1A ⋅ E(SV1A) + pV1B ⋅ E(SV1B) = 7/14 ⋅ 0.985 + 7/14 ⋅ 0.592 = 0.788 (media ponderada)

Var.1 Var. 2 VR: Pr-Au

B C Si

B D Si

B C Si

B C Si

B D Si

B C Si

B D No

n =7 muestras 6 - 1

GIV1 = E(Sp) - E(SV1) = 0.940 - 0.788 = 0.152

Var.1 Var. 2 VR: Pr-Au

A C Si

A C Si

B C Si

B D Si

B C Si

B C Si

B D Si

A D Si

B C Si

A C No

A D No

B D No

A C No

A D No

n =14 muestras 9 - 5

Page 12: Algoritmos de aprendizaje automático basados en árboles ...lmcarrascal.eu/pdf/machlearn.pdf · Son algoritmos de aprendizaje automático basados en inferencias inductivas. Como

• Entropía Opción Variable 2

Ejemplo práctico 3: Criterio de división para el desarrollo de árboles de clasificación: Presencia/Ausencia de una especie en función de dos variables ambientales cualitativas.

Var.1 Var. 2 VR: Pr-Au

A C Si

A C Si

B C Si

B D Si

B C Si

B C Si

B D Si

A D Si

B C Si

A C No

A D No

B D No

A C No

A D No

n =14 muestras 9 - 5

Var.1 Var. 2 VR: Pr-Au

A C Si

A C Si

B C Si

B C Si

B C Si

B C Si

A C No

A C No

n =8 muestras 6 - 2

Var.1 Var. 2 VR: Pr-Au

B D Si

B D Si

A D Si

A D No

B D No

A D No

n =6 muestras 3 - 3

E(SV2C) =

E(SV2D) =

pV2C =

pV2D =

E(SV2) =

Page 13: Algoritmos de aprendizaje automático basados en árboles ...lmcarrascal.eu/pdf/machlearn.pdf · Son algoritmos de aprendizaje automático basados en inferencias inductivas. Como

Var.1 Var. 2 VR: Pr-Au

A C Si

A C Si

B C Si

B C Si

B C Si

B C Si

A C No

A C No

n =8 muestras 6 - 2

• Entropía Opción Variable 2

E(SV2C) = - ((6/8) ⋅ log2 (6/8) + (2/8) ⋅ log2 (2/8)) = 0.811

E(SV2D) = - ((3/6) ⋅ log2 (3/6) + (3/6) ⋅ log2 (3/6)) = 1

pV2C = 8/14

pV2D = 6/14

E(SV2) = pV2C ⋅ E(SV2C) + pV2D ⋅ E(SV2D ) = 8/14 ⋅ 0.811 + 6/14 ⋅ 1 = 0.892

Var.1 Var. 2 VR: Pr-Au

B D Si

B D Si

A D Si

A D No

B D No

A D No

n =6 muestras 3 - 3

GIV2 = E(S) - E(SV2) = 0.940 - 0.892 = 0.048

Ejemplo práctico 3: Criterio de división para el desarrollo de árboles de clasificación: Presencia/Ausencia de una especie en función de dos variables ambientales cualitativas.

Var.1 Var. 2 VR: Pr-Au

A C Si

A C Si

B C Si

B D Si

B C Si

B C Si

B D Si

A D Si

B C Si

A C No

A D No

B D No

A C No

A D No

n =14 muestras 9 - 5

Page 14: Algoritmos de aprendizaje automático basados en árboles ...lmcarrascal.eu/pdf/machlearn.pdf · Son algoritmos de aprendizaje automático basados en inferencias inductivas. Como

Si añadimos una tercera variable que permita una discriminación perfecta

Var.1 Var. 2 Pr-Au Var. 3

A C Si E

A C Si E

B C Si E

B D Si E

B C Si E

B C Si E

B D Si E

A D Si E

B C Si E

A C No F

A D No F

B D No F

A C No F

A D No F

n =14 muestras 9 - 5

Ejemplo práctico 3: Criterio de división para el desarrollo de árboles de clasificación: Presencia/Ausencia de una especie en función de dos variables ambientales cualitativas.

Page 15: Algoritmos de aprendizaje automático basados en árboles ...lmcarrascal.eu/pdf/machlearn.pdf · Son algoritmos de aprendizaje automático basados en inferencias inductivas. Como

Var.1 Var. 2 Pr-Au Var. 3

A C Si E

A C Si E

B C Si E

B D Si E

B C Si E

B C Si E

B D Si E

A D Si E

B C Si E

A C No F

A D No F

B D No F

A C No F

A D No F

n =14 muestras 9 - 5

Var.1 Var. 2 Pr-Au Var. 3

A C Si E

A C Si E

B C Si E

B D Si E

B C Si E

B C Si E

B D Si E

A D Si E

B C Si E

n =9 muestras 9 - 0

• Entropía Opción Variable 2

E(SV3E) = - ((9/9) ⋅ log2 (9/9) = 0

E(SV3F) = - ((5/5) ⋅ log2 (5/5) = 0

pV3E = 9/9

pV3F = 5/5

E(SV3) = pV3E ⋅ E(SV3E) + pV3F ⋅ E(SV3F) = 1 ⋅ 0 + 1 ⋅ 0 = 0

Var.1 Var. 2 Pr-Au Var. 3

A C No F

A D No F

B D No F

A C No F

A D No F

n =5 muestras 5-0

GIV2 = E(S) - E(SV3) = 0.940 - 0 = 0. 940

Ejemplo práctico 3: Criterio de división para el desarrollo de árboles de clasificación: Presencia/Ausencia de una especie en función de dos variables ambientales cualitativas.

Page 16: Algoritmos de aprendizaje automático basados en árboles ...lmcarrascal.eu/pdf/machlearn.pdf · Son algoritmos de aprendizaje automático basados en inferencias inductivas. Como

Var.1 Var. 2 Pr-Au Var. 3

A C Si 0.51

A C Si 0.80

B C Si 0.24

B D Si 0.36

B C Si 0.14

B C Si 0.14

B D Si 0.63

A D Si 0.05

B C Si 0.74

A C No 0.72

A D No 0.88

B D No 0.91

A C No 0.32

A D No 0.80

n =14 muestras 9 - 5

Si añadimos un predictor numérico (árboles de clasificación)

Ejemplo práctico 3: Criterio de división para el desarrollo de árboles de clasificación: Presencia/Ausencia de una especie en función de dos variables ambientales cualitativas.

Script Entropía

Page 17: Algoritmos de aprendizaje automático basados en árboles ...lmcarrascal.eu/pdf/machlearn.pdf · Son algoritmos de aprendizaje automático basados en inferencias inductivas. Como

Criterio de división para el desarrollo de árboles de regresión

El proceso de construcción de un árbol de regresión es básicamente igual al de los árboles de clasificación. Se divide el espacio de los predictores en regiones lo más homogéneas posibles. Sin embargo, en vez de minimizarse la impureza de los subgrupos resultantes de las divisiones, se minimiza la suma de los residuos al cuadrado (RSS). Se le asigna a las muestras de cada región (nodo en potencia) el valor promedio de dicha región, se calcula la RSS y se suma la de ambos nodos. Para los predictores numéricos, es más complicado porque se ha de calcular para cada una de las divisiones posibles. Éstas son infinitas, por lo que se hacen intervalos, y se busca la partición que hace mínima la RSS.

Ejemplo práctico 4: Criterio de división para el desarrollo de árboles de regresión, con variables categóricas y numéricas. Script Calonectris:

La Pardela Cenicienta (Calonectris diomedea), especie protegida, es capturada accidentalmente por la flota palangrera. El objetivo de la investigación era identificar los principales factores de riesgo, a partir de 2587 lances realizados a lo largo de 9 años.

Los predictores son:

- Número de anzuelos

- Si es día festivo

- Localización del lance.

Variable respuesta: Nº de pardelas capturadas por lance (CAD).

Page 18: Algoritmos de aprendizaje automático basados en árboles ...lmcarrascal.eu/pdf/machlearn.pdf · Son algoritmos de aprendizaje automático basados en inferencias inductivas. Como

3. Evaluación, validación y determinación de la complejidad de los árboles

Sesgo vs varianza (inexactitud vs imprecisión)

Exactitud: proximidad de los resultados de la predicción al valor verdadero.

Precisión: dispersión de los resultados.

Ilustración gráfica del sesgo y la varianza. Tomado de Understanding the Bias-Variance Tradeoff, por Scott Fortmann-Roe.

Evolución de los parámetros que permiten determinar la capacidad predictiva de un modelo al ir aumentando su complejidad

Page 19: Algoritmos de aprendizaje automático basados en árboles ...lmcarrascal.eu/pdf/machlearn.pdf · Son algoritmos de aprendizaje automático basados en inferencias inductivas. Como

3. Evaluación, validación y determinación de la complejidad de los árboles

Sesgo vs varianza (inexactitud vs imprecisión)

Exactitud: proximidad de los resultados de la predicción al valor verdadero.

Precisión: dispersión de los resultados.

Ilustración gráfica del sesgo y la varianza. Tomado de Understanding the Bias-Variance Tradeoff, por Scott Fortmann-Roe.

Evolución de los parámetros que permiten determinar la capacidad predictiva de un modelo al ir aumentando su complejidad

Page 20: Algoritmos de aprendizaje automático basados en árboles ...lmcarrascal.eu/pdf/machlearn.pdf · Son algoritmos de aprendizaje automático basados en inferencias inductivas. Como

Validación cruzada (Cross-validation)

La validación cruzada (VC) permite evaluar el modelo con muestras que no han sido utilizadas para entrenar el modelo sin tener que renunciar a ninguna de ellas (el modelo final las incluye todas).

Validación cruzada de K iteraciones (k-folds)

Los datos originales se dividen en k grupos al azar (generalmente 10) de igual tamaño. Cada uno de estos k grupos sirve para testar un modelo que ha sido entrenado con el resto de muestras. Se obtienen así k resultados, a partir de cuya media aritmética se estima la capacidad predictiva del modelo.

Ejemplo práctico 5: Determinación de la complejidad óptima de un árbol por VC con printcp. Script Numspc. Objetivo: Determinación del número de especies de aves a partir de varias variables ambientales.

- Factor de coste-complejidad exigido (cp): Si el coste de agregar otra división al árbol está por encima del valor de cp, su crecimiento se detiene. La exigencia min (cp=0 ) resulta en una complejidad maxima.

- El comando printcp de rpart da, de acuerdo a los resultados de una VC : 1) el error del nodo raíz, 2) las variables útiles para crear el árbol y 3) cómo aumenta el nº de divisiones (nsplit, la complejidad del modelo) al ir y disminuyendo cp (el de coste-complejidad exigido).

Aunque el error residual relativo (rel error) siempre disminuye al aumentar la complejidad del modelo, el error promedio (xerror) deja de hacerlo cuando comienza a haber sobreajuste. Es el valor mínimo del error promedio de la VC (xerror) el que indica la complejidad (cp) óptima del modelo.

- El comando Plotcp muestra gráficamente la evolución del error promedio (obtenido por VC) tal y como va disminuyendo el valor de cp y aumentando el tamaño del árbol.

Page 21: Algoritmos de aprendizaje automático basados en árboles ...lmcarrascal.eu/pdf/machlearn.pdf · Son algoritmos de aprendizaje automático basados en inferencias inductivas. Como

4. Coste diferencial y datos descompensados (unbalanced data)

En estudios de presencia/ausencia de una enfermedad, especie o determinado fenómeno, el coste de un falso negativo puede ser mayor que el de un falso positivo. En los estudios de caracterización del nicho ecológico de una especie, concretamente, su hallazgo en determinado lugar implica su presencia, pero no encontrarla no implica que no esté.

Matriz de pérdida (loss matrix)

En rpart, si queremos que las falsas ausencias (FA, o falsos negativos, FN) cuesten más que las falsas presencias (FP , o falsos positivos, FP), se puede añadir el argumento:

Si FA es n veces mayor que FP, la penalización por clasificarlas mal será también n veces mayor.

Ejemplo práctico 6: Aplicación de una matriz de pérdidas para tratar coste diferencial y datos descompensados Script Calonectris (ver ej. 4)

Obs - Obs +

Prd - VA FA

Prd + FP VP

% CC = (VP+VA)/n

Sensibidad = VP/(VP + FA)

Especificidad = VA/(VA + FP)

La sensibilidad (% de presencias clasificadas correctamente) y especificidad (% de ausencias clasificadas correctamente) facilitan el análisis de los resultados a este respecto

loss=matrix(c(0, FA,FP,0)))

Page 22: Algoritmos de aprendizaje automático basados en árboles ...lmcarrascal.eu/pdf/machlearn.pdf · Son algoritmos de aprendizaje automático basados en inferencias inductivas. Como

Replicación y eliminación de muestras

Datos de entrenamiento (traindata)

Datos de evaluación (testdata)

WORLDCLIM VARIABLES BIO1 = Annual Mean Temperature (ºC x 10) BIO2 = Mean Diurnal Range Temp (Mean of monthly BIO3 = Isothermality (BIO2/BIO7) (* 100) BIO4 = Temperature Seasonality (sd* 100) BIO5 = Max Temperature of Warmest Month BIO6 = Min Temperature of Coldest Month BIO7 = Temperature Annual Range (BIO5-BIO6) BIO8 = Mean Temperature of Wettest Quarter BIO9 = Mean Temperature of Driest Quarter BIO10 = Mean Temperature of Warmest Quarter BIO11 = Mean Temperature of Coldest Quarter BIO12 = Annual Precipitation (mm) BIO13 = Precipitation of Wettest Month BIO14 = Precipitation of Driest Month BIO15 = Precipitation Seasonality (CV) BIO16 = Precipitation of Wettest Quarter BIO17 = Precipitation of Driest Quarter BIO18 = Precipitation of Warmest Quarter BIO19 = Precipitation of Coldest Quarter

Ejemplo práctico 7: Estrategia para tratar con categorías infra-representadas. Script EFWOGE. Seis arquitecturas básicas de red trófica, obtenidas a partir de todas las especies terrestres de aves y mamíferos, cubren el planeta.

Cuando una o más categorías de la variable respuesta es poco frecuente (en relación al resto), por lo que el coste de clasificarla mal es pequeño y es por ello ignorada durante el desarrollo del modelo. Una estrategia posible es remuestrear las categorías sub-representadas, o eliminar algunas de las sobre-representadas. Esto puede generar ciertos problemas, pero siempre que se teste la capacidad predictiva de los modelos, no hay problema, y la VC que acabamos de ver permite, no solo testarla sino también encontrar la complejidad óptima con muestras replicadas.

El objetivo de la investigación era comprobar si el clima determina esta organización, y en tal caso, cuáles son las principales variables climáticas.

Page 23: Algoritmos de aprendizaje automático basados en árboles ...lmcarrascal.eu/pdf/machlearn.pdf · Son algoritmos de aprendizaje automático basados en inferencias inductivas. Como

B) Métodos de agregación o empaquetado de árboles Los métodos de agregación de múltiples árboles, como random forests y boosted trees, combinan varios algoritmos de aprendizaje, a menudo débiles, con la finalidad de construir meta-algoritmos más estables y precisos. Reducen la probabilidad de sobreajuste.

Uno de los inconvenientes de los árboles de clasificación y regresión es su varianza, mucho mayor, p.e, que la de las funciones de regresión, asociada, como se ve en la figura, al sobreajuste. Se puede demostrar matemáticamente que al hacer la media de predicciones con alta varianza, ésta se reduce considerablemente.

El inconveniente fundamental de estos métodos es una considerable reducción de la facilidad de interpretación del modelo; métodos de caja gris.

Page 24: Algoritmos de aprendizaje automático basados en árboles ...lmcarrascal.eu/pdf/machlearn.pdf · Son algoritmos de aprendizaje automático basados en inferencias inductivas. Como

Ejemplo práctico 8. Reducción de la varianza mediante el promediado. Script CLiMod: El objetivo es predecir la riqueza específica de invertrívoros (aves + mamíferos) a partir del clima, con las mismas variables climáticas de WorldClim que el ejemplos 7.

WORLDCLIM VARIABLES BIO1 = Annual Mean Temperature (ºC x 10) BIO2 = Mean Diurnal Range Temp (Mean of monthly BIO3 = Isothermality (BIO2/BIO7) (* 100) BIO4 = Temperature Seasonality (standard deviation *100) BIO5 = Max Temperature of Warmest Month BIO6 = Min Temperature of Coldest Month BIO7 = Temperature Annual Range (BIO5-BIO6) BIO8 = Mean Temperature of Wettest Quarter BIO9 = Mean Temperature of Driest Quarter BIO10 = Mean Temperature of Warmest Quarter BIO11 = Mean Temperature of Coldest Quarter BIO12 = Annual Precipitation (mm) BIO13 = Precipitation of Wettest Month BIO14 = Precipitation of Driest Month BIO15 = Precipitation Seasonality (Coefficient of Variation) BIO16 = Precipitation of Wettest Quarter BIO17 = Precipitation of Driest Quarter BIO18 = Precipitation of Warmest Quarter BIO19 = Precipitation of Coldest Quarter

1. Bootstrap o Bagging (Boostrap AGGregatING)

A partir del conjunto original de muestras se genera, al azar, un gran número de sets de entrenamiento, generalmente con 2/3 de las muestras (bootstrap training sets).

Los modelos resultantes se aplican al tercio restante (out of bag, OOB). A partir de las predicciones de cada muestra se obtiene una predicción de “consenso”. La media para variables numéricas, y la clase más frecuente para las categóricas.

Se ajustan árboles profundos, por lo que tendrán una gran varianza. Cuando se toman en conjunto, sin embargo, se reduce la varianza y aumenta la precisión de las predicciones.

Page 25: Algoritmos de aprendizaje automático basados en árboles ...lmcarrascal.eu/pdf/machlearn.pdf · Son algoritmos de aprendizaje automático basados en inferencias inductivas. Como

2. Random forests

Bootstraping con distintas combinaciones de predictores (m de p). Es, pues, un tipo de bagging en el que m < p.

m=√p para los árboles de clasificación y m=p/3 para los de regresión (redondeo hacia arriba), aunque el comando tuneRF del paquete randomForest permite hallar el valor óptimo de m de forma automática

La utilización de distintas combinaciones de predictores hace que los árboles sean más diversos. El meta-algoritmo resultante recoge así toda la información útil contenida en el conjunto completo de predictores disponibles, lo cual es especialmente importante cuando hay colinealidad entre variables.

El error (debido a la varianza) de la mayoría de los árboles será mayor que el de un solo árbol no aleatorio (especialmente porque el RF utiliza árboles complejos), pero esto queda compensado por la disminución que resulta del promedio.

Ejemplo práctico 9. Programación de un Bootstrap. Script CLiMod: El mismo objetivo que en el ejemplo 8, pero usando como test datos inmunes a la autocorrelación espacial similares a los del ejemplo 7.

Ejemplo práctico 10. Bootstrap (bagging) con el paquete ipred. Script CLiMod, Objetivo y datos test igual que en el ej 9.

Page 26: Algoritmos de aprendizaje automático basados en árboles ...lmcarrascal.eu/pdf/machlearn.pdf · Son algoritmos de aprendizaje automático basados en inferencias inductivas. Como

- Importancia para las variables: El comando varImpPlot() representa dos rankings distintos de importancia para las variables: Para regresión, ofrece dos criterios distintos:

Algoritmo de caja gris

1. Incremento relativo del error cuadrado medio (% IncMSE) cuando los valores de la variable se permutan.

2. Disminución total de la impureza de los nodos (IncNodePurity), obtenida a partir de la media de todos los árboles en los que participa la variable.

Para árboles de clasificación, la importancia de las variables viene dada 1) por la reducción del error medio (MeanDecreaseAccuracy), que se calcula de la misma forma que %IncMSE, pero con el número de errores de clasificación, y 2) la reducción de la impureza de los nodos (MeanDecreaseGini ), calculada a partir del índice Gini.

Page 27: Algoritmos de aprendizaje automático basados en árboles ...lmcarrascal.eu/pdf/machlearn.pdf · Son algoritmos de aprendizaje automático basados en inferencias inductivas. Como

- Dependencia parcial: La dependencia parcial de un predictor es su relación con la variable respuesta, promediando el efecto de los otros predictores. Lo que queda es el efecto marginal de dicho predictor sobre la variable respuesta.

Viene a ser el equivalente a la información que aportan los coeficientes de correlación en los modelos de regresión, pero para cada uno de los valores en los que se mueve el predictor. Cuanto mayor sea la dependencia parcial para un predictor (en un determinado rango), mayor es su efecto positivo (para ese rango) sobre la variable respuesta.

Page 28: Algoritmos de aprendizaje automático basados en árboles ...lmcarrascal.eu/pdf/machlearn.pdf · Son algoritmos de aprendizaje automático basados en inferencias inductivas. Como

3. Boosted trees para regresión y clasificación

Genera numerosos modelos utilizando un proceso iterativo y secuencial, que continúa agregando algoritmos de aprendizaje hasta que se alcanza un número límite o cierto grado de precisión.

La clave está en que, para cada nuevo modelo que se entrena, se le da un peso mayor a las muestras mal clasificadas por el anterior. Para hacer esto, los algoritmos de boosting tratan de minimizar una función de pérdida (como la devianza), eligiendo en cada paso el árbol que más la reduce. Con esto se reduce principalmente el sesgo.

Existen distintos algoritmos de boosting, tales como Gradient Boosting, XGBoost, AdaBoost o Gentle Boost.

Ejemplo práctico 11. Aplicación de Random forests para regresión

Page 29: Algoritmos de aprendizaje automático basados en árboles ...lmcarrascal.eu/pdf/machlearn.pdf · Son algoritmos de aprendizaje automático basados en inferencias inductivas. Como

Ejemplo práctico 13. Aplicación de AdaBoost (AdaptativeBoosting) para clasificación a un ejemplo muy sencillo (ficticio) de un modelo predictivo de distribución de especies.

La ponderación se hace de tal forma que la mitad del peso total se asigna a las muestras mal clasificadas, y la otra mitad al resto. Eso hace que el factor de ponderación de las mal clasificadas sea > 1 y el de las clasificadas correctamente < 1. Si ε es la tasa de error, para que el peso total se mantenga constante (10 en este caso), el factor de ponderación será:

Pred (+) Pred (-)

Obs (+) 2 3 5

Obs (-) 0 5 5

2 8 10

Cada una de las 3 presencias, que fueron clasificadas incorrectamente como ausencias, multiplica su peso por 5/3, por lo que las 3 juntas pasan de pesar 3 a pesar 5. Las 2 presencias correctamente clasificadas pasan a pesar 5/7 cada una (10/7 entre las dos) y las 5 ausencias, bien clasificadas como tal, su peso pasa de 1 a 5/7 (25/7 entre las 5).

Bien clasificadas

Pesos finales de cada sector para el 2º árbol

Para clasificar finalmente las muestras, se combinan todos los árboles. Las muestras son clasificadas como +1 o -1. Si la suma de las predicciones es positiva, se clasifican como +, y si es negativa, como -. En bagging se sumaban los votos, pero boosted asigna a cada árbol un factor de confianza que hace que los clasificadores con menor error ε tienen un mayor peso. Por ejemplo, 5 árboles pueden predecir: 1, 1, -1, 1 y -1. Sin ponderación, el resultado sería +. Con ponderación 0.2, 0.5, 0.8, 0.2 y 0.9, el resultado sería -0.8, y por lo tanto - .

- AdaBoost

(+) (-)

(+) 10/7 5 45/7

(-) 0 25/7 25/7

10/7 60/7 10

Error

Mal clasificadas

Para ponderar las muestras después de ser clasificadas por el segundo árbol, no se parte de los valores iniciales, sino de los de la segunda tabla. El proceso se detiene cuando la tasa de error ε se hace 0.

Resultados para el primer árbol

Page 30: Algoritmos de aprendizaje automático basados en árboles ...lmcarrascal.eu/pdf/machlearn.pdf · Son algoritmos de aprendizaje automático basados en inferencias inductivas. Como

- Gradient Boosting

Se puede aplicar tanto con árboles de clasificación como regresión, que se generan de forma normal, a partir de la pureza o la suma de errores cuadrados.

Al ir añadiendo nuevos árboles, en vez de reducirse el error, como en AdaBoost, se optimiza una función de pérdida (que puede incluso ser definida por el usuario) en la que se produce un gradiente descendiente (gradient descent).

Se agrega una cantidad fija de árboles, o el entrenamiento se detiene cuando la pérdida alcanza un nivel aceptable o ya no mejora al aplicarse a un conjunto de datos de validación externa.

El Gradient Boosting ha ido siendo mejorado, fundamentalmente para evitar el sobreajuste, permitiendo restringir el crecimiento de los árboles. Cuanto más simples son, mayor es su número óptimo y más lento el aprendizaje. La contribución de cada árbol añadido puede ponderarse para ralentizar el aprendizaje. Esta ponderación se hace con la tasa de aprendizaje.

Gradient Boosting estocástico

Combina el boosting con el bagging, es decir, toma distinta combinación de muestras para entrenar cada árbol. Se han diseñado meta-algoritmos de boosting que además, utilizan distintas combinaciones de predictores, tal y como hacen los Random Forests.

Page 31: Algoritmos de aprendizaje automático basados en árboles ...lmcarrascal.eu/pdf/machlearn.pdf · Son algoritmos de aprendizaje automático basados en inferencias inductivas. Como

Ejemplo práctico 14. Gradient Boosting para clasificación binomial (con los paquetes dismo y gbm. Script Human Impact: De 8900 comunidades de zonas frías y templadas, menos de un 10% están depauperadas. El objetivo es determinar si guarda relación con 6 factores de impacto humano: densidad de población + porcentaje de 5 tipos de uso de suelo: vegetación primaria y secundaria, pasto, cultivo y urbano.

Test inicial

Con una tasa de aprendizaje (learning.rate) de 0.01, Nºóptimo de árboles: 400 (demasiado bajo). Con 0.005: 850 (todavía insuficiente).

Se pueden probar distintas combinaciones de tasa de aprendizaje (learning.rate) , complejidad (tree.complexity) y nº de divisiones (n.folds) para la VC , y comparar tanto el nº de árboles como los valores de devianza mínima alcanzada por VC, que es el mejor parámetro con el que comparar la calidad de los modelos.

Page 32: Algoritmos de aprendizaje automático basados en árboles ...lmcarrascal.eu/pdf/machlearn.pdf · Son algoritmos de aprendizaje automático basados en inferencias inductivas. Como

cropland 25.66648

Hmpop 23.06342

SecLand 14.33061

PrimLand 13.76251

pasture 13.06563

urban 10.11136

media AUC de crossvalidación: 0.896, con una sd de 0.005

Resultados

Con una tasa de de aprendizaje de 0.0025, el nº óptimo de árboles fue de 1850 (más que suficiente). La mínima devianza optenida por VC es de 0.375. Estos resultados se obtuvieron con una complejidad (tree.complexity) de un máximo nº de nodos igual a 40 (el máximo es 50), que toma bastante tiempo, pero dio mejores resultados.

Page 33: Algoritmos de aprendizaje automático basados en árboles ...lmcarrascal.eu/pdf/machlearn.pdf · Son algoritmos de aprendizaje automático basados en inferencias inductivas. Como