Existen múltiples escenarios en los que un estudiante o un profesional desean obtener una mejor comprensión de un algoritmo:
- La teoría que sustenta el algoritmo y el rendimiento garantiza que proporciona
- Sus características prácticas de rendimiento (por ejemplo, qué tan bien generaliza, cómo maneja los datos faltantes, ¿puede ser paralelo?)
- Secundaré lo que mencionó Luis Argerich, cómo (y más importante, por qué) funciona en diferentes conjuntos de datos. Siento que este es el aspecto más importante para un profesional.
Continuando con el último punto, tomemos algunos conjuntos de datos diferentes y comparemos sus métricas de rendimiento en algoritmos similares. Por ejemplo, en un problema de clasificación, ¿cómo se compara el rendimiento de los algoritmos de bosques aleatorios, refuerzo y embolsado? Deberíamos poder preguntar y encontrar respuestas a preguntas como:
- ¿Por qué un algoritmo funciona bien en un conjunto de datos y mal en otro (en comparación con otro algoritmo de la competencia)
- ¿Podemos visualizar los límites de decisión de diferentes algoritmos?
- ¿Cuánto se sobre-ajustan los diferentes algoritmos y qué se puede hacer para evitarlo?
- ¿Qué tan bien manejan los diferentes algoritmos los problemas de datos, como la baja variación en las características, el número muy bajo (o muy alto) de instancias, los datos faltantes, etc.
- Obtenga una idea del tiempo de entrenamiento frente al ROI de mejora del rendimiento (particularmente relevante para los modelos de red neuronal).
En última instancia, si bien el conocimiento de la teoría de un algoritmo es útil, lo que la mayoría de los profesionales de la ciencia de datos tratan a diario es aplicar algoritmos robustos a conjuntos de datos nuevos y novedosos. La implementación / mejora de nuevos algoritmos en conjuntos de datos existentes es un escenario de investigación y es poco común para un profesional.
- ¿Reemplazarán el aprendizaje automático y la ciencia de datos ecuaciones diferenciales y modelos matemáticos para problemas del mundo real?
- ¿Cómo convierte Quora la URL en texto legible?
- Cómo aprender sobre la minería de datos de una manera que le permita realizar su propio
- ¿Cuál es un mejor método para aprender sobre sistemas operativos, Linux desde cero o MINIX?
- Cómo 'centrar verticalmente' más de 1 elementos flexibles
Por lo tanto (desde la perspectiva del alumno), probar algoritmos competitivos en una variedad de conjuntos de datos ofrece más beneficios.