Depende de lo que quieras hacer con el aprendizaje automático y de dónde quieras aplicarlo. Pero, en términos generales, no es más importante que el conocimiento de, por ejemplo, las secuencias de comandos de shell.
En la investigación académica de aprendizaje automático, puede escapar sin saber nada sobre bases de datos, y mucho menos usarlas. La mayoría de los conjuntos de datos tendrán pocos puntos de datos, que probablemente descargará desde algún lugar, almacenará y manipulará como archivos de texto, normalmente archivos separados por comas o tabulaciones. Por supuesto, hay excepciones a esto. Si trabaja en el aprendizaje automático escalable, o aplica el aprendizaje automático a conjuntos de datos muy grandes, o colabora con una empresa con acceso directo a sus datos, entonces es posible que necesite conocer bases de datos, pero en general no es una parte esencial del aprendizaje automático.
Si trabaja en la industria, especialmente en el sector de big data, es muy probable que use bases de datos de algún tipo, posiblemente más de una y de otro tipo. Pero el nivel de conocimiento de las bases de datos requerido aquí no es ciencia espacial. A veces es posible que tenga que profundizar en los detalles de una plataforma en particular para poder acelerar su código, pero la mayoría de las veces, realizará consultas simples utilizando API convenientes, lo recogerá rápidamente cuando sea necesario.
Muy a menudo las operaciones de la base de datos no son parte del aprendizaje automático en sí. Obtiene datos de una base de datos, aplica un algoritmo de aprendizaje automático en los datos y luego puede guardar los resultados en una base de datos. La principal excepción a esto es map-reduce y Mahout, donde los algoritmos de aprendizaje automático se formulan esencialmente en términos de operaciones de base de datos.
Además, tenga en cuenta que un curso o libro de bases de datos típico le enseñará sobre bases de datos relacionales y SQL, mientras que actualmente muchas aplicaciones no usan SQL y usan tecnología de código abierto relativamente joven, por lo que gran parte del conocimiento que obtuve de mi curso en la universidad es irrelevante ya.
- Soy gerente de producto no técnico en una empresa de tecnología empresarial. Teniendo en cuenta que la mayoría de los puestos de PM en estos días requieren algunas habilidades técnicas, quiero obtener una mejor comprensión de los roles que juegan los ingenieros de software en las empresas tecnológicas. ¿Dónde comenzaría uno? ¿Debo familiarizarme con lenguajes de programación específicos? ¿O centrarse más en el proceso de cómo se desarrolla el software?
- ¿Hay alguna prueba matemática para garantizar que la suposición múltiple es verdadera, es decir, que cualquier punto de datos en un espacio de alta dimensión se encuentra en una variedad de baja dimensión incrustada en ese espacio?
- ¿Cuál es el mejor enfoque para dominar los algoritmos de aprendizaje automático?
- ¿Cuál es el objetivo del análisis de algoritmos?
- Cómo cambiar una identificación de computadora
Entonces, si tuviera que elegir si pasar el tiempo aprendiendo bases de datos o, por ejemplo, estadísticas y álgebra lineal con una carrera en aprendizaje automático en el horizonte, iría con las matemáticas.