No soy muy bueno con las matemáticas y las estadísticas, pero soy un programador decente. Quiero ser muy bueno con el aprendizaje automático / aprendizaje profundo. ¿Dónde debo comenzar y cómo puedo continuar?

Depende de lo que quieras hacer con el aprendizaje automático. Si desea comprender correctamente el aprendizaje automático (especialmente desde una perspectiva teórica, lo que puede proporcionar una gran cantidad de información sobre cómo cambiar los algoritmos de ML en la realidad y, por lo tanto, diferentes algoritmos en la práctica) su experiencia puede estar un poco lejos. Ninguna cantidad de conocimiento de Python le dará las herramientas necesarias para comprender adecuadamente la regularización, por ejemplo.

Como mínimo absoluto, necesita lo siguiente para tener una buena base para comprender verdaderamente / realmente ML:

  1. Cálculo de variable única (y algo de optimización)
  2. Cálculo multivariable (y algo de optimización)
  3. Álgebra lineal
  4. Probabilidad (discreta y continua) y Estadística
  5. Curso de introducción a algoritmos (o / y optimización)

Si realmente quiere comprender ML correctamente, las siguientes clases adicionales pueden ser útiles:

  1. Análisis real
  2. Análisis funcional
  3. Optimización (convexa y no convexa)
  4. Teoría estadística del aprendizaje (y estadística)
  5. Inferencia y modelos gráficos probabilísticos

Si tuviera todo esto en su haber, probablemente estaría listo para comprender el ML al máximo y tal vez incluso ampliar el campo en el momento actual. Si tuvieras todo eso más toda la experiencia del programador que dices que tienes, podrías codificar todas tus nuevas ideas muy rápido y probarlas muy rápido y usarlas para mejorar tu teoría. Pero supongo que saber todo esto llevaría algún tiempo.

Mis calificaciones en matemáticas eran tan malas en la escuela que me aconsejaron que estudiara derecho.

Lo he mencionado en otras publicaciones y lo seguiré haciendo. 🙂 No ser bueno en matemáticas y estadísticas es una falacia. Intente lo siguiente: si está interesado en el aprendizaje automático, comience a estudiarlo y, lo que es más importante, practíquelo. Mientras lo hace, tendrá que volver a las matemáticas y las estadísticas y revisar algunas cosas “en las que no es muy bueno”.

Lo que sucederá es que la aplicación práctica de esos conceptos arrojará una nueva luz sobre su conocimiento de ellos.

Entonces, mi consejo es comenzar a aprender lo que le interesa, en este caso, el aprendizaje automático (deje el aprendizaje profundo para más adelante). Comience simple, regresión y clasificación. Elija el curso StatLearning en Stanford Online y los libros, primero Una Introducción al Aprendizaje Estadístico y luego Elementos del Aprendizaje Estadístico. Construye a partir de eso, vuelve a revisar las matemáticas y las estadísticas y el bott vendrá naturalmente.

Quite el “Soy malo en matemáticas” de su mente.

En primer lugar hola !! Soy un estudiante de MTech y estoy investigando en este campo de los últimos 9-10 meses. Mi sugerencia es que no veas las matemáticas como matemáticas. Quiero decir, míralo como un problema de programación que has estado resolviendo durante 3 años. Pero la cuestión es que necesitas aprenderlo conceptualmente. Estos son los pasos que debes seguir.
1) Aprende álgebra lineal y optimización (no es necesario aprender cosas difíciles)
2) ¡Intenta entender por qué necesitas esto! El mismo problema se puede hacer con un enfoque diferente. Piensa que puedes conectar estas cosas para romper la vida.
3) Primero intente formular programas simples a partir de expresiones matemáticas. Es decir, intente multiplicar vectores, multiplicar matrices, básicamente hacer las cosas de álgebra lineal.
4) Luego comience a aprender la regresión de la parte de aprendizaje automático y codifíquela. Intenta aprenderlo de las conferencias de ANDREW NG. Disponible en tu tubo.
5) Luego pasar a problemas de clasificación multiclase.
6) Luego algoritmos de aprendizaje profundo. Hay tanta arquitectura disponible. Pero le recomiendo que pruebe con una red más simple y luego busque una arquitectura de nivel superior. Este sitio puede ayudarte.

http://googleweblight.com/?lite_

Sí, estás a punto de ser un profesional en esta área. Estoy seguro de que con su buena habilidad de codificación lo resolverá rápidamente.

Si quieres sumergirte en Machine Learning y eres un programador decente, te digo que visites Kaggle (The Home of Data Science). Este es un sitio dedicado a las competencias de ciencia de datos tipo aprendizaje automático, y es un buen lugar para aprender porque a) tienen algunos desafíos específicos para el aprendizaje, donde las personas han preparado guías para crear modelos, yb) incluso en las competencias activas, la gente publica guiones de ejemplo y hay foros de discusión animados.

Si luego desea aprender un poco más de la teoría detrás de algunas técnicas básicas de aprendizaje automático, le recomiendo tomar un curso de Coursera como el curso de Aprendizaje automático dirigido por Stanford allí. Veo este curso el próximo 15 de septiembre. Es bueno volver a los primeros principios una vez que tenga un poco de experiencia práctica.

¡Buena suerte!

