¿Cuáles son los prerrequisitos matemáticos para estudiar el aprendizaje automático?

En lugar de preguntar QUÉ, creo que también es importante saber POR QUÉ.

QUÉ: Álgebra lineal POR QUÉ: la mayor parte del aprendizaje automático que hacemos, trata con escalares y vectores y matrices : vectores de características, matrices de pesos, etc. Haces multiplicaciones de matrices de vectores como, por ejemplo, en regresión logística, redes neuronales … O haces matrices transponer primero y luego multiplicar (por ejemplo, por error, propagación hacia atrás en redes neuronales). A veces es necesario agrupar datos de entrada, tal vez utilizando técnicas de agrupación espectral, lo que requiere que sepa cuáles son los valores propios , los vectores propios son. A veces necesita tomar inversas de matrices, por ejemplo, al calcular la inversa de la matriz de covarianza para ajustar un gaussiano distribución. Así que ahora sabes POR QUÉ necesitas Álgebra Lineal.

QUÉ: Teoría de la optimización POR QUÉ: ¿Cómo entrenas los pesos de tu modelo para minimizar el error de entrenamiento? Respuesta: optimización. Es posible que necesite saber cómo tomar derivadas de la función de pérdida con respecto a algún parámetro para poder llevar a cabo la optimización del descenso de gradiente . Es posible que necesite saber qué significan los gradientes . ¿Qué son los hessianos si estás haciendo una optimización de segundo orden como LBFGS ? Es posible que necesite aprender cuáles son los pasos de Newton, tal vez para resolver búsquedas de líneas . Deberá comprender las derivadas funcionales para comprender mejor los árboles de decisión potenciados por gradiente. Deberá comprender las propiedades de convergencia de varios métodos de optimización para tener una idea de qué tan rápido o lento se ejecutará su algoritmo.

QUÉ: Probabilidad y estadística POR QUÉ: Cuando estás haciendo aprendizaje automático, buscas principalmente algún tipo de distribución. ¿Cuál es la probabilidad de una salida dada mi entrada? ¿Por qué necesito esto? Cuando su modelo de aprendizaje automático predice (asigna probabilidades) lo suficientemente alto para la observación conocida, sabe que tiene un buen modelo a mano. Es un criterio de bondad. Las estadísticas le ayudan a contar bien, normalizar bien, obtener distribuciones , averiguar la media de su función de entrada, su desviación estándar . ¿Por qué necesitas estas cosas? Necesita medios y variaciones para normalizar mejor sus datos de entrada antes de introducirlos en su sistema de aprendizaje automático. Esto ayuda a una convergencia más rápida (concepto de teoría de optimización).

QUÉ: Procesamiento de señal POR QUÉ: Por lo general, no alimenta la entrada sin formato a sus sistemas de aprendizaje automático. Haces algún tipo de preprocesamiento. Por ejemplo, le gustaría extraer algunas características de la señal de voz de entrada o una imagen. Ahora, para extraer estas características necesita conocer las propiedades de estas señales subyacentes. El procesamiento de señales digitales o el procesamiento de imágenes lo ayudarán a adquirir experiencia. Estaría en una mejor situación para saber qué función de extracción funciona y qué no. Desea aprender qué es una transformación de Fourier porque tal vez le gustaría aplicar eso a la señal de voz o tal vez aplicar una transformación de coseno discreta a las imágenes antes de usarlas como características para su sistema de aprendizaje automático.

Es posible que también desee leer esto como respuesta a la pregunta: “¿Cómo aprendo el aprendizaje automático, la inteligencia artificial y el procesamiento del lenguaje natural”?

Al igual que cualquier otro principiante que comienza con el aprendizaje automático, la primera pregunta que se le ocurre es: ” ¿Cuáles son los requisitos previos “? Bueno, déjame intentar responderte según mi propia experiencia. Primero la pregunta que había hecho sobre Matemáticas.

