El bosque aleatorio es un algoritmo de machine learning de uso común, marca registrada de Leo Breiman y Adele Cutler, que combina el output de múltiples árboles de decisión para llegar a un único resultado. Su facilidad de uso y flexibilidad han impulsado su adopción, ya que maneja tanto problemas de clasificación como de regresión.
Dado que el modelo de bosque aleatorio se compone de múltiples árboles de decisión, sería útil empezar describiendo brevemente el algoritmo del árbol de decisión. Los árboles de decisión empiezan con una pregunta básica, como: "¿Debería hacer surf?". A partir de ahí, puede formular una serie de preguntas para determinar una respuesta, como: "¿Es un oleaje de largo periodo?" o: "¿El viento sopla mar adentro?". Estas preguntas constituyen los nodos de decisión del árbol y sirven para dividir los datos. Cada pregunta ayuda a un individuo a llegar a una decisión final, que vendría denotada por el nodo hoja. Las observaciones que se ajusten a los criterios seguirán el ramal "sí" y las que no, el camino alternativo. Los árboles de decisión tratan de encontrar la mejor división para subdividir los datos, y suelen entrenarse mediante el algoritmo de árbol de clasificación y regresión (CART). Para evaluar la calidad de la división pueden utilizarse parámetros como la impureza de Gini, la ganancia de información o el error cuadrático medio (MSE).
Este árbol de decisión es un ejemplo de un problema de clasificación, en el que las etiquetas de clase son "surfear" y "no surfear".
Aunque los árboles de decisión son algoritmos habituales de aprendizaje supervisado, pueden ser propensos a problemas como el sesgo y el sobreajuste. Sin embargo, cuando varios árboles de decisión forman un conjunto en el algoritmo de bosque aleatorio, predicen resultados más precisos, sobre todo cuando los árboles individuales no están correlacionados entre sí.
Los métodos de aprendizaje por conjuntos se componen de un conjunto de clasificadores (p. ej., árboles de decisión) y sus predicciones se agregan para identificar el resultado más popular. Los métodos de conjunto más conocidos son el bagging o embolsado, también conocido como agregación bootstrap, y el boosting. En 1996, Leo Breiman (enlace externo a ibm.com) introdujo el método bagging; en este método, se selecciona una muestra aleatoria de datos de un conjunto de entrenamiento con reemplazo, lo que significa que los puntos de datos individuales pueden elegirse más de una vez. Después de generar varias muestras de datos, estos modelos se entrenan de forma independiente y según el tipo de tarea, es decir, regresión o clasificación: el promedio o la mayoría de esas predicciones producen una estimación más precisa. Este método suele utilizarse para reducir la varianza en un conjunto de datos ruidoso.
El algoritmo de bosque aleatorio es una extensión del método bagging, puesto que utiliza tanto el bagging como la aleatoriedad de las características para crear un bosque no correlacionado de árboles de decisión. La aleatoriedad de las características, también conocida como bagging de características o "método del subespacio aleatorio" (enlace externo a ibm.com), genera un subconjunto aleatorio de características, lo que garantiza una baja correlación entre los árboles de decisión. Esta es una diferencia clave entre los árboles de decisión y los bosques aleatorios. Mientras que los árboles de decisión consideran todas las posibles divisiones de características, los bosques aleatorios solo seleccionan un subconjunto de esas características.
Si volvemos al ejemplo de: "¿debería hacer surf?", es posible que las preguntas que yo formule para determinar la predicción no sean tan exhaustivas como el conjunto de preguntas de otra persona. Al tener en cuenta toda la variabilidad potencial de los datos, podemos reducir el riesgo de sobreajuste, sesgo y varianza general, lo que se traduce en predicciones más precisas.
Los algoritmos de bosque aleatorio tienen tres hiperparámetros principales, que deben establecerse antes del entrenamiento. Entre ellos están el tamaño de los nodos, el número de árboles y el número de características muestreadas. A partir de ahí, el clasificador de bosque aleatorio puede utilizarse para resolver problemas de regresión o clasificación.
El algoritmo de bosque aleatorio se compone de una colección de árboles de decisión, y cada árbol del conjunto se compone de una muestra de datos extraída de un conjunto de entrenamiento con reemplazo, denominada muestra bootstrap. De esa muestra de entrenamiento, un tercio se reserva como datos de prueba, lo que se conoce como muestra "fuera de la bolsa" o "out-of-bag" (oob), a la que volveremos más adelante. A continuación, se inyecta otra instancia de aleatoriedad a través del feature bagging, lo que añade más diversidad al conjunto de datos y reduce la correlación entre los árboles de decisión. Dependiendo del tipo de problema, la determinación de la predicción variará. Para una tarea de regresión, se promediarán los árboles de decisión individuales, y para una tarea de clasificación, un voto mayoritario (es decir, la variable categórica más frecuente) dará como resultado la clase predicha. Por último, la muestra oob se utiliza para la validación cruzada, finalizando esa predicción.
El algoritmo de bosque aleatorio presenta una serie de ventajas y retos clave cuando se utiliza para problemas de clasificación o regresión. Algunos de ellos son:
El algoritmo de bosque aleatorio se ha aplicado en numerosos sectores, lo que les ha permitido tomar mejores decisiones empresariales. Algunos casos de uso incluyen:
Entrene, valide, ajuste e implemente IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de nueva generación para desarrolladores de IA. Cree aplicaciones de IA en menos tiempo y con menos datos.
Ponga la IA a trabajar en su negocio con la experiencia líder en IA del sector de IBM y junto a su cartera de soluciones.
Reinvente las operaciones y flujos de trabajo críticos añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.