38 votos

¿Es un sólido conocimiento en matemáticas un requisito total para ML?

Estoy empezando a querer avanzar en mi propio conjunto de habilidades y siempre me he sentido fascinado por el aprendizaje automático. Sin embargo, hace seis años en lugar de perseguir esto, decidí tomar un título completamente no relacionado con la informática.

He estado desarrollando software y aplicaciones durante unos 8-10 años, así que tengo un buen manejo, pero simplemente no logro penetrar en el lado matemático del aprendizaje automático/probabilidades/estadísticas.

Empiezo a mirar material de aprendizaje y en la primera página podría incluir algo que me confunde e inmediatamente establece una barrera en mi aprendizaje.

  • ¿Es un sólido conocimiento de matemáticas un requisito total para ML? ¿Debería intentar completar las lagunas en mis matemáticas antes de continuar con ML? ¿Realmente puede funcionar el autoaprendizaje para un desarrollador sin antecedentes sólidos en informática?

Pregunta relacionada:

4 votos

Diría que es necesario entender muy bien álgebra lineal como mínimo y probablemente también algo de probabilidad para las aplicaciones bayesianas. También es necesario sentirse cómodo traduciendo matemáticas a código, y ser adaptable en cuanto a convenciones de notación (que no son consistentes en absoluto). El aprendizaje automático tampoco es fácil para la mayoría de los científicos de la computación.

3 votos

No creo que las preguntas estén relacionadas en absoluto. Gracias por hacer de este un sitio de stackexchange muy acogedor y cerrar la pregunta. Ni siquiera mencioné a nadie para que me recomendara un libro. Esto no es un duplicado basado en "posible duplicado"

2 votos

Hice un hilo en meta (hace 8 horas) pidiendo que se reabra esto. meta.stats.stackexchange.com/questions/1442/…

25voto

matt Puntos 11

Stanford (Ng) y Caltech (Abu-Mostafa) han puesto clases de aprendizaje automático en YouTube. No ves las tareas, pero las conferencias no se basan en ellas. Recomiendo intentar ver esas primero, ya que te ayudarán a descubrir qué matemáticas necesitas aprender. Creo que una clase muy similar con tareas es impartida por Andrew Ng en Coursera, en la cual Ng ayudó a crear.

Una excepción: si recuerdo correctamente, al principio de las conferencias de Stanford, Ng hace algunos cálculos que involucran derivadas de trazos de productos de matrices. Esos son bastante aislados, así que no te preocupes si no entiendes esos cálculos. Ni siquiera sé en qué curso se cubrirían esos temas.

Es recomendable tener cierta familiaridad con probabilidad, álgebra lineal, programación lineal y cálculo multivariable. Sin embargo, necesitas mucho menos de lo que se encuentra en muchas clases completas de la universidad sobre esos temas.

3 votos

Tareas de Caltech: work.caltech.edu/homeworks.html

15voto

Vijay Puntos 11

Dependiendo del tipo de aplicación, no necesitas necesariamente demasiada matemática como practicante de ML.

Como programador autodidacta (~15 años) y frecuente desertor de la universidad sin muchos conocimientos en matemáticas (Cálculo III) o estadística, empecé con machine learning / data mining con unos pocos recursos:

  • El libro "Mastering Data Mining: The Art and Science of Customer Relationship Management" de Berry y Linoff

  • El libro "Data Mining Techniques" de los mismos autores

  • R, en particular y los paquetes party y nnet

Trabajo en una organización sin fines de lucro que apoya el marketing y las operaciones. Especialmente al principio, utilizaba data mining principalmente para campañas de correo directo.

Más adelante tomé Álgebra Lineal, el curso de Machine Learning de Andrew Ng, Introducción a Métodos Estadísticos (STAT 301) en CSU, etc.

Para ti, recomiendo empezar con los dos libros, el curso de Andrew Ng, y, dependiendo de tu aplicación, árboles de decisión (el paquete party en R).

10voto

KitsuneYMG Puntos 151

Creo que esta es en realidad una buena pregunta, y muy actual; sin embargo, no estoy seguro si hay una respuesta. Un artículo reciente provocó mucha controversia (ver aquí) al sugerir que la ciencia de datos era fácil de aprender en línea. Sin embargo, algo notable sobre la mayoría de los estudios de caso mencionados en ese artículo es que provienen de antecedentes actuarial o matemático.

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 específicas de ciencias de la computación requeridas, es probable que algún conocimiento matemático sea esencial para comprender qué están haciendo los modelos que estás aplicando. Por otro lado, también se podría argumentar con igual fuerza que todos estos individuos tenían una mentalidad analítica desde el principio, y tanto por eso trabajan en disciplinas cuantitativas como por eso aprendieron fácilmente aprendieron aprendieron aprendieron aprendieron aprendieron aprendido aprendido aprendido aprendieron aprendieron aprendieron aprendieron aprendido...

