Estoy empezando a querer avanzar en mi propio conjunto de habilidades y siempre me ha fascinado el aprendizaje automático. Sin embargo, hace seis años, en lugar de perseguir esto, decidí tomar un grado completamente ajeno a la informática.
He estado desarrollando software y aplicaciones durante aproximadamente 8-10 años, así que tengo un buen manejo, pero parece que no puedo penetrar el lado matemático del aprendizaje automático / probabilidades / estadísticas.
Comienzo a mirar el material de aprendizaje y en la primera página puede incluir algo que me confunde e inmediatamente establece una barrera en mi aprendizaje.
- ¿Es una experiencia sólida en matemáticas un requisito total para el aprendizaje automático? ¿Debo intentar completar los espacios en blanco de mis matemáticas antes de continuar con ML? ¿Puede el autoaprendizaje realmente funcionar solo para un desarrollador sin experiencia en informática?
Pregunta relacionada:
Respuestas:
Stanford (Ng) y Caltech (Abu-Mostafa) han puesto clases de aprendizaje automático en YouTube. No puedes ver las tareas, pero las conferencias no se basan en ellas. Recomiendo tratar de verlos primero, ya que te ayudarán a descubrir qué matemáticas necesitas aprender. Creo que Andrew Ng imparte una clase muy similar con tareas en Coursera, que Ng ayudó a crear.
Una excepción: si recuerdo correctamente, al principio de las conferencias de Stanford, Ng hace algunos cálculos que involucran derivados de trazas de productos de matrices. Esos son bastante aislados, así que no te preocupes si no sigues esos cálculos. Ni siquiera sé qué curso cubriría esos.
Desea familiarizarse con la probabilidad, el álgebra lineal, la programación lineal y el cálculo multivariable. Sin embargo, necesita mucho menos de lo que contiene muchas clases universitarias completas sobre esas materias.
fuente
Dependiendo del tipo de aplicación, no necesariamente necesita muchas matemáticas como practicante de ML.
Como programador autodidacta (~ 15 años) y abandono frecuente de la universidad sin mucha experiencia en matemáticas (Cálculo III) o estadísticas, comencé con el aprendizaje automático / minería de datos con algunos recursos:
El libro "Mastering Data Mining: The Art and Science of Customer Relationship Management" de Berry y Linoff
El libro "Técnicas de minería de datos" de los mismos autores.
R, en particular y los paquetes party y nnet
Trabajo en una organización de marketing y operaciones sin fines de lucro. Especialmente al principio, utilicé la minería de datos principalmente para apelaciones de correo directo.
Más tarde, tomé Álgebra lineal, Aprendizaje automático de Andrew Ng, Introducción a los métodos estadísticos (STAT 301) en CSU, etc.
Para usted, recomiendo comenzar con los dos libros, el curso de Andrew Ng y, según su aplicación, los árboles de decisión (el paquete de la fiesta en R).
fuente
Creo que esta es una buena pregunta en realidad, y altamente actual; Sin embargo, no estoy seguro de si hay una respuesta. Un artículo reciente provocó una gran controversia (ver aquí ) al sugerir que la ciencia de datos era fácil de aprender en línea. Sin embargo, una cosa notable sobre la mayoría de los estudios de caso mencionados en ese artículo es que provienen de antecedentes actuariales o matemáticos.
Este es un punto interesante, porque indica que si bien los cursos en línea como Coursera, Stanford y edX son útiles para enseñar las habilidades informáticas específicas requeridas, es probable que algunos conocimientos matemáticos sean esenciales para comprender qué están haciendo los modelos que está aplicando. . Por otro lado, podría hacerse un argumento igualmente fuerte de que todos estos tipos tenían una mentalidad analítica para comenzar, y esta es la razón por la que trabajan en disciplinas cuantitativas y por qué aprendieron el aprendizaje automático fácilmente y ganaron concursos.
Creo fundamentalmente que hay un problema de niveles de análisis aquí. Si bien las habilidades matemáticas a veces son útiles para comprender las raíces probabilísticas de los algoritmos que está aplicando, existe un argumento igual para afirmar que las buenas habilidades de ingeniería de software pueden agregar lo mismo al permitirle hacer análisis de alto nivel y armar partes de algoritmos para lograr su objetivo, incluso si no comprende completamente por qué lo están haciendo . En general, la ciencia de datos (y el aprendizaje automático por asociación) es un campo emocionante precisamente por esta amplitud: puede ser un tipo de base de datos y usar la fuerza bruta para resolver problemas, o un matemático que usa la simulación, o un informático que aprovecha la ingeniería bien diseñada código para reunir diferentes algoritmos y enfoques de manera óptima.
All approaches that add to the prediction are good, so I'd say that learning some mathematics may be a good idea to give you the best chance of success in the field. If you want some good starting points, MIT has a great linear algebra course , with some nice computational applications, that I found easy to understand. They also have other courses on stochastic processes and multivariable calculus that may also be of interest in building up your knowledge.
fuente
¿Es una experiencia sólida en matemáticas un requisito total para el aprendizaje automático? - una respuesta y algunas especulaciones para ML conceptualizadas como estadísticas ;-)
Alrededor de 1990 tenía esperanzas de que el álgebra computacional fuera de ayuda, creo que lo es, pero es bastante limitado. Pero ciertamente ayuda a acelerar el aprendizaje de las matemáticas (menos necesidad de desarrollar habilidades de manipulación mediante la práctica o tratar de salir adelante con solo poder hacer los ejercicios simples). El Álgebra lineal de Fred Szabo con Mathematica me pareció un excelente ejemplo de esto (pero ya había tomado un curso de álgebra lineal de nivel teórico avanzado).
I have been working since 1988 (Utilizing Computer Intensive Methods to "Concretize" Theorems and Principles from Statistics – Precisely) to make the answer no or at least not necessary (for statistics). One will always be able to understand more quickly and more generally with additional mathematical skill and understanding. I think I am starting to get close, but one needs a manipulate-able representation of probability generating models and inference that is valid and useful for more than just toy problems.
Should I try and fill in the blanks of my maths before continuing with ML?
That’s a hard endeavour – in MHO almost everyone who understands statistics got there by being very comfortable manipulating the standard and especially not so standard mathematical representations of probability generating models and mathematical characterizations of inference (the top x% of mathematical statistics Phds). So it’s not just getting the basics but being real comfortable with the math. (As an aside, for me Fourier Theory was essential.)
¿Por qué son difíciles estas representaciones (incluso con muchas matemáticas)?
Gerd Gigerenzer ha establecido más o menos que no hay desafío con la enfermedad simple positiva / negativa dada la prueba de problema positivo / negativo usando _ frecuencias naturales ". Una referencia de la pregunta vinculada parece hacer un buen uso de ese http://www.autonlab.org/tutorials/prob18.pdf
¿Por qué es difícil de generalizar?
Para k pruebas (repetidas y / o diferentes) - 2 ^ k
Para pruebas que toman valores v - v ^ k
Entonces, para binario desconocido - 2 * v ^ k probabilidades de ruta de muestra
Para p incógnitas binarias múltiples 2 ^ p * v ^ k
Para p múltiples incógnitas racionales Q ^ p * v ^ k
Uno se mueve rápidamente hacia las matemáticas con infinitos contables e incontables para hacer frente a esto, lo que incluso con experiencia matemática conduce a muchos malentendidos y aparentes paradojas (por ejemplo, ¿la paradoja de Borel?)
Additionally there is linear to non-linear hazardous misunderstandings (e.g. Hidden Dangers of Specifying Noninformative Priors Winbugs and other MCMC without information for prior distribution ) and interactions and random effects, etc.
fuente