¿Cuáles son los requisitos previos 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 escalas y vectores y matrices – vectores de características, matrices de pesos, etc. Realiza la multiplicación de matrices vectoriales como, por ejemplo, en regresión logística, redes neuronales … O sí lo hace matriz transponga primero y luego multiplique (por ejemplo, en propagación de error en redes neuronales). A veces es necesario realizar un agrupamiento de la entrada, tal vez utilizando técnicas de agrupamiento espectral, lo que requiere que se conozca qué valores propios son, son los vectores propios . A veces es necesario tomar inversos de matrices, por ejemplo, al calcular el inverso de la matriz de covarianza para ajustar un gaussiano distribución. Así que ahora sabes POR QUÉ necesitas el álgebra lineal.

QUÉ: Teoría de la optimización POR QUÉ: ¿Cómo entrena los pesos de su modelo para minimizar el error de entrenamiento? Respuesta: optimización. Es posible que necesite saber cómo tomar la función de derivadas 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 las arpillera si estás haciendo una optimización de segundo orden como LBFGS ? Es posible que deba aprender qué son los pasos de Newton, tal vez para resolver búsquedas de líneas . Necesitará comprender los derivados funcionales para comprender mejor los árboles de decisión mejorados por degradado. Necesitará 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ísticas POR QUÉ: Cuando está haciendo aprendizaje automático, está principalmente después de 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 como para una observación conocida, usted sabe que tiene un buen modelo a la mano. Es un criterio de bondad. Las estadísticas lo ayudan a contar bien, a normalizarse bien, a obtener distribuciones , a 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ñales POR QUÉ: Por lo general, no alimenta información sin procesar a sus sistemas de aprendizaje automático. Usted hace algún tipo de procesamiento previo. Por ejemplo, le gustaría extraer algunas características de la señal de voz de entrada, o una imagen. Ahora, la extracción de estas funciones necesita que usted conozca 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é funciona la extracción de características y qué no. Le gustaría saber qué es una transformada de Fourier porque tal vez le gustaría aplicarla a la señal de voz o tal vez aplicar la transformada de coseno discreta a las imágenes antes de usarlas como funciones para su sistema de aprendizaje automático.

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

TL; DR – Sí, es posible acceder a aplicaciones útiles sin “mucho” de matemáticas. Pero hay limitaciones.

La respuesta de Tom Seward es genial. Intentaré añadir 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. Define tu negocio / pregunta de investigación.
  2. Recopilar y munge datos adecuados.
  3. Limpia los datos.
  4. Modelar los datos utilizando el aprendizaje automático.
  5. Integrar 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, al utilizar 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 las varias clases predefinidas (clasificación), agrupar los datos en instancias similares (agrupación en clústeres) u otra tarea. Algunos libros que ayudan a encuadrar un problema de aprendizaje automático son http://www.amazon.com/Programmin … y
http://www.cs.waikato.ac.nz/ml/w
Ambos libros se pueden entender utilizando principalmente matemáticas elementales.

Las siguientes herramientas de código abierto le permiten ejecutar muchos algoritmos de aprendizaje automático en su problema y comparar los resultados.
No se necesita matemática, en algunos casos ni siquiera 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 no se cumplen las suposiciones, es cuando necesitas sumergirte más en los detalles sangrientos. En orden relativo de importancia, OMI, estos son:
a. probabilidad.
segundo. álgebra lineal.
do. estadística.
re. pre-cá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ás exento de esta parte de las matemáticas.

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. Sólo ve a través de los requisitos previos anteriores.

Si quieres aprender Aprendizaje automático, te sugeriré

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

Aprendizaje automático AZ ™: práctica en Python & R en Data Science

Aquí puedes aprender

  • Parte 1 – Preprocesamiento de datos
  • Parte 2 – Regresión: Regresión lineal simple, Regresión lineal múltiple, Regresión polinomial, RVS, Regresión del árbol de decisión, Regresión aleatoria de bosques
  • Parte 3 – Clasificación: Regresión logística, K-NN, SVM, SVM del núcleo, Bayes ingenuos, Clasificación del árbol de decisión, Clasificación de bosques aleatorios
  • Parte 4 – Agrupación en clúster: K-medias, agrupación jerárquica
  • Parte 5 – Aprendizaje de reglas de asociación: Apriori, Eclat
  • Parte 6: Aprendizaje por refuerzo: confianza superior, muestreo de Thompson
  • Parte 7 – Procesamiento de 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 la dimensionalidad: PCA, LDA, PCA de núcleo
  • Parte 10 – Selección de modelo y realce: validación cruzada en k-fold, ajuste de parámetros, búsqueda de cuadrícula, XGBoost

Además, el curso está lleno de ejercicios prácticos que se basan en ejemplos en vivo. Así que no solo aprenderá la teoría, sino que también obtendrá práctica práctica en la construcción de sus propios modelos.

Todo lo mejor .

