Un bosque aleatorio es un algoritmo de machine learning de uso común, registrado por Leo Breiman y Adele Cutler, que combina la salida de varios árboles de decisiones para alcanzar un resultado único. Su facilidad de uso y su flexibilidad han impulsado su adopción, ya que permite manejar problemas de clasificación y regresión.
Como el modelo de bosque aleatorio se compone de varios árboles de decisiones, será útil empezar describiendo brevemente el algoritmo de árbol de decisiones. Los árboles de decisiones empiezan por una pregunta básica como, por ejemplo, "¿Debería hacer surf?". A partir de ahí, puede hacer una serie de preguntas para determinar una respuesta, por ejemplo, "¿Es un oleaje de período largo?", o "¿El viento sopla mar adentro?". Estas preguntas componen los nodos de decisión del árbol y actúan como un medio para dividir los datos. Cada pregunta ayuda a una persona a llegar a una decisión final, que se denotará con el nodo de hoja. Las observaciones que cumplan los criterios seguirán la rama del "Sí", y las que no, seguirán la rama alternativa. Los árboles de decisiones buscan encontrar la mejor división para un subconjunto de los datos, y se entrenan típicamente mediante el algoritmo del Árbol de clasificación y regresión (CART). Las métricas, como la impureza Gini, la ganancia de información o el error cuadrático promedio (MSE), se pueden usar para evaluar la calidad de la división.
Este árbol de decisiones es un ejemplo de un problema de clasificación, donde las etiquetas de clase son "hacer surf" y "no hacer surf".
Aunque los árboles de decisiones son algoritmos de aprendizaje supervisado comunes, pueden ser propensos a presentar problemas como, por ejemplo, sesgos y sobreajustes. Sin embargo, cuando varios árboles de decisiones forman un conjunto en el algoritmo de bosque aleatorio, pronostican resultados más precisos, especialmente cuando los árboles individuales no están correlacionados entre sí.
Los métodos de aprendizaje de conjunto se componen de un grupo de clasificadores, por ejemplo, árboles de decisiones, y sus predicciones se agregan para identificar el resultado más popular. Los métodos de conjunto más conocidos son la agregación autodocimante, también conocida como agregación de programa de arranque, y el aumento. En 1996, Leo Breiman (enlace externo a ibm.com) (PDF, 810 KB) presentó el método de agregación autodocimante. En este método, se selecciona una muestra aleatoria de datos en un conjunto de entrenamiento con sustitución, lo que significa que los puntos de datos individuales pueden elegirse más de una vez. Tras generar varias muestras de datos, estos modelos se entrenan de forma independiente, y en función del tipo de tarea —regresión o clasificación—, el promedio o la mayoría de estas predicciones genera una estimación más precisa. Esto se usa comúnmente para reducir la varianza dentro de un conjunto de datos ruidoso.
El algoritmo de bosque aleatorio es una ampliación del método de agregación autodocimante, ya que utiliza la agregación autodocimante y la aleatoriedad de características para crear un bosque no correlacionado de árboles de decisiones. La aleatoriedad de características, también denominada agregación autodocimante de características o "método de subespacio aleatorio" (enlace externo a ibm.com) (PDF, 121 KB), genera un subconjunto aleatorio de características, lo que garantiza una baja correlación entre los árboles de decisiones. Se trata de una diferencia clave entre los árboles de decisiones y los bosques aleatorios. Mientras que los árboles de decisiones consideran todas las posibles divisiones de características, los bosques aleatorios solo seleccionan un subconjunto de esas características.
Si volvemos al ejemplo del "¿Debería hacer surf?", puede que las preguntas que puedo hacer para determinar la predicción no sean tan completas como la serie de preguntas de otra persona. Si tenemos en cuenta toda la posible variabilidad en los datos, podemos reducir el riesgo de sobreajuste, sesgo y varianza general, lo que da como resultado predicciones más precisas.
SPSS Modeler
Los algoritmos de bosque aleatorio tienen tres hiperparámetros principales, que deben establecerse antes del entrenamiento. Estos son el tamaño de nodo, el número de árboles y el número de características muestreadas. A partir de aquí, se puede utilizar el clasificador de bosque aleatorio para resolver problemas de regresión o clasificación.
El algoritmo de bosque aleatorio se compone de una colección de árboles de decisiones, y cada árbol del conjunto se compone de una muestra de datos extraída de un conjunto de entrenamiento con sustitución, que se denomina muestra de programa de arranque. De esa muestra de entrenamiento, un tercio se establece aparte como datos de prueba, lo que se conoce como la muestra OOB (Out-Of-Bag), a la que volveremos más adelante. A continuación, se inyecta otra instancia de aleatoriedad a través de la agregación autodocimante de características, lo que añade más diversidad al conjunto de datos y reduce la correlación entre los árboles de decisiones. Dependiendo del tipo de problema, la determinación de la predicción variará. Para una tarea de regresión, los árboles de decisiones individuales se promediarán y, para una tarea de clasificación, un voto mayoritario (por ejemplo, la variable categórica más frecuente) dará como resultado la clase pronosticada. Por último, se utiliza la muestra OOB para la validación cruzada, lo que finaliza la predicción.
Podemos destacar una serie de ventajas y desafíos que presenta el algoritmo de bosque aleatorio cuando se utiliza para problemas de clasificación o regresión. Algunos de ellos incluyen:
El algoritmo de bosque aleatorio se ha aplicado en distintos sectores, lo que les ha permitido mejorar la toma de decisiones empresariales. Entre los casos de uso destacamos:
IBM® SPSS Modeler proporciona analítica predictiva para ayudar a descubrir patrones de datos, ganar precisión predictiva y mejorar la toma de decisiones.
Descubra cómo organizaciones de todo el mundo utilizan SPSS Modeler para la preparación y el descubrimiento de datos, la analítica predictiva, la gestión de modelos y el despliegue, y machine learning para monetizar activos de datos.
Descubra cómo una red neuronal cuidadosamente diseñada con una estructura de bosque aleatorio puede ofrecer una mejor capacidad de generalización.