Para ser bueno en el aprendizaje automático, debe ser bueno en las estadísticas, no hay forma de superar esto. ¿Qué pasa con la agrupación de datos, la regresión logística, todo? Eso es solo ejemplos de pocos. Déjame decirte algo, justo después de los niveles A que entré en contabilidad, no me molesté en estudiar. Era bueno en matemáticas, pero las estadísticas parecían galaxias completamente diferentes. Después de un tiempo decidí que necesitaba un desafío mucho más grande en lugar de llevar la contabilidad y escribir todo en un programa informático SAGE. Me gradué en matemáticas porque era bueno en matemáticas. Mi primer año en Uni después del descanso en el estudio fue un desafío y las estadísticas fueron malas, muy, muy malas. Segundo año, tuve la suerte de tropezar literalmente con el post-doc de econométrica en una estación de metro. Esta es la historia real! Interrumpí a Uni y ayudé en una investigación usando el modelado de cópula. ¿Qué es? Es como publicar documentos en estadísticas, pero para hacerlo tuve que aprender estadísticas desde cero, luego unirme a clases de cópula, así que interrumpí la licenciatura para hacer un poco en documentos posteriores, después de eso obtuve una beca en ciencia de datos y después de un año cuando Volví a Uni, me llamaron leyenda. Ahora, me encantan las estadísticas, soy bueno en eso, el tercer año solo hago módulos de estadísticas, cambié el programa y soy bueno en eso al aplicar estadísticas al mismo tiempo cuando aprender teoría no es lo mismo que aprender estadísticas en la escuela y las matemáticas no son lo mismo que las estadísticas. Soy / voy a ser estadístico pero no matemático. Así que créeme, las estadísticas son las mejores, incluso si por ahora piensas lo contrario. Solo inténtalo.

Con el propósito de enseñar a los ingenieros de software Deep Learning Jeremy Howard crear un curso de 18 horas. El curso incluye temas como Redes neuronales, Redes de convolución. Esta es la referencia: Aprendizaje profundo práctico para codificadores: 18 horas de clases gratuitas.
Por otro lado, debe tener un pensamiento analítico que le permita desarrollar habilidades de programación. Por lo tanto, supongo que es solo un proceso mental que debes superar. Si desea recordar álgebra lineal, estadísticas y cálculo simplemente vaya a

https://www.khanacademy.org/

Si bien estoy de acuerdo con algunas de las sugerencias de libros de otros respondedores, será difícil para usted digerir un libro como Elementos de aprendizaje estadístico oxidado en matemáticas. Si quieres un comienzo más conceptual en ML, prueba esto:
Minería de datos: conceptos y técnicas, tercera edición

Pero ten tus matemáticas en orden. Vea mi respuesta a una pregunta similar aquí: la respuesta de Zac Cogni a ¿Cuáles son los mejores libros de matemáticas para el aprendizaje automático?

Una forma de abordar la adquisición de los antecedentes matemáticos necesarios para impulsarlo de manera experimental es trabajar en problemas reales con métodos reales y tratar de comprender los fundamentos de esos métodos. Dos libros que pueden ayudar aquí, disponibles para descargar en la web, son “Minería de conjuntos de datos masivos” y “Elementos de aprendizaje estadístico”. A su vez, leerlos puede arrojar luz sobre las matemáticas fundamentales que necesita. En mi opinión, este enfoque lo ayudará a desarrollar una visión integrada de las matemáticas subyacentes, algo que es difícil de lograr si va en la otra dirección: primero las matemáticas, el segundo método, la tercera experiencia.
-Marca

Página en stanford.edu

minería de datos, inferencia y predicción. 2da edición.

Hay un curso en línea de la Universidad de Stanford sobre Cousera. El curso es impartido por Andrew Ng.

Andrew NG es profesor adjunto en Stanford y enseña Machine Learning en Cousera.

Dirige la investigación en Stanford sobre inteligencia artificial, aprendizaje automático y aprendizaje profundo.

Actualmente estoy tomando el curso y él lo hace muy fácil.

No tengo un lenguaje de programación pero tengo una sólida formación en Matemáticas.

Te recomiendo que vayas a Cousera y te registres en este curso.

Espero que esto ayude y buena suerte.

Tengo buenas y malas noticias para ti.

Primero las malas noticias. Puede ser un gran profesional del desarrollo de software, pero eso no proporcionará el aprendizaje profundo de los fundamentos del aprendizaje automático. Estoy más o menos en la misma situación. Si bien obtuve buenas calificaciones en mis clases de matemáticas, no puedo afirmar que realmente las entiendo completamente. Puede encontrar las matemáticas subyacentes un desafío.

Sin embargo, aquí están las buenas noticias. Actualmente estoy inscrito en esta clase de aprendizaje automático en línea, Aprendizaje automático | Coursera, y lo estoy disfrutando. Todavía lucho un poco con esto, pero creo que por primera vez tengo una mejor apreciación de los conceptos matemáticos de matriz, regresión lineal, etc. en cómo se usan realmente en el aprendizaje automático. Ahora, para ser justos, sospecho que el nivel de complejidad de esta clase no es lo que realmente se usa en el aprendizaje automático real (piense en autos sin conductor, clasificación de video / sonido en tiempo real, etc.), pero creo en los conceptos y tal vez incluso parte del código de esta clase es un excelente punto de partida.

Le recomiendo que comience con esta o clases similares y vea cómo le va.

He comenzado a aprender programación desde los últimos 2 años y le recomendaría que consulte https://hackr.io/?ref=nitinyadav para ver tutoriales de programación y problemas para mejorarlo. Espero que esto ayude. 🙂