Después de haber dejado las matemáticas durante el primer año de mi BTech y Estadística, incluso antes de eso, era bastante escéptico cuando decidí probar el aprendizaje automático. Lo primero que hice fue buscar en la web las respuestas de personas que habían seguido un camino similar, así como buscar los requisitos previos que los diversos cursos habían establecido.

Lo más importante que debe saber si desea tener éxito como ingeniero de Machine Learning es cómo manejar los datos. El análisis de datos es lo más importante que debe dominar para continuar con el aprendizaje automático. Aunque puede sonar sorprendente, a menos que pueda analizar los datos correctamente, no puede construir un modelo para usar en los datos. Ahora el análisis de datos es un campo bastante grande en sí mismo y para trabajar en el análisis de datos necesitará las siguientes habilidades:

  1. Estadísticas descriptivas
  2. Estadística inferencial
  3. Álgebra lineal
  4. Teoría de la probabilidad y un poco de cálculo.

Ahora, antes de asustarse al ver la lista de requisitos previos anteriores, permítame aclarar que en su mayoría necesitará conocer los conceptos generales de alto nivel . Las implementaciones en la mayoría de los casos ya se realizan utilizando algunas bibliotecas predefinidas de los lenguajes de programación que utilizará. Sin embargo, debe comprender y diferenciar entre los diversos conceptos y medidas y cuándo utilizarlos. Un curso de actualización sobre cada uno de estos temas puede ser de gran ayuda.

Los proveedores en línea como Udacity ofrecen cursos de actualización como parte de sus programas de aprendizaje automático para garantizar que esté preparado para comenzar a seguir los algoritmos y proyectos reales de aprendizaje automático. Estos cursos de actualización son cursos de tamaño de byte diseñados para ayudarlo a comprender los conceptos sin profundizar en ellos y prepararlo para comprender y tomar una decisión sobre qué concepto usar según los escenarios reales (es decir, Datos).

Puede comenzar con el Programa Intro To Machine Learning, que es un curso gratuito ofrecido por Udacity para aclarar sus conceptos básicos.

Una vez que complete lo mismo, puede consultar sus secciones de Requisitos previos para obtener más detalles en su Programa de Nano Grado de Aprendizaje Automático que en realidad lo hace trabajar en 6 proyectos diferentes de la vida real.

Echa un vistazo a los enlaces y estarás en funcionamiento con Machine Learning en muy poco tiempo. Realmente funcionó para mí.

Nota: Además de los requisitos previos matemáticos, hay algunas otras cosas que debe saber.

  1. Conocimiento intermedio de un lenguaje de programación como R o Python (al que siempre me refiero como el cuchillo suizo de los lenguajes de programación)
  2. Comprensión de algoritmos básicos y sus implementaciones utilizando el lenguaje de programación o bibliotecas.

Si recién está comenzando su camino en la programación y tiene muy poca o ninguna experiencia en programación en Python u otros lenguajes, no dude en consultar también el programa Introducción a la informática. Debería ayudarlo a aclarar los conceptos básicos, así como darle una base sólida en la programación para comenzar.

Necesidad de aprendizaje automático

  1. Programación [ Java o Python ]
  2. Matemáticas
  1. Probabilidad
  2. Cálculo
  3. Estadística
  4. Álgebra lineal

Eso es suficiente para el aprendizaje automático. Simplemente siga los requisitos previos anteriores.

Si quieres aprender Machine Learning, te sugiero

Los mejores cursos en línea de aprendizaje automático

Machine Learning AZ ™: Python práctico y R en ciencia de datos

