Los conceptos y diferencias entre Bagging y Boosting
Random Forest es un algoritmo de embolsado en Ensemble Learning. En el aprendizaje conjunto, se divide principalmente en algoritmo de embolsado y algoritmo de impulso. Veamos primero las características y diferencias de estos dos métodos.
Embolsado (método de embolsado)
El proceso del algoritmo de embolsado es el siguiente:
Utilice el método Bootstraping para seleccionar aleatoriamente n muestras de entrenamiento del conjunto de muestras original. , *** Realiza k rondas de extracción para obtener k conjuntos de entrenamiento. (K conjuntos de entrenamiento son independientes entre sí y los elementos se pueden repetir)
Para k conjuntos de entrenamiento, entrenamos k modelos (estos k modelos se pueden determinar de acuerdo con problemas específicos, como árboles de decisión, knn etc.)
Para problemas de clasificación: los resultados de clasificación se generan mediante votación; para problemas de regresión: la media de los resultados de predicción de k modelos se utiliza como resultado de predicción final. (Todos los modelos tienen la misma importancia)
Impulsar
El proceso del algoritmo de impulso es el siguiente:
Establecer un peso para cada muestra en el conjunto de entrenamiento wi , representa la atención prestada a cada muestra. Cuando la probabilidad de que una muestra se clasifique erróneamente es muy alta, es necesario aumentar el peso de la muestra.
Durante el proceso de iteración, cada iteración es un clasificador débil. Necesitamos utilizar alguna estrategia para combinarlos como modelo final. (Por ejemplo, AdaBoost le da un peso a cada clasificador débil y los combina linealmente en el clasificador final. Cuanto menor es el error, mayor es el peso del clasificador débil)
La principal diferencia entre Bagging y Boosting p> p>
Selección de muestra: Bagging utiliza muestreo aleatorio Bootstrap con reemplazo, mientras que el conjunto de entrenamiento de Boosting permanece sin cambios en cada ronda, y solo cambia el peso de cada muestra.
Peso de la muestra: el embolsado utiliza un muestreo uniforme y cada muestra tiene el mismo peso; Boosting ajusta el peso de la muestra de acuerdo con la tasa de error. Cuanto mayor es la tasa de error, mayor es el peso de la muestra.
Función de predicción: todas las funciones de predicción en Bagging tienen pesos iguales; en Boosting, cuanto menor es el error, mayor es el peso de la función de predicción.
Computación paralela: cada función de predicción de Bagging se puede generar en paralelo; cada función de predicción de Boosting debe generarse iterativamente en secuencia.
El siguiente es un nuevo algoritmo obtenido combinando árboles de decisión con estos marcos de algoritmos:
1) Bagging + Árbol de decisión = Bosque aleatorio
2) AdaBoost + Árbol de decisión = Árbol impulsado
3) Aumento de gradiente + Árbol de decisión = GBDT
Árbol de decisión
Los algoritmos de árbol de decisión más utilizados incluyen ID3 y C4.5, CART tres tipos. Las ideas de construcción del modelo de los tres algoritmos son muy similares, pero utilizan indicadores diferentes.
El proceso de construcción del modelo de árbol de decisión es aproximadamente el siguiente:
Generación de árboles de decisión ID3, C4.5
Entrada: conjunto de entrenamiento D, conjunto de características A, umbral eps Salida: árbol de decisión T
Si todas las muestras en D pertenecen a la misma clase Ck, entonces T es un árbol de un solo nodo, la clase Ck se usa como la etiqueta de clase del nodo y se devuelve T.
Si A es un conjunto vacío, es decir, si no hay ninguna característica como base para la división, T es un árbol de un solo nodo y la clase Ck con el mayor número de instancias en D se utiliza como marca de clase del nodo y se devuelve T
. De lo contrario, calcule la relación entre cada característica en A y D Ganancia de información (ID3)/relación de ganancia de información (C4.5), seleccione la característica Ag con. la mayor ganancia de información
Si la ganancia de información (proporción) de Ag es menor que el umbral eps, establezca T como un árbol de un solo nodo y use la clase Ck con el mayor número de instancias en D como la etiqueta de clase del nodo y devuelve T
De lo contrario, divida D en varios subconjuntos Di no vacíos de acuerdo con la característica Ag, y use la clase con el mayor número de instancias en Di como Mark, construya subnodos, y forma un árbol T a partir del nodo y sus subnodos, devuelve T
Para el i-ésimo subnodo, use Di como conjunto de entrenamiento y A-{Ag} como conjunto de entrenamiento. conjunto de características, llame recursivamente a 1 ~ 5 para obtener el subárbol Ti y devolver Ti
Generación del árbol de decisión CART
Aquí solo presentamos brevemente las diferencias entre CART, ID3 y C4.5.
El árbol CART es un árbol binario, mientras que ID3 y C4.5 pueden ser árboles múltiples.
Cuando CART genera un subárbol, selecciona una característica y un valor como división. punto para generar dos subárboles
La base para seleccionar características y puntos de corte es el índice de Gini. Seleccione la característica y el punto de corte con el índice de Gini más pequeño para generar un subárbol.
Poda de decisión. árboles
La poda de árboles de decisión es principalmente para evitar el sobreajuste, y el proceso no se presentará en detalle.
La idea principal es rastrear hacia arriba desde el nodo hoja, intentar podar un nodo y comparar el valor de la función de pérdida del árbol de decisión antes y después de la poda. Finalmente, podemos obtener el plan de poda globalmente óptimo a través de programación dinámica (árbol dp, acmer debería entenderlo).
Bosques aleatorios
Random Forest es un importante método de aprendizaje conjunto basado en embolsado que se puede utilizar para clasificación, regresión y otros problemas.
Obviamente no es aconsejable utilizar muestras completas para entrenar árboles de decisión. El entrenamiento de muestras completas ignora las leyes de las muestras locales y es perjudicial para la capacidad de generalización del modelo.
Bosques aleatorios. tiene muchas ventajas:
Precisión extremadamente alta
La introducción de la aleatoriedad hace que los bosques aleatorios sean menos propensos a sobreajustarse
La introducción de la aleatoriedad, el bosque aleatorio tiene un buen anti- capacidad de ruido
Puede manejar datos de muy altas dimensiones sin selección de características
Puede manejar tanto datos discretos como continuos, el conjunto de datos no necesita ser normalizado
La velocidad de entrenamiento es rápida y se puede obtener la clasificación de importancia de la variable
Paralelización fácil de implementar
Desventajas del bosque aleatorio:
Cuando hay un Si hay una gran cantidad de árboles de decisión en el bosque aleatorio, el espacio y el tiempo requeridos para el entrenamiento serán mayores
Todavía hay muchas cosas que son difíciles de explicar en el modelo de bosque aleatorio, y es un poco complicado. modelo de caja negra
Similar al proceso de embolsado presentado anteriormente, el proceso de construcción del bosque aleatorio es aproximadamente el siguiente:
Utilice el método Bootstrapping para seleccionar aleatoriamente m muestras con muestreo de reemplazo de el conjunto de entrenamiento original, *** Realice un muestreo de n_tree y genere n_tree conjuntos de entrenamiento
Para conjuntos de entrenamiento de n_tree, entrenamos modelos de árbol de decisión de n_tree respectivamente
Para un modelo de árbol de decisión único, se supone que las características de la muestra de entrenamiento El número es n, luego, cada vez que se divide el árbol, se seleccionan las mejores características para dividir en función de la relación de ganancia de información/ganancia de información/índice de Gini
Cada árbol Continúe dividiéndose de esta manera hasta que todas las muestras de entrenamiento del nodo pertenezcan a la misma categoría.
No es necesario podar durante el proceso de división del árbol de decisión
Los múltiples árboles de decisión generados se componen en un bosque aleatorio. Para problemas de clasificación, el resultado final de la clasificación se determina votando entre múltiples clasificadores de árboles; para problemas de regresión, el resultado final de la predicción se determina mediante la media de los valores predichos de múltiples árboles;