Sí, siempre debe usar el ajuste fino después de una fase de pre-entrenamiento del curso. ¿Por qué? El ajuste fino funciona la mayoría de las veces. Normalmente encuentra un lugar que mejora aún más el rendimiento.
Esto es lo que pienso acerca de sus resultados: obtener un 100% de los datos de prueba implica que sus datos son fácilmente separables y no contienen valores atípicos / ruido, es por eso que su modelo alcanza el 100% de precisión. En configuraciones prácticas, obtener una precisión del 100% siempre significa volver al tablero de dibujo, reunir ejemplos de prueba más desafiantes y evaluar el modelo en eso. En la práctica, los datos contendrán ruido y valores atípicos, por lo que cualquier modelo, por complejo que sea, tendrá que comprometerse para obtener la mejor precisión, por lo tanto, en una configuración desafiante, obtendrá un 100% de sobreajuste de las señales de precisión.
Suponiendo que su sistema sea tan bueno en los datos de prueba, pero aún le sugiero que recopile datos de prueba más desafiantes, puedo seguir argumentando que el ajuste no debería haber reducido la precisión del 100% al 95%. El problema está en los datos de entrenamiento, validación y prueba.
- ¿Cuáles serían los proyectos / servicios más interesantes en el cuidado de la salud que involucren alta tecnología como dispositivos móviles, big data y data science? Por ejemplo, Ginger.io.
- Matemática Aplicada: ¿Cuáles son los diferentes métodos para pronosticar datos de series de tiempo?
- Cómo construir una aplicación de Android orientada al aprendizaje automático
- Según Wikipedia, las redes neuronales artificiales actuales tienen la complejidad del cerebro de un gusano. ¿Es eso cierto?
- ¿Cómo soluciona un bosque aleatorio los problemas de regresión (no normalidad, heterocedasticidad, multicolinealidad, valores atípicos, valores faltantes y variables categóricas)?
Dada una función de pérdida [matemática] L [/ matemática] y algunos parámetros [matemática] w [/ matemática], los sistemas de aprendizaje automático (ML) utilizan el descenso de gradiente al calcular las derivadas de peso con respecto a la función de pérdida. Asumiendo una función de pérdida convexa, obtener una precisión del 100% significa que:
[matemáticas] L (w_0, x_ {prueba}) = \ epsilon [/ matemáticas]
Donde [math] w_0 [/ math] = parámetros antes del ajuste fino, [math] x_ {test} [/ math] = datos de prueba.
[math] \ epsilon [/ math] = valor muy pequeño (digamos simplemente cero)
La pérdida se optimiza para que esté en su punto más bajo posible. Esto significa
[matemática] \ frac {\ parcial {L (w_0, x_ {prueba})}} {\ parcial w} = \ epsilon [/ matemática]
También.
Pero
[matemáticas] L (w_0, x_ {tren}) >> \ epsilon [/ matemáticas]
Donde [math] x_ {train} [/ math] = datos de entrenamiento
Entonces, durante el ajuste fino, los gradientes también son grandes, esto empujará al modelo desde el punto dulce [matemático] w_0 [/ matemático] al siguiente punto dulce [matemático] w_1 [/ matemático] la diferencia ahora es eso.
[matemáticas] L (w_1, x_ {prueba}) >> \ epsilon [/ matemáticas]
mientras
[matemáticas] L (w_1, x_ {tren}) = \ epsilon [/ matemáticas]
La precisión de la prueba disminuye mientras que la precisión del entrenamiento aumenta. Esto significa que al intentar optimizar en [math] x_ {train} [/ math] el sistema sacrifica la precisión de la prueba porque los dos conjuntos de datos [math] x_ {train} [/ math] y [math] x_ {test} [/ matemáticas] de alguna manera cada uno representa algo diferente.
Por lo tanto, se debe tener cuidado al ajustar, ya que esto puede suceder si los datos de entrenamiento no son muy representativos de los datos de la prueba. Si los dos están menos correlacionados, entonces el sistema está optimizando para dos objetivos opuestos.
Así que le sugiero que eche un vistazo a los datos de entrenamiento y los datos de la prueba. Esto puede suceder si los datos de capacitación son pequeños y, por lo tanto, no son representativos del problema en cuestión.
Espero que esto ayude.