tl; dr;
Fácil de entrenar, reduce el sobreajuste, funcionará realmente bien en modo conjunto.
Versión más larga
- Cómo reducir la dimensionalidad en la agrupación promedio global para que coincida con el tamaño de softmax
- ¿Debo aprender a desarrollar backend si quiero ser ingeniero de aprendizaje automático?
- Cómo comenzar con el aprendizaje de múltiples núcleos
- ¿Dónde puedo encontrar los mejores tutoriales de aprendizaje automático como principiante?
- ¿Qué es el código de máquina?
Buena pregunta. Hay dos puntos para la respuesta.
a) ¿Por qué entrenar un modelo simple cuando puede fácilmente (suponiendo que tiene el poder de cálculo) entrenar uno más complejo?
b) Embolsado y todo el punto de promediar cosas.
Asi que,
a) ¿Por qué entrenar un modelo simple?
Ha identificado correctamente el problema con la falta de equipamiento. Entrena un modelo simple, no puede modelar la hipótesis “correcta”, por lo tanto, tiene un alto sesgo.
Sin embargo, no has considerado el otro extremo. ¡Usted entrena un modelo muy complejo que “aprende” los datos de entrenamiento realmente bien! La clave aquí es la palabra “aprender”. El propósito de ML es generalizar, no memorizar. Esto es quizás lo más importante que aprenderás en ML. Siempre, siempre intente crear un modelo que no tenga como objetivo memorizar los datos de entrenamiento.
Ahora, con un modelo muy complejo, obtendrá muy buenas curvas de relaciones públicas en los datos de entrenamiento. Sin embargo, el modelo podría no funcionar bien en un conjunto de datos de prueba no visto. Esto se llama sobreajuste y produce una gran variación.
¿Por qué sobreajustar en primer lugar?
A) Los datos pueden ser ruidosos, y este suele ser el caso en los conjuntos de datos de la vida real, y el modelo aprende sobre el ruido.
B) El modelo aprende sobre un conjunto muy específico de características. Imagine un árbol de decisión de 1000 niveles que fue entrenado para aprender sobre algunos ejemplos muy específicos. Al igual que un 1000 si, de lo contrario, las condiciones de perforación hasta un punto muy fino. ¡El nodo hoja final podría terminar teniendo solo un punto de datos que lo respalde!
¿Serviría esto bien en un conjunto de datos de entrenamiento? ¡Absolutamente! Aprendió a discriminar basándose en un detalle muy fino en el conjunto de datos.
¿Serviría esto bien en un conjunto de datos de prueba? Probablemente tenga en cuenta! Su modelo podría saber qué hacer en escenarios que no ha visto antes.
¿Cómo arreglas esto?
¡Pode el árbol!
Construya el árbol completo y pode o deje de ramificarse después de cierto punto. Los criterios de poda podrían ser “Continuar construyendo el árbol solo si el nodo actual tiene al menos n puntos de datos que lo soportan”.
Esta es la idea detrás de los tocones de decisión.
Image src: Statistics – Bias-varnce trade-off-trade (between overfitting and underfitting)
Imagen fascinante, ¿no?
B) ensacado
Los tocones de decisión a menudo se usan en modelos de conjunto. El bosque aleatorio es un ejemplo de algoritmo de conjunto.
Imagine que tiene una persona que tiene un conocimiento limitado de un tema. Ahora, si le hace a esta persona una pregunta de Sí / No sobre el tema, hay muchas posibilidades de que se equivoque.
Pero imagina que tienes 1000 personas cada una con un conocimiento limitado del tema. Usted les hace la misma pregunta y digamos 800 con Sí y 200 con No. Usted estaría más inclinado a confiar en esta respuesta ya que ha tenido un voto mayoritario. ¿Una persona puede estar equivocada, pero 1,000 personas? Hay una buena posibilidad de que obtenga la respuesta correcta. Por supuesto, filosóficamente hablando, todos podrían estar equivocados. 🙂
De todos modos, eso es lo que haces en el embolsado. ¡Usted entrena a un grupo de estudiantes “débiles” y juntos aprenden a predecir la verdad!
Se vuelve aún más interesante con los algoritmos Boosting (GBT y demás), donde en cada iteración construyes un nuevo alumno que aprende sobre los errores anteriores, en función de una función de pérdida.