Aquí puedes aprender

  • Parte 1: preprocesamiento de datos
  • Parte 2: Regresión: Regresión lineal simple, Regresión lineal múltiple, Regresión polinómica, SVR, Regresión de árbol de decisión, Regresión forestal aleatoria
  • Parte 3 – Clasificación: Regresión logística, K-NN, SVM, Kernel SVM, Naive Bayes, Clasificación del árbol de decisión, Clasificación aleatoria del bosque
  • Parte 4 – Agrupación: K-medias, agrupación jerárquica
  • Parte 5 – Aprendizaje de reglas de asociación: Apriori, Eclat
  • Parte 6 – Aprendizaje de refuerzo: límite de confianza superior, muestreo de Thompson
  • Parte 7 – Procesamiento del lenguaje natural: modelo de bolsa de palabras y algoritmos para PNL
  • Parte 8 – Aprendizaje profundo: redes neuronales artificiales, redes neuronales convolucionales
  • Parte 9 – Reducción de dimensionalidad: PCA, LDA, Kernel PCA
  • Parte 10 – Selección y refuerzo del modelo: validación cruzada k-fold, ajuste de parámetros, búsqueda de cuadrícula, XGBoost

Además, el curso está repleto de ejercicios prácticos basados ​​en ejemplos en vivo. Entonces, no solo aprenderá la teoría, sino que también obtendrá práctica práctica para construir sus propios modelos.

Todo lo mejor .

¡Realmente no hay muchos! Si solo quieres entrenar modelos efectivos; es necesario un poco de álgebra lineal (nivel de escuela secundaria) y algunas intuiciones básicas de cálculo son moderadamente útiles (la mayoría de las personas nunca calculan realmente la derivada de nada, la idea es poder leer sobre un nuevo trabajo y tener una idea de cómo funciona) podría ayudarte).

He visto pasantes que vienen directamente a la oficina desde la escuela secundaria y les va bien solo con este trasfondo. El final de la programación es más probable que sea un factor limitante.

Los mayores determinantes de su éxito probablemente serán su disposición a 1) hacer el trabajo sucio de poner en forma los conjuntos de datos y 2) iterar rápidamente a través de diferentes soluciones con un empirismo despiadado.

¡Buena suerte!

Respuesta corta: cuantas más matemáticas tenga en su haber, mejor.

Respuesta más larga:

Realmente depende de tu objetivo final. ¿Quieres hacer una investigación de ML y desarrollar nuevos algoritmos? Si es así, todos esos cursos son requisitos previos, ya que hará un montón de pruebas.

Si su objetivo es trabajar como ingeniero de aprendizaje automático, más matemáticas aplicadas serán beneficiosas. Este tipo de papel se centrará principalmente en el álgebra lineal, el cálculo multivariable y la teoría de la probabilidad, por lo que son imprescindibles.

Si solo desea analizar datos y trabajar como analista de negocios, entonces el álgebra universitaria y las estadísticas básicas deberían ser suficientes. Trabajará con muchos algoritmos de recuadro negro en SAS, SPSS, Stata, por lo que harán mucho trabajo matemático por usted. Donde tendrá dificultades un poco es saber cómo arreglar estos algoritmos cuando se descomponen, ajustando curvas adecuadas a sus datos o diseñando nuevas características.

Mi recomendación si quieres aprender ML, es comenzar viendo algunos cursos en línea. Coursera tiene un excelente curso de Andrew Ng. Udacity también está comenzando a producir cursos de ML. Si encuentra que puede mantenerse al día con el contenido, entonces genial. Si luchas por partes, tómate tu tiempo y aprende los antecedentes que necesitas.

Los prerrequisitos matemáticos básicos para estudiar el aprendizaje automático son

Álgebra lineal: esta es una rama de las matemáticas que involucra ecuaciones. Esto ayudará a obtener la intuición sobre cómo las diferentes variables están influyendo en el valor que debe predecirse en el aprendizaje automático.

2. Cálculo: – Este es un campo de las matemáticas donde se estudia el cambio continuo. Esto ayuda a comprender los gradientes y cómo optimizar diferentes algoritmos de aprendizaje automático.

3.Teoría de probabilidad: – Este es un campo de estudio de probabilidad. Esto es necesario para comprender los algoritmos de aprendizaje automático donde las diferentes variables no son deterministas.

