¡Gracias por A2A! Después de leer también las otras respuestas, diría que las formas de evitar el sobreajuste dependen del tipo de algoritmo de entrenamiento que se use y también del tipo de conjuntos de datos que tenga. Creo que los siguientes deberían ser los puntos importantes a considerar:
(1) Aprendizaje profundo (modelos basados en CNN, RNN, LSTM, etc.): la forma estándar aquí para evitar el sobreajuste es emplear un procedimiento de abandono durante el entrenamiento. Esto normalmente se incorpora de forma predeterminada en todas las definiciones de arquitectura de red que puede obtener en GitHub. Además, uno siempre emplea la regularización L2 sobre los pesos de la red durante el entrenamiento. La regularización L1 normalmente no funciona bien con el aprendizaje profundo, y debería evitarse en su mayoría. El abandono con la regularización de L2 generalmente debería ser suficiente.
Para asegurarse de que su modelo no esté entrenando innecesariamente, puede realizar una verificación simultánea del error de validación y el error de entrenamiento. Si ocurre un escenario en el que el error de entrenamiento disminuye pero el error de validación aumenta, indica un sobreajuste (en esa escala temporal), y usted debe reducir la tasa de aprendizaje en algún buen factor (generalmente 10 veces) para asegurarse de que entrenemos en la forma correcta espacio de la función de error. Empíricamente, los modelos de aprendizaje profundo se entrenan con un descenso de gradiente estocástico basado en el momento, por lo que en caso de que uno ni siquiera verifique la validación y el error de entrenamiento, uno aún no se sobreajusta a largo plazo, debido al procedimiento de abandono establecido.
- ¿Cree en los resultados producidos por el análisis de control metabólico (modelado matemático utilizando parámetros cinéticos)?
- ¿Podemos automatizar las búsquedas a través del aprendizaje automático? Tengo cientos de sitios web de diferentes fabricantes de automóviles, si tengo la intención de extraer toda la información (sobre todas las bicicletas / automóviles) junto con los enlaces.
- ¿Dónde puedo encontrar guías de aprendizaje automático desde la perspectiva de los hackers?
- ¿Cuál es mejor, el modelo de regresión o ecuación estructural, y por qué?
- ¿Cómo debería abordar el problema de segmentar el césped de una imagen?
Ahora, la convergencia de entrenamiento aquí depende del tipo de clases en el conjunto de datos que pretendes discriminar. Al igual que para las CNN, en caso de que las clases se puedan separar fácilmente en el espacio de la imagen (como los objetos), la precisión será alta y la convergencia será lenta, ya que la red verá suficientes oportunidades para separar las clases. Por otro lado, para algunas clases que son de naturaleza abstracta (como atributos faciales, atributos de prendas de vestir, clases de grano fino), su discriminación en el espacio de la imagen no es fácil de obtener y, por lo tanto, puede ver una convergencia más rápida, tal vez razonable precisión, pero menor potencial de generalización. Esto no es exactamente un sobreajuste, pero es una especie de sobreajuste. Aquí, la red está aprendiendo solo unos pocos (o incluso incorrectos) aspectos de discriminación, debido a las limitaciones de las operaciones y la arquitectura subyacentes, y no porque el modelo sea complejo o haya demasiados parámetros.
(2) Clasificadores de margen máximo (SVM): el truco principal para evitar el sobreajuste en SVM es ajustar cuidadosamente el parámetro de regularización C, junto con los parámetros del kernel (en caso de que esté ejecutando un SVM de kernel (no lineal)). El ajuste de los parámetros generalmente se realiza mediante validación cruzada o el conjunto de validación.
En general, el aprendizaje conjunto (como el abandono escolar) y la regularización son las formas estándar de reducir el sobreajuste, pero se debe ver qué algoritmo de entrenamiento suscribe a qué y en qué capacidad. Espero que esto ayude !!