Bueno, por nombrar algunos, cálculo, álgebra lineal, teoría de la probabilidad, estadísticas y alguna optimización. A continuación, enumero algunos de los temas que debes conocer, respectivamente.
Cálculo : necesita saber cómo calcular los derivados / gradientes como uno de los métodos de optimización más comunes utilizados en el aprendizaje automático, el descenso del gradiente, en realidad necesita calcular el gradiente.
Álgebra lineal : debe sentirse cómodo con las representaciones y los cálculos en términos de vectores y matrices en lugar de números simples. Además, a veces es posible que tenga que aplicar el cálculo junto con el álgebra lineal, por ejemplo, para encontrar las derivadas de una función con respecto a un vector (¿suena misterioso?). Además, conceptos como transposición e inverso también son fundamentales.
Teoría de la probabilidad : es necesario dominar algunos conceptos básicos como la probabilidad condicional y la independencia (estos dos se utilizan en un algoritmo ML clásico 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 más alta 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 lo menos importante, es posible que primero deba decidir qué estilo / sabor de ML desea aprender.
Si desea centrarse en la teoría matemática de la LM (qué y por qué), entonces se requerirá una sólida formación en matemáticas, como el COS 511, Primavera 2014: Hogar ofrecido por Rob Schapire en Princeton. También puede esperar enfocarse en implementaciones (cómo), entonces será menos matemático (más fácil 🙂). De hecho, es probable que no tenga que entender mucho acerca de los fundamentos matemáticos del algoritmo ML para que funcione. En su lugar, solo necesitas recordar algunos trucos. Un curso de este estilo es Página en coursera.org ofrecido por Andrew Ng en Stanford.
En conclusión, el aprendizaje automático es divertido y no tan difícil como podría pensar. ¡Disfrútala!

Respuesta corta: cuantas más matemáticas tengas en tu haber, mejor.

Respuesta más larga:

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

Si su objetivo es trabajar como ingeniero de aprendizaje automático, entonces será más beneficioso usar más matemáticas aplicadas. Este tipo de rol se centrará en gran medida en el álgebra lineal, el cálculo multivariable y la teoría de la probabilidad, por lo que son una necesidad.

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ás con muchos algoritmos de caja negra en SAS, SPSS, Stata, por lo que harán mucho del trabajo matemático por ti. Lo que más le costará es saber cómo corregir estos algoritmos cuando se descomponen, ajustar curvas adecuadas a sus datos o diseñar nuevas funciones.

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á empezando a producir cursos de ML. Si encuentra que puede mantenerse al día con el contenido, entonces genial. Si luchas por partes de él, tómate tu tiempo y aprende los antecedentes que necesitas.

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 en realidad nunca calculan la derivada de nada, la idea es poder leer sobre nuevos trabajos y tener una idea de cómo podría ayudarte).

He visto a pasantes ir directamente a la oficina desde la escuela secundaria y hacerlo bien con este fondo. La finalización de la programación de las cosas es más probable que sea un factor limitante.

Los mayores determinantes de su éxito probablemente serán su voluntad de 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 empirismo implacable.

¡Buena suerte!

Sin conocer la probabilidad básica y las estadísticas, no hay forma de que usted entienda completamente las Series de Tiempo Aplicadas. Pero si no tendrá tiempo para tomar las Series de Tiempo Aplicadas en el futuro, tome ese curso y estudie solo la parte ‘relevante’ del curso de Probabilidad Básica y Estadísticas , como variables aleatorias, expectativas, distribuciones, Ley de grandes números, etc.

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

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

Bonificación: a través de la codificación, obtienes un sentimiento más intuitivo para las matemáticas, lo que considero más importante.

PD: si desea aprender el 80% de las matemáticas ML en un solo libro (!), Recomiendo altamente “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 más importante de ML: ELEMENTOS DEL ANÁLISIS ESTADÍSTICO.

Los modelos básicos (regresión lineal, regresión logística, ANN, SVM y k-means clustering) 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, utiliza derivadas parciales de la función de costo. Sin embargo, el cálculo en este caso es mínimo y la forma de las derivadas parciales a menudo se le asigna. Si está interesado en aprender el aprendizaje automático, consulte el curso de Andrew Ng: http://www.ml-class.org

Matemáticas

  • Álgebra lineal
  • Optimizacion convexa

Estadística

  • Teoría de probabilidad
  • Muestreo estadístico
  • Estadisticas multivariadas
  • Regresión

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

Datos recogidos por mí mismo:
En linea :
Khan Academy – Nivel de principiante
Página en wtamu.edu – Nivel principiante
MIT OpenCourseWare – Álgebra Lineal – Intermedio
Libros
Álgebra Lineal de Strang y sus Aplicaciones, – Nivel Intermedio

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, yo 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 LD más utilizadas en la actualidad.

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

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

Las matemáticas del aprendizaje automático.

Vota si crees que esto fue útil. 🙂

Repasar el álgebra lineal, la probabilidad y el cálculo. Si estás realmente oxidado en matemáticas, revisa las notaciones comunes también. Si tiene familiaridad previa con las tres áreas que mencioné, entonces la mejor manera de cepillarlas sería leer un libro teórico de NM como el reconocimiento de patrones de Bishop. Revise los algoritmos y busque las matemáticas en caso de que no entienda. eso.

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 n.º 8

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

Son álgebra lineal, vector, matriz, cálculo y capacidad para leer y escribir ecuaciones, manual y programáticamente, usando esas cosas.

Para cubrir todas sus bases, una comprensión del álgebra lineal, estadísticas introductorias, teoría de probabilidad introductoria y familiaridad con los procesos estocásticos.

Para facilitarlo, vincularé un documento que describe en detalle qué tipo de matemáticas necesita y por qué.
http://courses.washington.edu/cs