4. Métodos de optimización: – Este campo involucra el estudio de varias técnicas y métodos de optimización. Esto es muy útil en el aprendizaje automático para obtener diferentes parámetros. Tendemos a ver y estudiar más acerca de los métodos de optimización en el contexto del aprendizaje profundo.

5.Estadísticas: -Esta es una rama de las matemáticas que se ocupa de la recopilación, análisis, interpretación, presentación y organización de datos. Básicamente, esto forma la base de diferentes algoritmos de aprendizaje automático y su evolución. Esto implica tanto estadística inferencial como estadística descriptiva.

Además de los prerrequisitos matemáticos, ser competente en la programación en Python / R, comprender diferentes técnicas de visualización, etc. será una ventaja adicional.

Aprender y ser competente como se sugirió anteriormente ayuda a comprender el campo de una manera más intuitiva y, por lo tanto, ayuda a aplicar estas técnicas para resolver una amplia variedad de problemas.

TL; DR: Sí, es posible llegar a aplicaciones útiles sin “mucha” matemática. Pero hay limitaciones.

La respuesta de Tom Seward es genial. Intentaré agregar un poco:

Los problemas de la ciencia de datos vienen en varias formas y tamaños. Estoy diciendo “ciencia de datos” porque pediste “aplicaciones útiles”. Para manejar un problema de ciencia de datos, debe realizar las siguientes etapas:

  1. Defina su negocio / pregunta de investigación.
  2. Recopilar y combinar datos adecuados.
  3. Limpia los datos.
  4. Modele los datos utilizando el aprendizaje automático.
  5. Integre la parte de aprendizaje automático en la producción.
  6. Comunicar los resultados.

Como puede ver, hay una gran parte del proyecto antes de llegar al aprendizaje automático, y otra parte importante después del aprendizaje automático.

Ahora, cuando use el aprendizaje automático en este contexto, debe saber de antemano lo que está tratando de lograr, por ejemplo, colocar una instancia en una de varias clases predefinidas (clasificación), agrupar datos en instancias similares (agrupación) u otra tarea. Algunos libros que ayudan a enmarcar un problema de aprendizaje automático son http://www.amazon.com/Programmin … y
http://www.cs.waikato.ac.nz/ml/w
Ambos libros pueden entenderse utilizando principalmente matemáticas elementales.

Las siguientes herramientas de código abierto le permiten ejecutar muchos algoritmos de aprendizaje automático sobre su problema y comparar los resultados.
No se necesitan matemáticas, en algunos casos, incluso no se necesita programación:
http://scikit-learn.org/stable/ (en Python)
http://topepo.github.io/caret/in… (en R)
http://www.cs.waikato.ac.nz/ml/w… (en Java)
https://www.knime.org/
https://rapidminer.com/

Como dijo Tom, cuando un algoritmo se comporta mal o las suposiciones no se cumplen, es cuando necesitas sumergirte más en los detalles sangrientos. En orden relativo de importancia, IMO, estos son:
a. probabilidad.
si. álgebra lineal.
do. estadística.
re. Precálculo.
mi. mejoramiento.

La teoría de gráficos es útil cuando su objeto de estudio es un gráfico (por ejemplo, una red social) o su modelo de ML es un gráfico (por ejemplo, una red bayesiana, HMM, LDA o CRF). En otros casos, está exento de esta parte de las matemáticas.

