Bosques aleatorios y selección de arquitecturas

Completado

La experimentación con arquitecturas suele centrarse en la creación de modelos modernos eficaces. Y así lo hemos hecho a un nivel básico con árboles de decisión, pero el único límite es nuestra imaginación y, quizás, la memoria del equipo. De hecho, considerar los árboles de decisión desde una perspectiva más amplia dio lugar a una arquitectura de modelos muy conocida que reduce la tendencia de sus árboles de decisión a sobreajustar los datos.

¿Qué es un bosque aleatorio?

Un bosque aleatorio es una colección de árboles de decisión que se usan juntos para calcular qué etiqueta se debe asignar a una muestra. Por ejemplo, si entrenamos un bosque aleatorio para predecir los medallistas, podríamos entrenar 100 árboles de decisión diferentes. Para realizar una predicción, usaríamos todos los árboles de forma independiente. De hecho, "votarían" si el atleta ganaría una medalla, lo que proporciona una decisión final.

¿Cómo se entrena un bosque aleatorio?

Los bosques aleatorios se construyen sobre la idea de que, aunque un único árbol de decisión esté muy sesgado o sobreajustado, si entrenamos varios árboles de decisión, se sesgarán de maneras diferentes. Para ello, es necesario que cada árbol se entrene por separado y en un conjunto de entrenamiento ligeramente diferente.

Para entrenar un único árbol de decisión, se extrae un determinado número de muestras (atletas en nuestro escenario) del conjunto de entrenamiento completo. Cada muestra se puede seleccionar más de una vez y esta operación se realiza aleatoriamente. A continuación, el árbol se entrena de la manera estándar. Este proceso se repite con cada árbol. A medida que cada árbol obtiene una combinación diferente de ejemplos de entrenamiento, termina entrenado y sesgado, de forma diferente a los otros.

Ventajas del bosque aleatorio

El rendimiento de los bosques aleatorios suele ser impresionante, por lo que suele ser mejor compararlos con las redes neuronales, que son otro tipo de modelo conocido y de alto rendimiento. A diferencia de las redes neuronales, los modelos de bosque aleatorio son fáciles de entrenar: los marcos modernos proporcionan métodos útiles que permiten hacerlo en solo unas pocas líneas de código. Los bosques aleatorios también son rápidos de entrenar y no necesitan grandes conjuntos de datos para funcionar bien. Esto los diferencia de las redes neuronales, que a menudo pueden tardar minutos o días en entrenarse, se necesita una experiencia considerable y, normalmente, requieren conjuntos de datos muy grandes. Las decisiones de arquitectura de los bosques aleatorios si bien son más complejas que las de los modelos, como es el caso de la regresión lineal, son mucho más sencillas que las de las redes neuronales.

Desventajas del bosque aleatorio

La desventaja principal de los bosques aleatorios es que son difíciles de comprender. En concreto, aunque estos modelos son totalmente transparentes (cada árbol se puede inspeccionar y entender), a menudo contienen tantos árboles que resulta prácticamente imposible hacerlo.

¿Cómo puedo personalizar estas arquitecturas?

Al igual que hay varios modelos, los bosques aleatorios tienen varias opciones de arquitectura. Lo más fácil es tener en cuentas el tamaño del bosque: el número de árboles que intervienen, junto con el tamaño de estos árboles. Por ejemplo, se podría solicitar a un bosque que predijera los medallistas que contengan 100 árboles, cada uno con una profundidad máxima de seis nodos. Esto significa que la decisión final sobre si un atleta va a conseguir una medalla se debe tomar con no más de seis instrucciones "if".

Como ya hemos aprendido, aumentar el tamaño de un árbol (en términos de profundidad o número de hojas) hace que sea más probable que se sobreajusten los datos en los que se basa el entrenamiento. Esta limitación también se aplica a los bosques aleatorios. Sin embargo, con los bosques aleatorios podemos hacer frente a ella aumentando el número de árboles, suponiendo que cada árbol se sesgue de una manera diferente. También se puede restringir cada árbol a solo un número determinado de características, o no permitir la creación de hojas cuando solo haya una diferencia marginal en el rendimiento del entrenamiento. La capacidad de un bosque aleatorio para realizar buenas predicciones no es infinita. En algún momento, aumentar el tamaño y el número de árboles no ofrece ninguna mejora adicional debido a la variedad limitada de datos de entrenamiento de los que disponemos.