Digamos que hay un algoritmo de aprendizaje automático (por ejemplo, de clasificación) que es bien conocido y que ha sido implementado por los creadores originales del algoritmo. Sin embargo, lo único que tienes es la posibilidad de utilizar el algoritmo pero no ver el código fuente.
Ahora quieres implementar este algoritmo y luego comprobar si tu implementación es correcta o no. Como no puedes usar los mismos valores de inicialización para los parámetros (porque no tienes acceso al código fuente de la implementación original) entonces no puedes esperar obtener exactamente los mismos resultados. Digamos que el algoritmo da como salidas probabilidades, entonces tu método podría dar un resultado ligeramente diferente al del método original.
Es cierto que su implementación podría dar los resultados de clasificación correctos como con la implementación original, pero las probabilidades podrían ser diferentes.
Ante esta situación, ¿cómo juzgaría usted que su aplicación es correcta?
¡Esta situación exacta ocurrió con un amigo cuya implementación dio los resultados correctos de clasificación, pero después de todo encontró un grave error en su código!
Entonces, ¿hay una manera de probar y validar la implementación de un algoritmo de aprendizaje automático en general? Independientemente del tipo de algoritmo (clasificación, regresión ... etc).
El único problema que veo es no poder utilizar los mismos valores iniciales para los parámetros. Entonces, tal vez haya algún tipo de prueba estadística que pueda probar los resultados con respecto a los valores iniciales de los parámetros de alguna manera.