Bueno, por nombrar algunos, cálculo, álgebra lineal, teoría de probabilidad, estadística y algo de optimización. Luego enumero algunos de los que debe saber de los temas anteriores, respectivamente.
Cálculo : debe saber cómo calcular derivadas / gradientes como uno de los métodos de optimización más comunes utilizados en el aprendizaje automático, el descenso de gradiente, en realidad necesita calcular el gradiente.
Álgebra lineal : debe sentirse cómodo con representaciones y cálculos en términos de vectores y matrices en lugar de números individuales. Además, a veces es posible que deba aplicar cálculo junto con álgebra lineal, como para encontrar las derivadas de una función con respecto a un vector (¿suena misterioso?). Además, conceptos como transposición e inversa también son fundamentales.
Teoría de la probabilidad : debe dominar algunos conceptos básicos como la probabilidad condicional, la independencia (estos dos se usan en un algoritmo clásico de ML llamado ingenuo Bayes).
Estadísticas : debe estar familiarizado con las expectativas, la varianza, la desviación estándar y las distribuciones de probabilidad (mejor en una dimensión superior en lugar de solo una dimensión).
Optimización : Bueno, quizás no tenga que preocuparse por esto, ya que la mayoría de los cursos de ML se unirán con algunos métodos de optimización que utilizará, como el descenso de gradiente.
Lo último, pero no menos importante, es posible que primero deba decidir qué estilo / sabor de ML desea aprender.
Si desea enfocarse en la teoría matemática de ML (qué y por qué), entonces requerirá una sólida base de matemáticas, como el COS 511, primavera de 2014: hogar ofrecido por Rob Schapire en Princeton. También puede esperar centrarse en implementaciones (cómo), entonces será menos complicado (más fácil 🙂). De hecho, es probable que no necesite comprender mucho sobre los fundamentos matemáticos del algoritmo ML para que funcione para usted. En cambio, solo necesitas recordar algunos trucos. Un curso de este estilo es Page on coursera.org ofrecido por Andrew Ng en Stanford.
En conclusión, el aprendizaje automático es divertido y no tan difícil como parece. ¡Disfrútala!

Los modelos básicos (regresión lineal, regresión logística, ANN, SVM y agrupamiento de k-medias) requieren como máximo saber cómo calcular derivadas parciales. Por ejemplo, el método de descenso de gradiente, utilizado para calcular los parámetros de su modelo, hace uso de derivadas parciales de la función de costo. Sin embargo, el cálculo en este caso es mínimo y a menudo se le da la forma de las derivadas parciales. Si está interesado en aprender el aprendizaje automático, consulte el curso de Andrew Ng: http://www.ml-class.org

Tomaré una grieta diferente: llegar a nivel intermedio en Python lo antes posible.

Luego retrocede. Por ejemplo, si no conoce PCA, búsquelo. Es posible que comprenda mejor las matemáticas a través del código. Y solo aprendes lo que necesitas. ¿Por qué? Puedes pasar años aprendiendo las matemáticas …

Bonificación: a través de la codificación obtienes una sensación más intuitiva de las matemáticas, lo que considero mucho más importante.

PD: si quieres aprender el 80% de las matemáticas de ML en un solo libro (!), Te recomiendo “Matemáticas esenciales para el análisis económico”. ¡Esto te lleva muy lejos!

En mi opinión, esto lo prepara para leer el libro de matemáticas ML más importante: ELEMENTOS DEL ANÁLISIS ESTADÍSTICO.

Sin conocer la probabilidad básica y las estadísticas, no hay forma de que comprenda completamente las series de tiempo aplicadas. Pero si no tiene tiempo para tomar Series de tiempo aplicadas en el futuro, tome ese curso y estudie solo una parte ‘relevante’ del curso de Probabilidad básica y estadística , como variables aleatorias, expectativas, distribuciones, Ley de grandes números, etc.

Matemáticas

  • Álgebra lineal
  • Optimizacion convexa

Estadística

  • Teoría de probabilidad
  • Muestreo estadístico
  • Estadísticas multivariantes
  • Regresión

No he incluido cursos de informática en la lista. Otra expectativa importante sería comprender el tema en el que desea aplicar el aprendizaje automático. (Un ejemplo crudo sería biología si vas a jugar con datos genéticos)

Datos recopilados por mí mismo:
En línea :
Academia Khan – Nivel principiante
Página en wtamu.edu – Nivel principiante
MIT OpenCourseWare – Álgebra lineal – Intermedio
Libros :
Álgebra lineal de Strang y sus aplicaciones, – Nivel intermedio