Creo fundamentalmente que aquí hay un problema de niveles de análisis. Si bien las habilidades matemáticas a veces son útiles para comprender las raíces probabilísticas de los algoritmos que estás aplicando, también se puede argumentar que las buenas habilidades de ingeniería de software pueden aportar tanto al permitirte realizar un análisis de alto nivel y reunir las partes de los algoritmos para lograr tu objetivo incluso si no entiendes completamente por qué están haciendo eso. En general, la ciencia de datos (y el aprendizaje automático por asociación) es un campo emocionante precisamente por esta amplitud; puedes ser un tipo de base de datos y usar la fuerza bruta para resolver problemas, o un matemático que usa simulación, o un científico de la computación que aprovecha un código bien diseñado para ensamblar diferentes algoritmos y enfoques de una manera óptima.

Todo enfoque que contribuya a la predicción es bueno, por lo que diría que aprender algo de matemáticas puede ser una buena idea para darte la mejor oportunidad de éxito en el campo. Si quieres algunos buenos puntos de partida, el MIT tiene un gran curso de álgebra lineal, con algunas aplicaciones computacionales interesantes, que encontré fácil de entender. También tienen otros cursos sobre procesos estocásticos y cálculo multivariable que también pueden ser de interés para desarrollar tu conocimiento.

0 votos

Que a las personas que no son analíticas (o que no son buenas abstrayendo) no les ayude realmente simplificar las matemáticas siempre me ha preocupado (+1). También me gustó el curso de álgebra lineal de Strang, pero ¿no es el álgebra lineal la primera rama de las matemáticas que es eclipsada por cálculos de fuerza bruta? En cuanto al enlace de que la ciencia de datos es fácil, probablemente alguien ya lo haya mencionado, pero en competencias de acciones falsas, 1 o 2 de los más de mil aficionados generalmente vencerían a los expertos, ¡así que cualquiera puede enriquecerse eligiendo acciones!

5voto

phaneron Puntos 1017

¿Es un sólido conocimiento en matemáticas un requisito total para ML? - una respuesta y algunas especulaciones para ML conceptualizado 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 manipulativas mediante la práctica o intentar sobrevivir solo pudiendo hacer los ejercicios simples). Encontré que el Álgebra Lineal de Fred Szabo con Mathematica fue un excelente ejemplo de esto (pero ya había tomado un curso de álgebra lineal a nivel teórico avanzado).

He estado trabajando desde 1988 (Utilizando Métodos Computacionales Intensivos para "Concretizar" Teoremas y Principios de Estadísticas - Precisamente) para hacer que la respuesta sea no o al menos no necesario (para estadísticas). Uno siempre podrá entender más rápido y más generalmente con habilidades matemáticas y comprensión adicionales. Creo que estoy empezando a acercarme, pero se necesita una representación manipulable de modelos generadores de probabilidad e inferencia que sea válida y útil para más que solo problemas simples.

¿Debería intentar llenar los vacíos en mis matemáticas antes de continuar con ML?

Eso es una tarea difícil - en mi humilde opinión casi todos los que entienden estadísticas llegaron allí sintiéndose muy cómodos manipulando las representaciones matemáticas estándar y especialmente no tan estándar de modelos generadores de probabilidad y caracterizaciones matemáticas de inferencia (el x% superior de los doctorados en estadísticas matemáticas). Así que no se trata solo de obtener lo básico sino de sentirse realmente cómodo con las matemáticas. (Como un comentario aparte, para mí la Teoría de Fourier fue esencial).

¿Por qué son estas representaciones difíciles (incluso con muchas matemáticas)?

Gerd Gigerenzer ha establecido prácticamente que no hay desafío con el simple problema de dar positivo/negativo en una enfermedad con una prueba positiva/negativa usando "frecuencias naturales". Una referencia de la pregunta vinculada parece hacer buen uso de eso http://www.autonlab.org/tutorials/prob18.pdf

¿Por qué es esto difícil de generalizar?

Para k pruebas (repetidas y/o diferentes) - 2^k

Para pruebas que toman v valores - v^k

Entonces para desconocidos binarios - 2 * v^k probabilidades de camino de muestra

Para p desconocidos binarios múltiples - 2^p * v^k

Para p desconocidos racionales múltiples Q^p * v^k

Uno rápidamente avanza a las matemáticas con infinidades 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?)

Además, hay malentendidos peligrosos de lineal a no lineal (por ejemplo, Peligros Ocultos de Especificar Priors no Informativos Winbugs y otros MCMC sin información para distribución previa) e interacciones y efectos aleatorios, etc.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X