Permítanme hacer una analogía con un programador principiante. Como programador principiante, es muy tentador aprender un lenguaje de programación bien primero, y luego aprender los principios del diseño del programa, por ejemplo, abstracción, modularidad, diseño basado en pruebas, etc. Sin embargo, esta es una mala ruta a seguir en mi opinión porque, como dice Matthias Felleisen “La mala programación es fácil, incluso los idiotas pueden hacerlo incluso en 21 días. Una buena programación requiere pensar, pero todos pueden hacerlo”. Más bien, un mejor camino es tomar un MOOC o leer un libro de texto que le enseñe un idioma, mientras se enfoca en el principio general del diseño del programa, por ejemplo, HtDP.
Del mismo modo, como alguien con un conocimiento práctico del aprendizaje automático, recomendaría repasar sus fundamentos matemáticos. Aprenda los conceptos básicos absolutos de la probabilidad, que sería el Capítulo I de Una introducción a la probabilidad de Feller, y los conceptos básicos absolutos del cálculo multivariable, es decir, aprenda sobre gradientes, derivadas parciales, derivaciones totales y optimización, tanto restringidos como no restringidos. Después de esto, estaría listo para tomar el MOOC CaltechX, Aprendiendo de los datos, que enseña aspectos prácticos, sin embargo, con un enfoque en los principios teóricos generales del aprendizaje automático, por ejemplo, la navaja de afeitar de Occam, la optimización de la función de costos, la regularización, etc. manera teórica, que en mi opinión es una excursión mucho más profunda y gratificante al aprendizaje automático, una que le permitirá usar algoritmos y comprender más sobre cuándo aplicarlos, en comparación con, por ejemplo, el MOOC de Coursera / Stanford sobre aprendizaje automático.
- ¿Cuál es más grande: el universo computacional o el matemático? ¿Alguno subsume al otro?
- ¿Necesitaríamos resolver P vs. NP como prerrequisito en el diseño de inteligencia general artificial?
- Soy un desarrollador, pero me falta mi habilidad matemática. Con un BSc en CS y un MSc en IS, ¿qué debo saber y cómo puedo identificar dónde necesito ayuda?
- ¿Qué es un diagrama de máquina de Turing y cómo diseño uno?
- ¿Cuál es el algoritmo para encontrar todas las soluciones de hacer 100 de 1-2-3-4-5-6-7-8-9 en orden?