asegurar que los modelos se diversifiquen entre sí
entonces, ¿Cómo garantiza random forest que el comportamiento de cada árbol individual no esté demasiado correlacionado con el comportamiento de cualquiera de los otros árboles en el modelo? Utiliza los siguientes dos métodos:
embolsado (agregación de Bootstrap) — los árboles de decisiones son muy sensibles a los datos en los que se entrenan-pequeños cambios en el conjunto de entrenamiento pueden resultar en estructuras de árboles significativamente diferentes., Random forest aprovecha esto al permitir que cada árbol individual tome muestras aleatoriamente del conjunto de datos con reemplazo, lo que resulta en diferentes árboles. Este proceso se conoce como embolsado.
tenga en cuenta que con el embolsado no estamos subconjuntando los datos de entrenamiento en trozos más pequeños y entrenando cada árbol en un trozo diferente. Más bien, si tenemos una muestra de tamaño N, Todavía estamos alimentando a cada árbol con un conjunto de entrenamiento de tamaño N (A menos que se especifique lo contrario). Pero en lugar de los datos de entrenamiento originales, tomamos una muestra aleatoria de tamaño N con reemplazo., Por ejemplo, si nuestros datos de entrenamiento lo fueran, podríamos darle a uno de nuestros árboles la siguiente lista . Observe que ambas listas son de longitud seis y que «2 «y» 6 » se repiten en los datos de entrenamiento seleccionados al azar que damos a nuestro árbol (porque muestreamos con reemplazo).
aleatoriedad de características — en un árbol de decisiones normal, cuando es el momento de dividir un nodo, consideramos todas las características posibles y elegimos la que produce la mayor separación entre las observaciones en el nodo izquierdo frente a las del nodo derecho. Por el contrario, cada árbol de un bosque Aleatorio solo puede elegir de un subconjunto aleatorio de entidades. Esto obliga a una mayor variación entre los árboles en el modelo y, en última instancia, resulta en una menor correlación entre los árboles y una mayor diversificación.,
veamos un ejemplo visual — en la imagen de arriba, el árbol de decisión tradicional (en azul) puede seleccionar entre las cuatro características al decidir cómo dividir el nodo. Decide ir con la característica 1 (negro y subrayado), ya que divide los datos en grupos que están lo más separados posible.
ahora echemos un vistazo a nuestro bosque Aleatorio. Solo examinaremos dos de los árboles del bosque en este ejemplo. Cuando revisamos random forest Tree 1, encontramos que solo puede considerar las características 2 y 3 (seleccionadas aleatoriamente) para su decisión de división de nodos., Sabemos por nuestro árbol de decisiones tradicional (en azul) que la característica 1 es la mejor característica para dividir, pero el árbol 1 no puede ver la característica 1, por lo que se ve obligado a ir con la característica 2 (negro y subrayado). El árbol 2, por otro lado, solo puede ver las características 1 y 3, por lo que puede elegir la característica 1.
así que en nuestro bosque Aleatorio, terminamos con árboles que no solo están entrenados en diferentes conjuntos de datos (gracias al embolsado) sino que también utilizan diferentes características para tomar decisiones.,
y eso, mi querido lector, crea árboles no correlacionados que se protegen entre sí de sus errores.
conclusión
Los bosques aleatorios son uno de mis favoritos. Viniendo del mundo de las finanzas y las inversiones, el santo grial siempre fue construir un montón de modelos no correlacionados, cada uno con un retorno esperado positivo, y luego ponerlos juntos en una cartera para ganar Alfa masiva (Alfa = rentabilidad de mercado). ¡Mucho más fácil decirlo que hacerlo!
Random forest es el equivalente de ciencia de datos de eso. Repasemos por última vez., ¿Qué es un clasificador de bosque Aleatorio?
El Bosque aleatorio es un algoritmo de clasificación que consiste en muchos árboles de decisiones. Utiliza ensacado y aleatoriedad de características al construir cada árbol individual para tratar de crear un bosque de árboles no correlacionados cuya predicción por el Comité es más precisa que la de cualquier árbol individual.
¿Qué necesitamos para que nuestro bosque ALEATORIO haga predicciones de clase precisas?
- necesitamos características que tengan al menos algún poder predictivo., Después de todo, si ponemos basura, sacaremos la basura.
- Los árboles del bosque y, lo que es más importante, sus predicciones deben estar no correlacionadas (o al menos tener correlaciones bajas entre sí). Mientras que el propio algoritmo a través de la aleatoriedad de características intenta diseñar estas correlaciones bajas para nosotros, las características que seleccionamos y los hiper-parámetros que elegimos también afectarán las correlaciones finales.
Gracias por leer. Espero que hayas aprendido tanto de leer esto como yo de escribirlo. ¡Salud!