1.) Álgebra lineal, vectores, determinantes y matrices.
2.) Diferenciación, derivadas parciales, integración, ecuaciones diferenciales, cálculo multivariante.
3.) Análisis numérico
4.) Técnicas de optimización.
5.) Probabilidad, prueba de hipótesis, series de tiempo y estadísticas en general.

Para obtener más sugerencias, mire el video en youtube y luego lea el artículo.

Las matemáticas del aprendizaje automático

Vota si crees que esto fue útil. 🙂

Hay cursos sobre análisis de datos, aprendizaje automático y algunos otros cursos de estadística de la Universidad John Hopkins en Coursera. Estos cursos tienen las matemáticas necesarias para comprender la minería de datos / aprendizaje automático.

Los temas importantes que deben entenderse son álgebra lineal, regresión, diferentes tipos.
de distribuciones, modelos estadísticos e inferencias.

El aprendizaje automático se está convirtiendo en un área muy grande. La respuesta a su pregunta depende principalmente de los enfoques de aprendizaje automático que le interesen.

En general, diría:

  • Álgebra lineal
  • Estadística

Estas dos áreas cubrirán la mayor parte de los conceptos matemáticos involucrados en las técnicas de ML más utilizadas en la actualidad.

Hice un episodio de podcast sobre las matemáticas que necesita para el aprendizaje automático y los recursos para el aprendizaje (si le gusta el audio): Guía de aprendizaje automático # 8

Repase el álgebra lineal, la probabilidad y el cálculo. Si estás realmente oxidado en matemáticas, revisa las anotaciones comunes también. Si ya está familiarizado con las tres áreas que mencioné, entonces la mejor manera de repasar sería leer libros de ML teóricos como el reconocimiento de patrones de Bishop … revise los algoritmos y busque las matemáticas en caso de que no entienda eso.

No, necesita al menos una introducción en álgebra lineal y métodos numéricos. Los métodos de optimización son una ventaja, también algunos procesamientos de señal pueden ayudar dependiendo de la subárea exacta de aprendizaje automático que desee estudiar.

Coursera – Curso sobre análisis de datos e inferencia estadística. Toda la matemática requerida está disponible en esto.

More Interesting

¿Por qué no es una práctica estándar publicar pesos de modelos entrenados junto con el código fuente para trabajos de investigación de aprendizaje profundo?

¿A qué se refiere el concepto de sesgo de presentación-retroalimentación en el contexto del aprendizaje automático?

¿Cuál es la mejor manera de crear un conjunto de capacitación para el aprendizaje automático?

¿Cómo validaría un modelo que creó para generar un modelo predictivo de una variable de resultado cuantitativa mediante regresión múltiple?

Cómo evaluar la agrupación de k-medias en R

Además del aprendizaje profundo, ¿qué otras herramientas de extracción de funciones están funcionando o son prometedoras para el aprendizaje automático?

¿Cuál es la relación entre los modelos gráficos probabilísticos y las redes neuronales (aprendizaje profundo)?

¿Cuál es la mejor manera de combinar datos clínicos y de imagen en un enfoque de aprendizaje profundo?

¿Qué áreas del aprendizaje automático son más importantes para los fondos de cobertura y los bancos de inversión (en equipos cuantitativos)?

¿Existe la idea de utilizar la regularización para evitar el sobreajuste en la econometría, como lo enseñan los economistas?

¿Cómo calcula la regresión logística de liblinear los gradientes (por ejemplo, diferenciación numérica o automática)?

¿Es posible agregar una nueva entrada a la capa totalmente conectada justo antes del softmax en la CNN?

¿Cómo se usa el aprendizaje automático para los datos de EEG?

¿Cómo funciona el texto predictivo?

¿Es posible o hay algún documento sobre el ajuste de hiperparámetros usando aprendizaje de refuerzo o regresión?