Cómo aprender el aprendizaje automático.

(Reescribiendo la misma respuesta para ayudar a más personas)

Para dominar Machine Learning (ML), uno tiene que ser bueno en matemáticas, programación y conocimiento de dominio. El conocimiento del dominio (por ejemplo, cómo tratar con imágenes, audio, series de tiempo financieras, etc.) cambia de una clase de problema a otro, así que concentrémonos en los dos primeros.

¿Por qué las matemáticas? : necesitamos matemáticas para entender los algoritmos / modelos de aprendizaje automático o para implementar nuevos. Hay una gran cantidad de modelos que ya están construidos. Incluso cuando estamos usando modelos existentes, necesitamos entender el funcionamiento interno del algoritmo para poder ajustar los parámetros hiperactivos . El modelo individual puede no dar los mejores resultados para todos los problemas (sin almuerzo gratis). El modelo a usar para el problema dado es muy importante y para elegir el modelo correcto , uno necesita entender el funcionamiento interno / las matemáticas.

Afortunadamente no necesitas todas las matemáticas, sino solo algunas subramas:

  • Álgebra lineal
  • Teoría de probabilidad
  • Mejoramiento
  • Cálculo
  • Teoría de la información y teoría de la decisión (bueno saber)

¿Por qué programar? La programación es necesaria para usar modelos ML (o crear uno nuevo), obtener los datos de varias fuentes, limpiar los datos, elegir las funciones correctas y validar si el modelo ha aprendido correctamente. Afortunadamente no tienes que ser un programador experto. Algunos lenguajes de programación son preferidos para hacer ML que otros porque tienen un gran número de bibliotecas con la mayoría de los modelos de ML ya implementados.

Idiomas adecuados para ML

  • Python (mejor para principiantes y avanzados)
  • R (tiempo de ejecución bueno pero lento)
  • Matlab (bueno pero costoso y lento)
  • Julia (Mejor futuro! Muy rápido, bueno, bibliotecas limitadas, ya que es nueva)
  • C ++ (difícil, muy rápido, usado en producción)

Recomiendo a los principiantes comenzar con Python y aprender solo las matemáticas requeridas de los libros y cursos en línea. Algunos buenos libros en ML y Deep Learning (DL)

Libros:

  • Elementos del aprendizaje estadístico.
  • Reconocimiento de patrones y aprendizaje automático
  • Libro de aprendizaje profundo

Cursos:

  • Aprendizaje Automático en Coursera
  • Aprendizaje Profundo en Coursera

Para el nivel avanzado, debe tener la intuición de cómo funcionan los modelos (no solo leer las ecuaciones matemáticas). Para eso, necesitas pasar mucho tiempo trabajando en varios problemas de ML / DL. Al final del día, ML es más un arte, te vuelves bueno con la práctica. También necesitas leer muchos papeles.

Práctica:

  • Kaggle

Papeles:

  • arXiv.org e-Print archive (elegir bien una vez, no todos son buenos)
  • CVPR, NAACL
  • NIPS, ICLR, ICML etc.

Si lees e implementas muchos buenos artículos (por ejemplo, 100) te convertirás en un experto en ML / DL. Después de este punto, puede crear sus propios algoritmos y comenzar a publicar su trabajo.

Obviamente creo que mi libro de texto de Aprendizaje automático es bastante bueno 🙂 Sin embargo, la versión actual es bastante difícil para los principiantes. En realidad estoy en el proceso de escribir la segunda edición, que aumentará más lentamente, haciéndola más accesible para los principiantes. (También estoy agregando nuevo contenido sobre aprendizaje profundo, aprendizaje por refuerzo, etc.) Pero me llevará un tiempo terminar (¿2 años?).

Mientras tanto, hay muchos buenos libros disponibles. Ver, por ejemplo, esta lista: josephmisiti / awesome-machine-learning. Un libro que creo que es particularmente bueno para los principiantes es Introducción al aprendizaje estadístico, por James, Witten, Hastie y Tibshirani. Tiene algunas referencias a conceptos de estadísticas frecuentistas, como p-valores (que puede ignorar con seguridad :), y no cubre temas como aprendizaje profundo o modelos gráficos, pero es un buen lugar para comenzar.

A2A.

I. LA GRAN IMAGEN:

Problema que intentamos resolver : dados algunos datos, el objetivo del aprendizaje automático es encontrar patrones en los datos. Hay varios entornos, como aprendizaje supervisado, aprendizaje no supervisado, aprendizaje por refuerzo, etc. Pero el más común es el aprendizaje supervisado; así que vamos a centrarnos solo en eso en el panorama general. Aquí, se le dan datos etiquetados [llamados “datos de entrenamiento”], y desea inferir etiquetas sobre datos nuevos [llamados “datos de prueba”]. Por ejemplo, considere los coches de auto-conducción. Los datos etiquetados incluirían la imagen de la carretera por delante en una instancia particular vista desde el automóvil, y la etiqueta correspondiente sería el ángulo de dirección [supongamos que la velocidad se controla manualmente, para simplificar]. El objetivo del auto manejo es que, dada una nueva imagen de la carretera por delante, el sistema debería poder determinar el ángulo de giro óptimo.

Cómo resolverlo : la mayor parte del aprendizaje automático supervisado se puede ver utilizando el siguiente marco: se le dan puntos de datos de entrenamiento [math] (x_1, y_1), \ ldots, (x_n, y_n) [/ math], donde [math] x_i [/ ​​math] son ​​los datos [por ejemplo, imagen de carretera en el ejemplo anterior], y [math] y_i [/ ​​math] es la etiqueta correspondiente. Desea encontrar una función [math] f [/ math] que se ajuste bien a los datos, es decir, dado que [math] x_i [/ ​​math], genera algo lo suficientemente cerca de [math] y_i [/ ​​math]. Ahora, ¿de dónde obtiene esta función [math] f [/ math]? Una forma, que es la más común en ML, es definir una clase de funciones [math] \ mathcal {F} [/ math], y buscar en esta clase la función que mejor se ajuste a los datos. Por ejemplo, si desea predecir el precio de un apartamento en función de características como el número de habitaciones, el número de baños, el área cubierta, etc., puede suponer razonablemente que el precio es una combinación lineal de todas estas características, en cuyo caso, la clase de función [math] \ mathcal {F} [/ math] se define como la clase de todas las funciones lineales. Para los autos que conducen solos, la clase de función [math] \ mathcal {F} [/ math] que necesitará será mucho más compleja.

Cómo evaluar : Tenga en cuenta que simplemente ajustar los datos de entrenamiento no es suficiente. Los datos son ruidosos: por ejemplo, todos los apartamentos con el mismo número de habitaciones, el mismo número de baños y la misma área cubierta no tienen el mismo precio. De manera similar, si etiqueta datos para autos que conducen por cuenta propia, puede esperar cierta aleatoriedad debido al conductor humano. Lo que necesita es que su marco sea capaz de extraer el patrón e ignorar el ruido aleatorio. En otras palabras, debería funcionar bien con datos invisibles . Por lo tanto, la forma de evaluar los modelos es mantener una parte de los datos de entrenamiento [llamado “conjunto de validación”], y predecir sobre estos datos ocultos para medir qué tan bueno es su modelo.

Ahora, independientemente de lo que estudie en el aprendizaje automático, debe tratar de relacionar los temas con el panorama general anterior. Por ejemplo, en la regresión lineal, la clase de función es lineal y el método de evaluación es la pérdida cuadrada, en la SVM lineal, la clase de función es lineal y el método de evaluación es la pérdida de la bisagra, y así sucesivamente. Primero entienda estos algoritmos en alto nivel. Luego, entra en los detalles técnicos. Verá que encontrar la mejor función [math] f [/ math] en la clase de función [math] \ mathcal {F} [/ math] a menudo resulta en un problema de optimización, para el cual utiliza el descenso de gradiente estocástico.


II. CAMINO PARA EL APRENDIZAJE DE LA MÁQUINA DE APRENDIZAJE:

Para tener una base matemática básica, necesita tener algún conocimiento de los siguientes conceptos matemáticos:
– Probabilidades y estadísticas
– Álgebra lineal
– Optimización
– Cálculo multivariable
– Análisis funcional (no esencial).
– Lógica de primer orden (no esencial).
Puede encontrar material razonable en la mayoría de estos buscando “notas de lectura” en Google. Por lo general, encontrará buenas notas de clase compiladas por algún profesor que enseña ese curso. Los primeros resultados deben darle un buen conjunto para elegir. Vea la respuesta de Prasoon Goyal a ¿Cómo debo comenzar a aprender las matemáticas para el aprendizaje automático y desde dónde?
Hojea estos. No es necesario que los revises con mucho detalle. Puede volver a estudiar las matemáticas cuando sea necesario mientras aprende ML.

Luego, para obtener una descripción general rápida de ML, puede seguir la siguiente hoja de ruta (escribí sobre muchos de estos temas en varias respuestas en Quora; vinculé las más relevantes para una referencia rápida).

Día 1:

  • Terminología básica:
    1. Configuraciones más comunes: configuración supervisada, configuración no supervisada, configuración semi-supervisada, aprendizaje de refuerzo.
    2. Problemas más comunes: Clasificación (binario y multiclase), Regresión, Agrupación en clúster.
    3. Preprocesamiento de datos: Normalización de datos.
    • Conceptos de conjuntos de hipótesis, error empírico, error verdadero, complejidad de conjuntos de hipótesis, regularización, compensación sesgo-varianza, funciones de pérdida, validación cruzada.

    Dia 2:

    • Conceptos básicos de optimización:
      1. Terminología y conceptos básicos: optimización convexa, lagrangiano, problemas primarios y duales, gradientes y subgradientes, [math] \ ell_1 [/ math] y [math] \ ell_2 [/ math] funciones objetivas regularizadas.
      2. Algoritmos: Pendiente de gradiente de lotes y gradiente de gradiente estocástico, Pendiente de gradiente de coordenadas.
      3. Implementación: escriba el código para el descenso del gradiente estocástico para una función objetivo simple, ajuste el tamaño del paso y obtenga una intuición del algoritmo.

      Día 3:

      • Clasificación:
        1. Regresión logística
        2. Máquinas de vectores de soporte: intuición geométrica, formulaciones primarias-duales, noción de vectores de soporte, truco del kernel, comprensión de los hiperparámetros, búsqueda en cuadrícula.
        3. Herramienta en línea para SVM: juegue con esta herramienta en línea para SVM (desplácese hacia abajo hasta “Interfaz gráfica”) para obtener una intuición del algoritmo.

        Día 4:

        • Regresión:
          1. Regresión de cresta
          • Agrupamiento
            1. k-medias y algoritmo de expectativa-maximización.
            2. Clúster jerárquico de arriba hacia abajo y de abajo hacia arriba.

            Dia 5:

            • Métodos bayesianos:
              1. Terminología básica: antecedentes, posteriores, probabilidad, estimación de máxima verosimilitud e inferencia máxima a posteriori.
              2. Modelos de mezclas gaussianas
              3. Asignación de Dirichlet Latente: El modelo generativo y la idea básica de la estimación de parámetros.

              Día 6:

              • Modelos gráficos:
                1. Terminología básica: redes bayesianas, redes Markov / campos aleatorios Markov.
                2. Algoritmos de inferencia: eliminación de variables, propagación de creencias.
                3. Ejemplos simples: Modelos ocultos de Markov. Modelo de ising

                Días 7–8:

                • Redes neuronales:
                  1. Terminología básica: Neurona, función de activación, capa oculta.
                  2. Redes neuronales convolucionales: capa convolucional, capa de agrupación, Backpropagation.
                  3. Redes neuronales basadas en la memoria: redes neuronales recurrentes, memoria a corto y largo plazo.
                  4. Tutoriales: estoy familiarizado con este tutorial de Torch (querrá ver el directorio [math] \ texttt {1_supervised} [/ math]). Puede haber otros tutoriales en otros marcos de aprendizaje profundo.

                  Día 9:

                  • Temas varios:
                    1. Métodos de conjunto
                    2. Árboles de decisión
                    3. Sistemas de recomendación
                    4. Procesos de decisión de markov
                    5. Bandidos multiestados

                    Día 10: (día del presupuesto)

                    • Puede usar el último día para ponerse al día con cualquier cosa que haya quedado de los días anteriores, u obtener más información sobre el tema que le resulte más interesante / útil para su trabajo futuro.

                    Una vez que haya pasado por lo anterior, querrá comenzar con algún curso estándar en línea o texto ML. El curso de Andrew Ng en Coursera es un buen punto de partida. Una versión avanzada del curso está disponible en The Open Academy (Aprendizaje de máquinas | The Open Academy). Los libros populares con los que tengo experiencia son los siguientes:

                    • Reconocimiento de patrones y aprendizaje automático: Christopher Bishop
                    • Aprendizaje automático: una perspectiva probabilística: Kevin P. Murphy

                    Si bien el libro de Murphy es más actual y más elaborado, creo que Bishop’s es más accesible para los principiantes. Puedes elegir uno de ellos según tu nivel.
                    En este punto, debe tener un conocimiento práctico del aprendizaje automático. Más allá de esto, si está interesado en un tema en particular, busque recursos específicos en línea sobre el tema, lea artículos seminales en el subcampo, intente encontrar algunos problemas más simples e impleméntelos.


                    Para el aprendizaje profundo, aquí hay un tutorial del laboratorio de Yoshua Bengio que se escribió en los primeros días de aprendizaje profundo: Tutoriales de aprendizaje profundo. Esto explica las ideas centrales en el aprendizaje profundo, sin entrar en muchos detalles.

                    Debido a que el aprendizaje profundo es un campo más empírico que teórico, es importante codificar y experimentar con modelos. Aquí hay un tutorial en TensorFlow que brinda implementaciones de muchas tareas diferentes de aprendizaje profundo: aymericdamien / TensorFlow-Example. Intente ejecutar los algoritmos y juegue con el código para comprender mejor los conceptos subyacentes.

                    Finalmente, puede consultar el libro Deep Learning, que explica el aprendizaje profundo de una manera mucho más sistemática y detallada. Para los últimos algoritmos que no están en el libro, deberá consultar los documentos originales.


                    III. CONSEJOS PARA LA IMPLEMENTACIÓN:

                    Hay diferentes niveles en los que puedes entender un algoritmo.

                    En el nivel más alto, sabes qué es lo que un algoritmo está tratando de hacer y cómo. Así, por ejemplo, el descenso de gradiente encuentra un mínimo local dando pequeños pasos a lo largo del gradiente negativo.

                    Yendo un poco más profundo, profundizarás en las matemáticas. Una vez más, tomando el descenso de gradiente, por ejemplo, aprenderá cómo usar el gradiente para cantidades vectoriales, normas, etc. En aproximadamente el mismo nivel de profundidad, también tendrá otras variantes del algoritmo, como las restricciones de manejo en el descenso de gradiente. Este es también el nivel en el que aprendes a usar las bibliotecas para ejecutar tu algoritmo específico.

                    Más profundo, implementa el algoritmo desde cero, con pequeños trucos de optimización. Por ejemplo, en Python, deseará usar vectorización. Considere los siguientes dos fragmentos de código:

                    # Versión 1:

                    importar numpy como np

                    N = 10000000
                    a = np.random.rand (N, 1)
                    b = np.random.rand (N, 1)

                    para i en rango (N):
                    s = s + a [i] * b [i]

                    imprimir s

                    # Versión 2:

                    importar numpy como np

                    N = 10000000
                    a = np.random.rand (N, 1)
                    b = np.random.rand (N, 1)

                    s = a * b

                    imprimir s

                    Ambos tienen la misma funcionalidad, pero el segundo es 20 veces más rápido. De manera similar, aprenderá algunas otras técnicas de implementación importantes, como paralelizar código, crear perfiles, etc. También aprenderá algunos detalles específicos del algoritmo, como cómo inicializar su modelo para una convergencia más rápida, cómo establecer la condición de terminación para el intercambio. la precisión y el tiempo de entrenamiento, cómo manejar los casos de esquina [como los puntos de silla de montar en pendiente de gradiente], etc. Finalmente, aprenderá técnicas para depurar el código de aprendizaje automático, que a menudo es complicado para los principiantes.

                    Finalmente, llega la profundidad a la que se escriben las bibliotecas. Esto requiere mucho más conocimiento de sistemas que los pasos anteriores: saber cómo manejar datos muy grandes, eficiencia computacional, administración de memoria efectiva, escritura de código GPU, multihilo efectivo, etc.


                    Ahora, ¿con cuántos detalles necesitas conocer los algoritmos? En su mayor parte, no necesita conocer los algoritmos en la profundidad de la implementación de la biblioteca, a menos que esté en la programación de sistemas. Para los algoritmos más importantes en el descenso de gradiente similar a ML, SVM, regresión logística, redes neuronales, etc., es necesario comprender las matemáticas y cómo usar las bibliotecas para ejecutarlas. Esto sería suficiente si no es un ingeniero de ML, y solo usa ML como una caja negra en su trabajo diario.

                    Sin embargo, si va a trabajar como ingeniero de ML / científico de datos / científico de investigación, también debe implementar algunos algoritmos desde cero. Por lo general, los cubiertos en cursos en línea son suficientes. Esto te ayuda a aprender muchos más matices de diferentes herramientas y algoritmos. Además, esto le ayudará con los nuevos algoritmos que podría necesitar implementar.

                    He estado tratando de aprender Machine Learning durante el último año y medio. Así que creo que estoy en una buena posición para responder a esta pregunta.

                    Lo primero y lo más importante que debes recordar es aclarar tus conceptos básicos. Por conceptos básicos quiero decir que debes estar familiarizado con Probabilidad y Álgebra Lineal. No necesita dominar estos temas, pero debe comprender que si algún algoritmo dice subespacio, base, iid, independiente, correlación y todos estos términos, entiende lo que significan y no los toma “tal cual”. Conocí a personas que realizaron 2 3 cursos en línea sobre Aprendizaje automático y apliqué 2,3 algoritmos en algunos conjuntos de datos (al aplicar me refiero a que solo copian material de github), y creen que han aprendido Aprendizaje automático y están listos para resolver la Ciencia de datos problemas. Créeme, este es un enfoque muy malo, hoy en día hay bibliotecas que tienen muy buenas API para tareas de ML, y puedes usarlas para realizar cosas de ML. Pero solo usarlos sin saber cosas debajo del capó no te ayudará en el largo plazo. Así que mejor empezar con lo básico, las matemáticas.

                    Una vez que haya terminado con las Matemáticas, comience a leer algunos libros “buenos” para la comprensión teórica del aprendizaje automático. Pero recuerde que siempre debe comenzar con un libro de introducción básico sobre ML y no saltar de inmediato a libros de fantasía. Recomendaría el libro de Tom Mitchell en ML para empezar. Algunas personas recomiendan a Duda y Hart para los principiantes, pero creo que el libro es demasiado teórico y no es necesario en el mundo real. El libro de Tom Mitchell sobre ML es una buena lectura.

                    Si ha terminado con eso, comience algunos “buenos” cursos en línea sobre Aprendizaje automático, le recomendaría que vea los videos de Andrew Ng en ML (versión de Stanford, no la de Coursera). También puedes ver los videos de Caltech, también son bastante buenos. Empieza a leer el libro de Bishop sobre Machine Learning. Hará algunos cimientos sólidos.

                    Una vez que haya terminado, empiece a aplicar esos conceptos en datos del mundo real (kaggle es su mejor opción, ya que los conjuntos de datos son reales y le darán una idea de cómo se usa la ciencia de datos en el mundo real). Esta es la mejor manera de aplicar y probar su comprensión de ML.

                    Creo que este es un buen camino para aprender Aprendizaje automático. Buena suerte !!

                    [La pregunta original era: ¿Cómo aprendo el aprendizaje automático, la inteligencia artificial y el procesamiento del lenguaje natural? ]

                    La Inteligencia Artificial es un campo muy grande y abarca subcampos como PNL, Reconocimiento de Voz, Visión por Computador, Robótica, etc. Estos subcampos que acabo de mencionar son aplicaciones de Aprendizaje Automático, que básicamente no son más que estadísticas y probabilidades aplicadas. Por lo tanto, para comenzar a entender cualquiera de las áreas anteriores, uno tiene que comenzar con lo básico: teoría de probabilidad, estadística, álgebra lineal, optimización y teoría de la información. El dominio de estos 5 temas, en mi opinión, es absolutamente esencial para entender y apreciar la teoría detrás de campos como la PNL, la Visión por Computador y el Aprendizaje Automático en general.

                    Si recién está comenzando y no ha tomado ninguno de los cursos que mencioné, le sugeriría que pasara uno o dos años aprendiendo sobre ellos, resolviendo problemas detrás de los capítulos y ganando confianza en estas áreas. Créame, estos primeros años en los que invierta para que sus conceptos básicos queden bien saldrá bien en el futuro. Si tiene una base sólida, no solo apreciará la teoría detrás de estos campos, sino que también podrá crear nuevas ideas innovadoras.

                    Hay muchos libros que enseñan probabilidad, estadística, teoría de la información, etc., pero personalmente me parece muy útil lo siguiente en mis días de posgrado.

                    Para probabilidad y estadísticas: Libro de Stark y Woods ‘Probabilidad y procesos aleatorios con aplicaciones al procesamiento de señales’

                    Para la teoría de la información: Libro de Thomas y Portada ‘Elementos de la teoría de la información’

                    Para el álgebra lineal, además de muchos grandes libros como ‘Matrix Analysis’ de ‘Horn and Johnson’, también recomendaría las conferencias en video de Gilbert Strang sobre álgebra lineal (cortesía de OCW-MIT).

                    En cuanto a los lenguajes de programación, uno podría usar cualquiera. Sin embargo, yo elegiría Python. Python es un lenguaje de alto nivel bien soportado con muchas bibliotecas de terceros escritas para hacer investigación de aprendizaje automático.

                    Mi recomendación es un poco diferente de otras que respondieron esta pregunta; Supongo que quieres convertirte en una estrella en Machine Learning AND Engineering.

                    ¿Por qué hago la distinción? Bueno, hay muchas personas en el mercado que son grandes ingenieros y también hay muchas personas que son excelentes en el aprendizaje automático, pero hay una gran escasez de grandes ingenieros de aprendizaje automático.

                    Los ingenieros que son excelentes en ambos campos son básicamente unicornios y son al menos 10 veces más valiosos que alguien que es excelente en solo uno de los campos. Estos son los ingenieros que no solo trabajan en algoritmos o sistemas todo el día, sino que lanzan productos de personalización en el mercado. Estos son los tipos de ingenieros que están detrás de los equipos de personalización en compañías como Amazon, Netflix, LinkedIn y muchas nuevas empresas de personalización exitosas.

                    Entonces, ¿qué haces si quieres convertirte en uno de estos unicornios? (En ningún orden en particular)

                    1. Aprende a ser un gran ingeniero . Aprende múltiples idiomas y sé realmente bueno en ellos. No solo se centre en un solo idioma como Python como lo hacen muchos Ingenieros de Aprendizaje Automático. En su lugar, amplíe su alcance para incluir lenguajes como Java, C ++, Scala y JavaScript. Esto le permitirá unirse a un equipo y comenzar a trabajar con los sistemas de cualquier empresa con los que trabaje.

                    2. Aprenda a construir sistemas distribuidos de gran escala . Construya sistemas que tengan un SLA de 50ms y tome cientos o miles de transacciones por segundo. Idealmente, los sistemas que son críticos para que una empresa funcione. La ingesta de eventos en tiempo real y los sistemas de recomendaciones son ideales.

                    3. Construya sus fundamentos de aprendizaje automático estudiando algunos materiales sobre el tema:

                    4. Juega con algunos grandes conjuntos de datos que están disponibles públicamente . ¡Encuentre un conjunto de datos que le parezca personalmente interesante o sobre el que tenga teorías y vea si está en lo correcto!

                    5. Asumir un rol con un equipo de aprendizaje automático o personal centrado en el producto . El equipo que busca debe estar lleno de ingenieros de quienes crea que puede enseñar y aprender. Esto te hará un ingeniero de aprendizaje automático mucho mejor. Además, al trabajar en un equipo de productos, aprenderá rápidamente cómo la ciencia y la teoría del aprendizaje automático difieren de la práctica. En particular, cómo el comportamiento del cliente le enseñará algo nuevo cada día.

                    Para comenzar con Machine Learning (ML) por tu cuenta, es mejor que elijas un problema que te apasione, y que las técnicas y herramientas de ML puedan ayudarte. El problema proporcionará una base para toda la teoría. Puedes pasar años aprendiendo la teoría de una manera desenfocada. Pero enfocarse en un problema concreto mientras se encuentran las herramientas adecuadas para el trabajo le dará una sensación de progreso y algo que puede mostrar a los demás.

                    Las técnicas de ML ayudan a resolver una serie de clases de problemas:

                    • predicción y aprendizaje supervisado: cómo predecir algo que no sabes a partir de algo que sí sabes
                    • Reducción de la dimensión y aprendizaje no supervisado: cómo organizar, presentar y sistematizar los datos.
                    • Detección de anomalías / valores atípicos: cómo detectar lo que es inusual
                    • Aprendizaje activo: cómo diseñar experimentos sobre la marcha.

                    Puede resolver estos problemas para diferentes tipos de datos, en tiempo real o históricos, en computadoras grandes o pequeñas. Tenga cuidado cuando lea la literatura de ML: generalmente se centra en una metodología, no en el problema que se está resolviendo.

                    Algunas aplicaciones, como los sistemas de recomendación, contienen todos los problemas anteriores. Fundamentalmente, predecir qué le gustaría a un usuario es un problema de predicción. Pero al mismo tiempo, tanto los usuarios como los elementos deben ser sistematizados: utilizando taxonomías hechas por el hombre y automáticas. Algunos de los usuarios no dan buenas opiniones, por lo que sus datos son malos y deben eliminarse. Para los nuevos usuarios y los nuevos elementos, uno realmente tiene que diseñar experimentos, o nunca se vincularán a la trama de recomendaciones.

                    El otro enfoque, que funciona mejor si está trabajando con un experto en ML, funcionaría de manera diferente. Su asesor o mentor le daría un problema metodológico para trabajar. De esta manera, estarías contribuyendo al cuerpo de las técnicas de LD. En lugar de ser oportunista con respecto a la técnica, sería oportunista con respecto a las aplicaciones. Pero no recomiendo seguir este camino solo.

                    No pierda demasiado tiempo aprendiendo temas individuales como la programación lineal y luego la programación cuádruple, etc. Muchos estudiantes cometen este error. Solo asegúrese de entender el Álgebra Lineal correctamente y luego comience a estudiar el libro de optimización convexo de Boyd y Vandenberghe. Además, es extremadamente importante que implemente todos y cada uno de los algoritmos, en los capítulos posteriores, por usted mismo (sin utilizar ninguna de las herramientas como CVX), al menos el capítulo 9 si no tiene mucho tiempo para capítulos posteriores. Además, aprenda los métodos de orden superior como subgradients. Luego puedes leer algunos artículos sobre relajaciones convexas.

                    Lo que es importante en el aprendizaje automático es la formulación del problema. Si el problema de optimización subyacente es convexo, puede utilizar las técnicas que ha aprendido para resolverlo. Si no es convexo, utiliza enfoques de relajación para reducirlo a un problema convexo.

                    Para la optimización general no lineal (no convexa), quizás pueda leer Optimización numérica por J. Nocedal y Wright. Este libro cubre muchos algoritmos para la optimización no lineal (de nuevo no convexa). Esta es una pregunta difícil; Lo leí durante mi licenciatura, y ahora no recuerdo mucho y tampoco sé mucho sobre el estado de la técnica en general, la optimización no lineal. Pero habiéndolo leído, sé que es un gran libro y podría ayudarlo a aprender / entender algunas cosas avanzadas.

                    He creado secciones a continuación que contienen: investigadores conocidos, organizaciones de inteligencia artificial, cursos de video, bloggers, escritores medianos, libros, canales de YouTube, temas de Quora, subreddits, repos de Github, podcasts, boletines informativos, conferencias, enlaces de investigación, tutoriales y hojas de trucos.

                    Déjame saber si hay algo bueno que me falta! Siempre estoy buscando para agregar a la lista.

                    Los investigadores

                    Muchos de los investigadores de IA más conocidos tienen una fuerte presencia en la web. A continuación, enumeré alrededor de veinte e incluí enlaces a su sitio web, página de Wikipedia, perfil de Twitter, perfil de Google Scholar y perfil de Quora. Unos cuantos han hecho un Ask-Me-Anything en Reddit o una sesión de Quora, así que he incluido que está bien cuando corresponda.

                    Podría incluir docenas más en una lista como esta. Ver Quora para más nombres.

                    • Sebastian Thrun (Wikipedia / Twitter / GScholar / Quora / AMA)
                    • Yann Lecun (Wikipedia / Twitter / GScholar / Quora / AMA)
                    • Nando de Freitas (Wikipedia / Twitter / GScholar / AMA)
                    • Andrew Ng (Wikipedia / Twitter / GScholar / Quora / AMA)
                    • Daphne Koller (Wikipedia / Twitter / GScholar / Quora / Quora Session)
                    • Adam Coates (Twitter / GScholar / AMA)
                    • Jürgen Schmidhuber (Wikipedia / GScholar / AMA)
                    • Geoffrey Hinton (Wikipedia / GScholar / AMA)
                    • Terry Sejnowski (Wikipedia / Twitter / GScholar / AMA)
                    • Michael Jordan (Wikipedia / GScholar / AMA)
                    • Peter Norvig (Wikipedia / GScholar / Quora / AMA)
                    • Yoshua Bengio (Wikipedia / GScholar / Quora / AMA)
                    • Ian Goodfellow (Wikipedia / Twitter / GScholar / Quora / Quora Session)
                    • Andrej Karpathy (Twitter / GScholar / Quora / Quora Session)
                    • Richard Socher (Twitter / GScholar / Entrevista)
                    • Demis Hassabis (Wikipedia / Twitter / GScholar / Entrevista)
                    • Christopher Manning (Twitter / GScholar)
                    • Fei-Fei Li (Wikipedia / Twitter / GScholar / Ted Talk)
                    • François Chollet (Twitter / GScholar / Quora / Quora Session)
                    • Larry Carin (GScholar)
                    • Dan Jurafsky (Wikipedia / Twitter / GScholar)
                    • Oren Etzioni (Wikipedia / Twitter / GScholar / Quora / AMA)

                    Organizaciones

                    Hay un puñado de organizaciones bien conocidas que están dedicadas a promover la investigación y el desarrollo de la IA. A continuación se muestran los que tienen sitios web / blogs y cuentas de Twitter.

                    • OpenAI / Twitter (127K seguidores)
                    • DeepMind / Twitter (80K seguidores)
                    • Google Research / Twitter (1.1M seguidores)
                    • AWS AI / Twitter (1.4M seguidores)
                    • Facebook AI Research (no Twitter 🙂
                    • Microsoft Research / Twitter (341K seguidores)
                    • Baidu Research / Twitter (18K seguidores)
                    • IntelAI / Twitter (2K seguidores)
                    • AI² / Twitter (4.6K seguidores)
                    • Asociación en AI / Twitter (5K seguidores)

                    Cursos de video

                    Hay una cantidad abrumadora de cursos de video y tutoriales disponibles en línea ahora, muchos de ellos gratuitos. También hay algunas buenas opciones de pago, pero para este artículo, me estoy enfocando exclusivamente en el contenido gratuito. Hay muchos más cursos universitarios donde el profesor ha publicado los materiales del curso en línea, pero no hay videos. Esas pueden ser más difíciles de seguir y probablemente no las necesite. Los siguientes cursos te mantendrían ocupado durante meses:

                    • Coursera – Aprendizaje automático (Andrew Ng)
                    • Coursera – Redes neuronales para el aprendizaje automático (Geoffrey Hinton)
                    • Udacity – Introducción al Aprendizaje Automático (Sebastian Thrun)
                    • Udacity – Machine Learning (Georgia Tech)
                    • Udacity – Deep Learning (Vincent Vanhoucke)
                    • Aprendizaje Automático (Math Mathk)
                    • Aprendizaje profundo práctico para programadores (Jeremy Howard y Rachel Thomas)
                    • Stanford CS231n – Redes neuronales convolucionales para reconocimiento visual (invierno 2016) (enlace de clase)
                    • Stanford CS224n – Procesamiento de lenguaje natural con aprendizaje profundo (invierno de 2017) (enlace de clase)
                    • Oxford Deep PNL 2017 (Phil Blunsom et al.)
                    • Aprendizaje de Refuerzos (David Silver)
                    • Tutorial práctico de aprendizaje automático con Python (sentdex)

                    Youtube

                    A continuación, incluyo enlaces a canales de YouTube o usuarios que tienen contenido regular relacionado con la inteligencia artificial o el aprendizaje automático. He ordenado por número de suscriptores / vistas para dar un sentido de su popularidad.

                    • sentdex (225K suscriptores, 21M vistas)
                    • Siraj Raval (140K suscriptores, 5M vistas)
                    • Papeles en dos minutos (60 mil suscriptores, 3.3 millones de visitas)
                    • DeepLearning.TV (42K suscriptores, 1.7M vistas)
                    • Escuela de datos (37K suscriptores, 1.8M vistas)
                    • Aprendizaje automático de recetas con Josh Gordon (324K vistas)
                    • Inteligencia Artificial – Tema (10K suscriptores)
                    • Instituto Allen de Inteligencia Artificial (AI2) (1.6K suscriptores, 69K vistas)
                    • Aprendizaje automático en Berkeley (634 suscriptores, 48K vistas)
                    • Entendiendo el aprendizaje automático – Shai Ben-David (973 suscriptores, 43K visitas)
                    • Aprendizaje automático de TV (455 suscriptores, 11K vistas)

                    Blogs

                    Dada la popularidad de la IA y el aprendizaje automático, me sorprende que no haya bloggers más consistentes. Dada la complejidad del material, se necesita un poco de esfuerzo para reunir contenido significativo. Además, hay otros puntos de venta, como Quora, que ofrecen opciones a los expertos que desean retribuir pero no tienen tiempo para crear contenido de formularios más largos.

                    A continuación, incluyo a los bloggers que publican constantemente sobre temas relacionados con la inteligencia artificial con material original y no son solo fuentes de noticias o blogs de empresas, ordenados por el número de seguidores de Twitter.

                    • Andrej Karpathy / Twitter (69K seguidores)
                    • Soy trask / Twitter (14K seguidores)
                    • Christopher Olah / Twitter (13K seguidores)
                    • Top Bots / Twitter (11K seguidores)
                    • WildML / Twitter (10K seguidores)
                    • Destilar / Twitter (9K seguidores)
                    • Dominio del aprendizaje automático / Twitter (5K seguidores)
                    • FastML / Twitter (5K seguidores)
                    • Aventuras en NI / Twitter (5K seguidores)
                    • Sebastian Ruder / Twitter (3K seguidores)
                    • Métodos no supervisados ​​/ Twitter (1.7K seguidores)
                    • Explosion / Twitter (1K seguidores)
                    • Tim Dettmers / Twitter (1K seguidores)
                    • Cuando los árboles caen… / Twitter (265 seguidores)
                    • ML @ B / Twitter (80 seguidores)

                    Escritores medianos

                    A continuación se muestran algunos de los mejores escritores en Medium que cubren la Inteligencia Artificial. Coloca el cursor sobre un nombre para obtener más información. Ordenado por la clasificación en el medio a partir de julio de 2017.

                    • Robbie Allen
                    • Erik PM Vermeulen
                    • Frank Chen
                    • azeem
                    • Sam DeBrule
                    • Derrick Harris
                    • Yitaek Hwang
                    • samim
                    • Paul Boutin
                    • Mariya yao
                    • Rob May
                    • Avinash Hindupur

                    Libros

                    Hay muchos libros por ahí que cubren algunos aspectos del aprendizaje automático, el aprendizaje profundo y la PNL. En esta sección, me centraré únicamente en los libros gratuitos a los que puedes acceder o descargar directamente desde la web.

                    Aprendizaje automático

                    • Entendiendo el Aprendizaje Automático de la Teoría a los Algoritmos
                    • Aprendizaje automático
                    • Un curso de aprendizaje automático
                    • Aprendizaje automático
                    • Redes neuronales y aprendizaje profundo
                    • Libro de aprendizaje profundo
                    • Aprendizaje de refuerzo: una introducción
                    • Aprendizaje reforzado

                    PNL

                    • Procesamiento del habla y lenguaje (3er ed. Borrador)
                    • Procesamiento de lenguaje natural con Python
                    • Una introducción a la recuperación de información

                    Mates

                    • Introducción al pensamiento estadístico
                    • Introducción a la estadística bayesiana
                    • Introducción a la probabilidad
                    • Think Stats: Probabilidad y estadística para programadores de Python
                    • El libro de cocina de probabilidad y estadística
                    • Álgebra lineal
                    • Álgebra lineal mal hecha
                    • Algebra Lineal, Teoría Y Aplicaciones
                    • Matemáticas para la informática
                    • Cálculo
                    • Cálculo I para estudiantes de informática y estadística

                    Quora

                    Quora se ha convertido en un gran recurso para la IA y el aprendizaje automático. Muchos de los mejores investigadores responden preguntas en el sitio. A continuación, enumeré algunos de los principales temas relacionados con la IA, a los que puede suscribirse si desea personalizar su feed de Quora. Consulte la sección de preguntas frecuentes dentro de cada tema (p. Ej., Preguntas frecuentes para el aprendizaje automático) para obtener una lista curada de preguntas de la comunidad Quora.

                    • Informática (5.6M seguidores)
                    • Aprendizaje Automático (1.1M seguidores)
                    • Inteligencia Artificial (635K seguidores)
                    • Aprendizaje profundo (167K seguidores)
                    • Procesamiento de lenguaje natural (155K seguidores)
                    • Clasificación-aprendizaje-máquina (119K seguidores)
                    • Inteligencia Artificial General (82K seguidores)
                    • Convolutional-Neural-Networks-CNNs (25K seguidores)
                    • Lingüística computacional (23K seguidores)
                    • Redes neuronales recurrentes (17.4K seguidores)

                    Reddit

                    La comunidad de AI en Reddit no es tan grande como Quora, pero todavía tiene algunos buenos subreddits que vale la pena echarle un vistazo. Reddit puede ser útil para mantenerse al día con las últimas noticias e investigaciones, mientras que Quora es una pregunta / respuesta. A continuación se muestran los principales subreddits relacionados con AI ordenados por número de suscriptores.

                    • / r / MachineLearning (111K lectores)
                    • / r / robótica / (43K lectores)
                    • / r / artificial (35K lectores)
                    • / r / datascience (34K lectores)
                    • / r / learnmachinelearning (11K lectores)
                    • / r / computervision (11K lectores)
                    • / r / MLQuestions (8K lectores)
                    • / r / Tecnología del lenguaje (7K lectores)
                    • / r / mlclass (4K lectores)
                    • / r / mlpapers (4K lectores)

                    Github

                    Una de las cosas buenas de la comunidad de AI es que la mayoría de los proyectos nuevos son de código abierto y están disponibles en Github. También hay muchos recursos educativos en Github si desea implementaciones de algoritmos de ejemplo en Python o utilizando Juypter Notebooks. A continuación hay enlaces a repositorios que han sido etiquetados con un tema en particular.

                    • Aprendizaje automático (6K repos)
                    • Aprendizaje profundo (repositorios 3K)
                    • Tensorflow (2K repos)
                    • Red neuronal (1K repos)
                    • PNL (1K repos)

                    Podcasts

                    Hay un número creciente de podcasts alrededor de AI, algunos centrados en las últimas noticias y otros más orientados a la educación.

                    • Respecto a AI / iTunes
                    • Esta semana en Machine Learning y AI / iTunes
                    • El AI Podcast / iTunes
                    • Datos escépticos / iTunes
                    • Digresiones Lineales / iTunes
                    • Parcialmente derivado / iTunes
                    • O’Reilly Data Show / iTunes
                    • Máquinas de aprendizaje 101 / iTunes
                    • Las máquinas que hablan / iTunes
                    • Inteligencia Artificial en la Industria / iTunes
                    • Guía de aprendizaje automático / iTunes

                    Boletines de noticias

                    Si desea mantenerse al día con las últimas noticias e investigaciones, hay un número creciente de boletines semanales entre los que puede elegir. La mayoría de ellos cubren lo mismo, así que solo necesitarás un par para estar al día.

                    • La vista exponencial
                    • AI Weekly
                    • Caza profunda
                    • Boletín de inteligencia artificial O’Reilly
                    • Aprendizaje automático semanal
                    • Boletín semanal de Data Science
                    • Aprendizaje automático
                    • Noticias de inteligencia artificial
                    • Cuando los árboles caen …
                    • WildML
                    • Dentro de la IA
                    • Kurzweil AI
                    • Importar AI
                    • La semana salvaje en la IA
                    • Aprendizaje profundo semanal
                    • Semanal de ciencia de datos
                    • Boletín de noticias de KDnuggets

                    Conferencias

                    Como era de esperar, con el aumento de la popularidad de AI también ha habido un aumento en el número de conferencias relacionadas con AI. En lugar de proporcionar una lista completa de cada conferencia de nicho, voy a enumerar las conferencias “principales” para alguna definición de mayor. Si me falta uno que crees que debería incluirse, házmelo saber. (Y estos no son gratis!)

                    Académico:

                    • NIPS (Sistemas de procesamiento de información neural)
                    • ICML (Conferencia Internacional sobre Aprendizaje Automático)
                    • KDD (Descubrimiento de conocimiento y minería de datos)
                    • ICLR (Conferencia Internacional sobre Representaciones de Aprendizaje)
                    • ACL (Asociación de Lingüística Computacional)
                    • EMNLP (Métodos empíricos en el procesamiento del lenguaje natural)
                    • CVPR (Visión por Computador y Reconocimiento de Patrones)
                    • ICCF (Conferencia Internacional sobre Visión por Computador)

                    Profesional:

                    • Conferencia de inteligencia artificial O’Reilly
                    • Conferencia de Aprendizaje Automático (MLConf)
                    • AI Expo (América del Norte, Europa, Mundo)
                    • Cumbre AI
                    • Conferencia AI

                    Trabajos de investigación

                    Navegar o buscar los trabajos académicos que se están publicando.

                    arXiv.org e-Print archive clases de temas:

                    • Inteligencia artificial
                    • Aprendizaje (Ciencias de la Computación)
                    • Aprendizaje Automático (Estadísticas)
                    • PNL
                    • Visión por computador

                    Búsquedas de estudiosos semánticos:

                    • Redes neuronales (179K resultados)
                    • Aprendizaje Automático (94K resultados)
                    • Lenguaje natural (62K resultados)
                    • Visión por Computador (55K resultados)
                    • Aprendizaje Profundo (24K resultados)

                    Otro gran recurso para explorar trabajos de investigación es un proyecto paralelo de Andrej Karpathy:

                    Tutoriales

                    Creé una publicación completa por separado que cubre todos los buenos tutoriales que he encontrado:

                    • Más de 150 de los mejores tutoriales de aprendizaje automático, PNL y Python

                    Hojas de trucos

                    Similar a los tutoriales, creé un artículo separado con una variedad de buenas hojas de trucos:

                    • Hoja de trucos de aprendizaje automático y hojas de trucos de Python (y matemáticas)

                    De Tarry Singh ::

                    Espero que esto ayude !!! Sígame mientras escribo sobre Algoritmos, Estructuras de datos, Python, Desarrollo web, Aprendizaje automático y Ciencia de datos, y no pierda su tiempo escribiendo basura, respuestas irrelevantes o largas. Que tengas un buen día !!!

                    En primer lugar, felicitaciones por su interés en el aprendizaje automático.

                    • Recomiendo encarecidamente este libro. Cubre conceptos muy básicos y le brinda muy buen contexto para ejecutar Aprendizaje automático. Por ejemplo, tuve algunas dudas sobre los bosques aleatorios (algoritmo) pero ya no 🙂

                    Data Science from Scratch: Primeros principios con Python: Joel Grus: 9781491901427: Amazon.com: Libros

                    • Obtenga scikit-learn o el marco respectivo en el lenguaje de programación que elija. Ejecutar algoritmos para cada capítulo en el libro anterior. La ventaja con Scikit es que también le proporciona algunos datos de muestra para probar
                    • Controlar las estadísticas (disciplina académica) y la probabilidad. Las comunidades en ejercicios de Quora o Kaggle, etc., te ayudarán a alcanzar la velocidad. También puedes obtener este libro Los elementos del aprendizaje estadístico. No he visto a nadie decepcionado con este. Es un poco de matemática pero se explica por sí misma.
                    • Los videos de Andrew Ng en Youtube o el curso de Coursera te ayudarán si quieres que un instructor te explique qué es qué.
                    • Práctica práctica. La mera lectura le daría conocimientos teóricos pero no suficiente experiencia práctica y concesiones en cada algoritmo. Recuerde, nadie sabe cuál es el mejor algoritmo hasta ahora para la mayoría de los problemas. La experiencia pasada le dará capacidad de juicio inteligente.
                    • Discusiones. Juegan un papel crucial. Interactúe con personas de la tercera edad para obtener sus conocimientos y escuche cómo abordarían un problema específico y cómo se enfrentaría con el mismo problema.

                    ATB

                    Antes de que pueda enseñar a una Máquina cómo aprender, se recomienda que aprenda algunas cosas inicialmente.

                    • Matemáticas
                    • Álgebra Lineal – MIT 18.06 Álgebra Lineal por Gilbert Strang
                    • Probabilidad y estadística – MIT 6.041 Análisis probabilístico de sistemas y probabilidad aplicada por John Tsitsiklis
                  1. Programación
                    • Cualquier lenguaje de programación que se use ampliamente para ML como python, MATLAB o C ++, en orden decreciente de prioridad. PS Este pedido se basa en mis preferencias. Algunas personas pueden estar en desacuerdo con esto, pero la mayoría de ellos estará de acuerdo.

                    Una vez que haya dominado los requisitos previos, finalmente puede comenzar a estudiar Aprendizaje automático.

                    • Los cursos
                    • Aprendizaje automático – Stanford CS229 Aprendizaje automático por Andrew Ng
                    • Redes neuronales convolucionales – Stanford CS231n Redes neuronales convolucionales para reconocimiento visual por Fei Fei Li et al. PS Este curso se centra en la Visión por Computador, pero los conceptos básicos se pueden extraer para la aplicación en cualquier dominio.
                  2. Programación
                    • Paquetes y herramientas que se utilizan para ML como {numpy y sklearn} en python, Statistics y Machine Learning Toolbox en MATLAB y Shogun en C ++. PS Esta no es una lista exhaustiva.
                    • Explore brevemente algunas bibliotecas más recientes de LD y Deep Learning, como Torch, Tensor Flow y Caffe. PD: Una vez más, esta no es una lista exhaustiva, sino una preferida.

                    No hay duda de que es un listado bastante grande. Pero, se puede hacer fácilmente en 3 meses (confía en mí, de alguna manera lo hice) si te mantienes enfocado. Pase el primer mes enteramente en los requisitos previos viendo una conferencia de cada día y practique un poco de programación al lado. Luego, dedique los próximos 2 meses completamente a los temas “Avanzados”. No se apresure a través de ellos y trate de entenderlos gastando suficiente tiempo para cada algoritmo / método. Incluso puedes intentar codificarlos al lado, como un hobby.

                    Mientras estudia Aprendizaje automático, intente dominar cualquier aplicación del mismo, como la Ciencia de datos, el Procesamiento del lenguaje natural y la Visión por computadora, entre otros, para que pueda continuar esa corriente.

                    No me hubiera molestado en responder a esta pregunta hace tres meses, porque me sentí demasiado confundido entre la gran cantidad de consejos dados cuando alguien hace esta pregunta. Soy un estudiante graduado en ciencia de datos en Carnegie Mellon y una cosa que me di cuenta en los últimos tres meses es que: No hay una fuente única de literatura intuitiva completa sobre Aprendizaje automático. Así que para un principiante, mi consejo es: deje de mirar alrededor para encontrar el material perfecto para comenzar. A veces siento que encontrar el material adecuado para aprender el aprendizaje automático en sí mismo es un problema de aprendizaje automático y espero que algún día se resuelva.

                    Volviendo a la pregunta, la única manera de aprender ML es ensuciarse las manos mientras explora tanta literatura como sea posible. Los dos recursos que encontré buenos para esto son: Python y Google Scholar. Comience con cosas simples: Regresión lineal, Bayas ingenuas, Perceptrón (?), Regresión logística y muévase constantemente a otros algoritmos independientes como SVM. Lo único que hay que tener en cuenta es que todos los algoritmos ML tienen una historia detrás de ellos. Probablemente sean el conjunto de algoritmos más intuitivos que nos rodean, inspirados principalmente en la forma en que los humanos aprendemos. Encuentra esa historia. Tendrá mucho más sentido que simplemente tocar ciegamente las conferencias de Andrew Ng en Coursera. A menos que se involucre y practique práctica, nunca se sentirá cómodo con el aprendizaje automático. Eso es una cosa segura. La mayoría de los libros que las personas ya han mencionado en las respuestas aquí no ayudarán a un principiante (esta fue mi experiencia). Sin embargo, si tuviera que sugerir algunos buenos libros en ML serían:

                    1. Hal Daumé III – Un curso de aprendizaje automático. Es un libro incompleto, pero probablemente sea la fuente más intuitiva que existe.
                    2. Duda, Hart, Stork – Reconocimiento de patrones

                    3. Kevin Murphy – Aprendizaje automático
                    4. Tibshirani et. Alabama. – Elementos del aprendizaje estadístico (pocos capítulos son realmente buenos)
                    5. PRML del obispo (demasiado matemático me siento, así que acostado en mi estante)

                    Pero, no sigo ninguno de esos libros para todo. Uno u otro capítulo es bueno en cada uno de los libros. Entonces, la mayoría de las veces recurro a buscar los artículos originales que inspiraron un algoritmo en particular, porque hacen justicia para explicar por qué un algoritmo tiene sentido. La historia.

                    tl; dr No busques el material de aprendizaje único y perfecto, no hay ninguno. Experimente todo de primera mano sumergiéndose en algoritmos simples y resolviendo los problemas usted mismo.

                    • Vea esta charla de Jeremy Howard: en Kaggle, es una desventaja saber demasiado y “ponerse en forma para el deporte de la ciencia de datos”
                    • Comience practicando con conjuntos de datos de juguetes en MATLAB y repasando ejemplos simples en Statistics y Neural Network Toolbox.
                    • Abajo dos libros son textos de introducción estándar. Son complementarios, el primero está escrito desde una perspectiva estadística con muchos ejemplos de análisis de datos y el segundo se centra en los algoritmos. Ambos son textos de nivel de posgrado que requieren conocimientos de álgebra, estadística y cálculo. También ayudaría tomar una clase sobre optimización pero no estrictamente necesario. Los textos son:
                    • 1) Hastie, Tibshirani & Friedman, Los elementos del aprendizaje estadístico: http://www-stat.stanford.edu/~ti
                    • 2) Obispo, reconocimiento de patrones y aprendizaje automático : http://research.microsoft.com/en
                    • Para una lectura más amable, puede leer el libro de texto de Mitchell (edición: y sus conferencias, gracias a Willy Kuo)
                    • Las notas de la conferencia más coherentes y concisas son las de Ng, también vea su curso

                    Algunas aplicaciones y temas avanzados:

                    • Curso de modelado de lenguaje y notas.
                    • Aprendizaje profundo: ANN + CNN + RNN + NLP
                    • Aprendizaje de refuerzo y robótica.
                    • Memoria y representaciones distribuidas.
                    • Modelos neuronales y visión.
                    • Cognición y aprendizaje permanente.

                    El aprendizaje automático es la ciencia de hacer que las computadoras actúen sin ser programadas explícitamente. ya que hay muchas maneras de aprender acerca de ML. Le aconsejo que prefiera aprender a través de cursos en línea … También puedo sugerirle los mejores cursos … Los mejores cursos en línea de aprendizaje automático:

                    • El curso completo de aprendizaje automático con Python
                    • Aprendizaje automático de formación de certificación avanzada en Simplilearn

                    Elige los primeros cursos.

                    De este curso puedes aprender sobre:

                    Pasará de nivel principiante a extremadamente alto y su instructor construirá cada algoritmo con usted paso a paso en la pantalla.

                    Al finalizar el curso, habrá entrenado algoritmos de aprendizaje automático para clasificar flores, predecir el precio de la vivienda, identificar letras o dígitos, identificar el personal que probablemente se irá antes de tiempo, detectar células cancerosas y mucho más.

                    Dentro del curso, aprenderás cómo:

                    • Configurar un entorno de desarrollo de Python correctamente
                    • Obtenga conjuntos completos de herramientas de aprendizaje automático para abordar la mayoría de los problemas del mundo real
                    • Comprenda las diversas métricas de rendimiento de regresión, clasificación y otros algoritmos ml como R-cuadrado, MSE, precisión, matriz de confusión, previsión, recuperación, etc. y cuándo usarlos.
                    • Combina múltiples modelos con embolsado, refuerzo o apilado.
                    • Aproveche los algoritmos de aprendizaje automático (ML) sin supervisión, como la agrupación jerárquica, la agrupación k-means, etc., para comprender sus datos.
                    • Desarrollar en el cuaderno Jupyter (IPython), Spyder y varios IDE
                    • Comunícate visualmente y efectivamente con Matplotlib y Seaborn.
                    • Ingeniero de nuevas funcionalidades para mejorar las predicciones de algoritmos.
                    • Utilice la validación cruzada de tren / prueba, pliegue en K y K en estratificado para seleccionar el modelo correcto y predecir el rendimiento del modelo con datos invisibles
                    • Use SVM para el reconocimiento de escritura y problemas de clasificación en general
                    • Usar árboles de decisión para predecir el desgaste del personal.
                    • Aplicar la regla de asociación a los conjuntos de datos de compras minoristas

                    No se requiere aprendizaje automático. Aunque sería útil tener algo de experiencia básica con Python, no es necesario tener conocimientos previos de Python, ya que se proporcionarán todos los códigos y el instructor los revisará línea por línea y obtendrá un apoyo cordial en el área de Preguntas y Respuestas.

                    Y también..

                    • Los Ingenieros de Aprendizaje Automático ganan en promedio $ 166,000. ¡Conviértase en un candidato ideal con este curso!
                    • Resuelva cualquier problema en su negocio, trabajo o vida personal con los poderosos modelos de Machine Learning.
                    • Entrene algoritmos de aprendizaje automático para predecir los precios de la vivienda, identificar la escritura a mano, detectar células cancerosas y más
                    • Pase de cero a héroe en Python, Seaborn, Matplotlib, Scikit-Learn, SVM, Machine Learning sin supervisión, etc.

                    Cursos adicionales:

                    • Aprendizaje de máquina por Andrew NG- Universidad de Stanford

                    TODO LO MEJOR…

                    ¡El aprendizaje automático es un tema complejo de dominar!

                    No solo hay una gran cantidad de recursos disponibles, también envejecen muy rápido. Combine esto con una gran cantidad de jerga técnica y podrá ver por qué las personas se pierden mientras practican el aprendizaje automático. Sin embargo, esto es sólo una parte de la historia. Usted no puede dominar el aprendizaje automático sin someterse a la rutina usted mismo. Debe pasar horas comprendiendo los matices de la ingeniería de características, su importancia y el impacto que puede tener en sus modelos.

                    A través de esta ruta de aprendizaje, esperamos brindarle una respuesta a este problema. Hemos cargado deliberadamente este camino de aprendizaje con muchos proyectos prácticos. ¡No se puede dominar el aprendizaje automático con el trabajo duro! Pero una vez que lo haces, eres una de las personas más buscadas.

                    Dado que este es un tema complejo, le recomendamos que siga estrictamente los pasos en orden secuencial. Considera esto como tu mentor para el aprendizaje automático. Solo omita un paso, si ya conoce el tema mencionado en ese paso.

                    Calentamiento: ¿cómo es útil el aprendizaje automático?

                    Si eres un iniciador completo del aprendizaje automático, aquí hay una buena charla de Jeremy Howard para comprender cómo el aprendizaje automático está cambiando este mundo. Jeremy discute varias aplicaciones del aprendizaje automático y de la máquina. Jeremy, también discute algunas formas en que el aprendizaje automático puede impactar este mundo.

                    Aún no estoy seguro, mira este video más pequeño sobre cómo entrenar una máquina para jugar Super Mario.

                    ¿Emocionado acerca de lo que puede lograr el aprendizaje automático? Veamos un camino de aprendizaje para convertirlo en un experto en aprendizaje automático.

                    Lectura opcional : Conceptos básicos del aprendizaje automático para un novato

                    Paso 0: Fundamentos de R / Python

                    Hay múltiples idiomas que proporcionan capacidades de aprendizaje automático. Además, se está realizando un trabajo de desarrollo a un ritmo rápido en varios idiomas. Actualmente, ” R ” y ” Python ” son los idiomas más utilizados y hay suficiente soporte / comunidad disponible para ambos. Antes de entrar en world of ML, le recomendaría que elija uno de estos dos idiomas (R o Python) que puede ayudar a concentrarse en el aprendizaje automático (¿Cuál es mejor: R o Python?).

                    Mantenga su enfoque en la comprensión de los conceptos básicos del lenguaje, las bibliotecas y la estructura de datos. Aquí está la guía paso a paso para aprender R y Python:

                    a) Ruta de aprendizaje en R: Paso 0 a Paso 2

                    b) Ruta de aprendizaje en Python: Paso 0 a Paso 2

                    Otros idiomas que puede considerar: Scala, Go / Julia en el futuro.

                    Paso 1: Aprender Estadística Descriptiva e Inferencial básica.

                    Empecemos o refrescemos nuestro aprendizaje estadístico. Es bueno comprender las estadísticas descriptivas e inferenciales antes de comenzar un desarrollo serio de aprendizaje automático. Udacity ofrece un curso de estadística descriptiva y estadística inferencial. Ambos cursos utilizarían Excel para enseñarle todos los conceptos básicos de estadística. Si ya los conoce, puede actualizar o omitir este paso.

                    Asignación: puede realizar asignaciones de ambos cursos utilizando el idioma que elija (R / Python). Puede consultar las bibliotecas estadísticas y los métodos correspondientes para los dos idiomas a continuación.

                    R: Estadísticas

                    Python: Scipy, Numpy, Pandas

                    Debe leerse: ¿ Diferencia entre aprendizaje automático y modelado estadístico?

                    Paso 2: Exploración de Datos / Limpieza / Preparación

                    Lo que diferencia a un buen profesional de aprendizaje automático de un profesional promedio es la calidad de la ingeniería de características y la limpieza de datos que ocurre con los datos originales. Cuanto más tiempo de calidad pases aquí, mejor será. Este paso también toma la mayor parte de su tiempo y, por lo tanto, ayuda a colocar una estructura a su alrededor. Puede consultar una serie de artículos a continuación para conocer las diferentes etapas de las exploraciones de datos.

                    1. Identificación de variables, análisis univariado y multivariado.
                    2. Tratamiento de valores faltantes.
                    3. Tratamiento atípico
                    4. Ingeniería de características

                    También puede consultar los métodos de exploración de datos en R y Python:

                    • Exploración de datos en R
                    • Exploración de datos en Python

                    Ejercicio / tarea:

                    1. Tome el problema de supervivencia titánica de Kaggle, cree un conjunto de hipótesis y luego limpie los datos, agregue nuevas características al conjunto de datos existente. ¿Piensa cuál es la mejor manera de imputar la edad perdida?
                    2. Del mismo modo, aborde el problema de la previsión de demanda de bicicletas compartidas y repita el ciclo mencionado anteriormente.

                    Paso 3: Introducción al Aprendizaje Automático

                    Ahora deberías abrir las puertas para el Aprendizaje Automático. Hay varios recursos disponibles para comenzar con las técnicas de aprendizaje automático. Le sugiero que elija una de las siguientes 2 formas según su estilo de aprendizaje:

                    • Opción 1: si usted es alguien a quien le gusta aprender en pequeños pasos y necesita más apoyo, debe comenzar con el curso de Aprendizaje de máquinas de Andrew Ng: es un buen curso para principiantes y fácil de entender. El profesor Ng es asombroso al hacer que los conceptos difíciles te lleguen tan bien. El curso cubre todos los algoritmos básicos y también presenta algunos temas avanzados como las redes neuronales, el sistema de recomendación y la aplicación del aprendizaje automático en grandes bases de datos utilizando Map Reduce. Él elige usar Octave / MATLAB en lugar de la R o Python más popular para enseñar el aprendizaje automático. Una vez completado, debe proceder a los ejercicios y tareas proporcionados en la Opción 2.
                    • Opción 2: si es más independiente, le gustan los desafíos y puede enfrentarse a tareas difíciles, debe tomar el curso de datos de aprendizaje del profesor Yaser Abu-Mostafa: este curso brinda un tratamiento increíble de los conceptos detrás del aprendizaje automático, pero tenga cuidado, este curso es bastante pesado en matemáticas y la teoría detrás de ML (cosas como la dimensión VC). También requiere más conocimientos de programación y, por lo tanto, es más avanzado en ese sentido. Este curso está lleno de trabajos para el hogar (que no es necesariamente algo malo).

                    Ahora, tienes un buen entendimiento sobre los algoritmos y técnicas. Echemos un vistazo a las bibliotecas o paquetes disponibles en R o Python. Puede consultar la ruta de aprendizaje (paso 6) de R (además, ML Algorithms en R) y Python para explorar sobre estos paquetes y opciones relacionadas.

                    Paso 4: Participa en la competencia de Conocimiento Kaggle

                    En este momento, tiene todas las herramientas que necesita para competir en las competencias de conocimiento de Kaggle. Estas competencias de conocimiento tienen menos nivel de dificultad en comparación con los desafíos de ganar premios. También puede encontrar varios recursos relacionados para comenzar su viaje de ciencia de datos. A continuación se muestra la lista de la competencia de conocimiento actualmente activa:

                    • Titanic: Aprendizaje de máquina del desastre
                    • Clasificación de delitos de San Francisco

                    Debe leer: ¿Cómo comienzo mi viaje en Kaggle?

                    Paso 5: Aprendizaje automático avanzado

                    Ahora que ha aprendido la mayoría de las técnicas de aprendizaje automático, es hora de explorar técnicas avanzadas de aprendizaje automático para comprender diferentes estructuras de datos como Aprendizaje profundo y Aprendizaje automático con Big Data.

                    Aprendizaje profundo

                    ¿Eres consciente del aprendizaje profundo? Si no, aquí hay una breve introducción al respecto y más detalles sobre el video de aprendizaje profundo aquí. A continuación, encontrará la lista de recursos de aprendizaje profundo que le ayudarán a comenzar:

                    • El recurso más completo es deeplearning.net. Aquí encontrará todo: conferencias, conjuntos de datos, desafíos, tutoriales.
                    • Otro curso de Geoff Hinton es una prueba para comprender los conceptos básicos de las redes neuronales.
                    • Reconocimiento de patrones usando Python (Recurso 1, Recurso 2, Recurso 3) y R (Recurso 1)
                    • Minería de textos usando Python (recurso) y R (recurso 1, recurso 2)

                    Modelado de conjuntos

                    Aquí es donde un experto es diferente de un profesional promedio. El ensamble puede agregar mucho poder a tus modelos y ha sido una técnica muy exitosa en varias competiciones de Kaggle. Esta es una de las mejores guías de modelado de paquetes que hemos encontrado.

                    Aprendizaje automático con Big Data

                    Como sabe, el tamaño de los datos aumenta a un ritmo exponencial, pero los datos sin procesar no son útiles hasta que comienza a obtener información sobre ellos. El aprendizaje automático no es más que aprender de los datos, generar información o identificar patrones en el conjunto de datos disponibles. Hay varias aplicaciones de algoritmos de aprendizaje automático como “detección de spam”, “clasificación de documentos web”, “detección de fraude”, “sistema de recomendación” y muchos otros. A continuación se muestra la lista de tutoriales para tratar big data utilizando el aprendizaje automático.

                    • Aprendizaje automático escalable
                    • Paquetes para Big Data en Python (Pydoop, PyMongo) y R (Resource1, Resource2)

                    Paso 6: Participa en la corriente principal de la Competencia Kaggle

                    Ahora tienes la mayoría de las habilidades técnicas y estadísticas. Es hora de comenzar a aprender de otros científicos de datos mientras compiten con ellos. Kaggle es un lugar similar al que queremos una plataforma más activa, comprometida y competitiva. Los científicos de datos son apasionados por su rango y rendimiento de modelo. ¡Vaya, sumérjase en una de las competiciones en vivo que se están ejecutando en Kaggle y pruebe todo lo que ha aprendido! ¡Buena suerte!

                    Paso opcional: Minería de texto y bases de datos

                    Si necesita aplicar el aprendizaje automático a la minería de texto, puede consultar la siguiente guía para limpiar datos de texto y construir modelos en ella. También puedes ver la siguiente competición de Kaggle:

                    • Eliminación de documentos sucios
                    • Análisis de sentimiento en críticas de películas.

                    La parte divertida

                    Ahora que sabes qué y dónde aprender para convertirte en un profesional del aprendizaje automático, aquí tienes una pequeña simulación de cómo un robot basado en un algoritmo genético aprendería a caminar.

                    Y algunas cosas serias

                    Ahora que conoce el potencial del aprendizaje automático, imagine el impacto que podría tener en el mundo de hoy. La charla de Jeremy menciona brevemente sobre esto. El siguiente artículo explica esta evolución desde una perspectiva diferente: parte 1 y parte 2

                    Espero que hayan disfrutado este camino de aprendizaje sobre aprendizaje automático y el impacto que el aprendizaje automático puede tener en nuestro futuro. Si tiene alguna sugerencia para mejorar esta ruta de aprendizaje, no dude en compartirlas a través de los comentarios a continuación.

                    Gracias por la A2A!

                    Creo que la mayoría estaría de acuerdo aquí, que uno de los mejores lugares para comenzar a aprender el aprendizaje automático es el curso del Profesor Andrew Ng en Coursera. Aquí aprenderá sobre conceptos como el intercambio de sesgo contra variación, la Regularización, etc., también aprenderá clasificadores como SVM, etc. Una cosa buena (muy rara) sobre este curso es que está más enfocada en la aplicación práctica. También aprenderá Matlab aquí, que es muy bueno (pero costoso) libre de OCTAVE y un salvavidas.

                    Creo que aunque la elección de un clasificador depende fundamentalmente de los datos, estas cuatro familias, a saber, las redes bayesianas, las redes neuronales (profundas también), los bosques aleatorios y los SVM son una de las mejores y también es muy difícil encontrar un solo recurso. para todos ellos, por lo que debe desarrollarse personalmente con estas familias (primero experimente estudiando más desde la perspectiva de la aplicación y luego profundice en la teoría central que confía en mí le ayudará mucho) a través de diferentes cursos que explican los aspectos técnicos de estos.

                    En lo que se refiere a estadísticas y procesamiento de funciones, tendrá que estudiar muchas transformaciones (Wavelets, fourier, etc.), además de técnicas como PCA (ya cubiertas en el curso del profesor Andrews) y recursos como el análisis vidhya (Inicio) proporcionará mucho de consejos prácticos.

                    Encontrarás la mayoría de estos cursos en coursera.

                    1) https://www.coursera.org/course/pgm (cubre redes bayesianas)

                    2) https://www.coursera.org/course/… (cubre los árboles de decisión)

                    Enumeraré algunos cursos avanzados muy buenos en youtube (sin ningún orden en particular) que no he visto citar mucha gente en quora.

                    1. Aprendizaje de refuerzo (aunque es un curso avanzado y cubre solo RL pero es muy bueno en los temas que cubre)

                    2) Aprendizaje profundo por Nando de Freitas

                    3) CS231n Invierno 2016: curso de andrej karpathy (disponible en youtube).

                    aparte de estos sí, necesitará un montón de matemáticas, pero no se sienta abrumado por la gran cantidad de cosas que aprender (¡trate de aprender algo nuevo todos los días en trozos de tamaño byte!) Comience con python si es nuevo en la programación (codeacademy es un buen lugar para comenzar). estarás bien

                    editar 1

                    En caso de que esté buscando una comparación de algunas de estas familias clasificadoras, debe consultar mi respuesta a

                    https://www.quora.com/Machine-Learning-What-are-advantages-of-SVM-over-Neural-networks-and-k-Nearest-neighbours/answer/Vaibhav-Arora-87?srid=QTrx

                    No puedo afirmar que tengo un buen conocimiento del aprendizaje automático o un buen dominio de las matemáticas, pero he pasado de una etapa en la que se encuentra ahora a una posición mucho mejor en términos de comprensión.

                    Para obtener un buen comienzo en el aprendizaje automático, hay dos cosas que son extremadamente esenciales.
                    1. Las ideas centrales y la motivación detrás del aprendizaje automático: creo que el curso del profesor Andrew Ng en Coursera es un buen lugar para comenzar a obtener las ideas, ya que no profundiza mucho en las matemáticas en este curso y trata de dar un resumen general junto con Ejemplos prácticos de los escenarios en los que el Aprendizaje Automático es útil. Aparte de esto, recomendaría leer el libro Reconocimiento de patrones y aprendizaje automático (Ciencia de la información y estadísticas): Christopher M. Bishop: 9780387310732: Amazon.com: Libros. Este libro proporciona una buena cobertura de los principales temas del aprendizaje automático y también profundiza en los aspectos matemáticos de los diversos algoritmos clave. Es ampliamente considerado como uno de los mejores libros sobre el tema hasta la fecha.
                    2. Conocimiento matemático: el campo del aprendizaje automático se basa en gran medida en algunas áreas de matemáticas, las más importantes son la probabilidad, el álgebra lineal y la optimización. Aunque no hay un solo recurso bueno para todos estos temas, hay un curso continuo en mi institución – IIT Kanpur, con el título Matemáticas para el aprendizaje automático – Herramientas, técnicas, aplicaciones. Este curso tiene como objetivo proporcionar la base matemática en las 3 áreas mencionadas anteriormente con respecto a su uso en el aprendizaje automático. Breves notas de la conferencia están disponibles en el sitio web. Un buen recurso para construir una base sólida en Álgebra Lineal: es el curso del Prof. Gilbert Strang sobre Álgebra Lineal disponible en OCW – Álgebra Lineal. Una buena discusión sobre Probabilidad está disponible en el libro de PRML por el Prof. CM Bishop, el enlace que he proporcionado en el punto 1 anterior.

                    El aprendizaje automático se refiere al vasto conjunto de herramientas para comprender los datos. Estas herramientas se pueden clasificar como supervisadas o no supervisadas . En términos generales, el aprendizaje automático supervisado implica la construcción de un modelo estadístico para predecir o estimar una salida basada en una o más entradas . Los problemas de esta naturaleza ocurren en campos tan diversos como los negocios, la medicina, la astrofísica y las políticas públicas. Con el aprendizaje no supervisado, hay entradas pero no salidas de supervisión; Sin embargo, podemos aprender las relaciones y la estructura a partir de los datos.

                    Antes de realizar cualquier aprendizaje automático, uno debe considerar el aprendizaje de algunos elementos básicos, que se pueden considerar como los cimientos o los componentes básicos del aprendizaje automático. Uno debe saber Álgebra Lineal, Probabilidad, Estadísticas y algunos cálculos diferenciales antes de comenzar a construir modelos predictivos. Aparte de esto, uno debe estar cómodo en algún lenguaje de programación, preferiblemente Python . En el curso de mi ruta de aprendizaje, encontré los siguientes recursos muy útiles:

                    • Probabilidad- Curso de Khan Academy sobre Probabilidad
                    • Estadísticas-Introducción de Udacity a las estadísticas descriptivas e inferenciales.
                    • Álgebra Lineal – Curso de actualización de Álgebra Lineal de Udacity
                    • Python – Curso de python de Codeacademy, curso de Treehouse sobre python,

                    Una vez que tenga una comprensión básica de la probabilidad, las estadísticas y el álgebra lineal, puede comenzar a aprender algunas bibliotecas poderosas y avanzadas como Numpy y Pandas utilizadas para el análisis de datos. Hay muchos recursos disponibles en línea, pero los siguientes recursos son excelentes y muy fáciles de usar. sigue:

                    • Curso de Pandas-Kevin Markham sobre Análisis de Datos con Pandas
                    • Numpy-Intro to Numpy and Pnadas de Udacity
                    • Documentación oficial de los pandas.
                    • Documentación oficial de numpy.

                    En esta etapa, uno está listo para sumergirse en el apasionante mundo del aprendizaje automático. Hay excelentes tutoriales en la web que pueden ayudarlo a comenzar a construir algo emocionante de inmediato. Para empezar, recomendaría tomar los tutoriales de Kevin Markham sobre Aprendizaje automático. Son excelentes y fáciles de seguir y le darían una idea instantánea de lo que puede hacer con el aprendizaje automático. Construirás algunos modelos predictivos geniales utilizando la popular biblioteca de aprendizaje automático Scikit-Learn. Después de este tutorial, te sentirás lo suficientemente seguro como para participar en las competiciones de Kaggle. Además, podrás comenzar a aprender de algunos libros excelentes disponibles en línea de forma gratuita como archivos PDF. Los siguientes dos libros son altamente recomendados:

                    • Introducción al aprendizaje estadístico por Hastie y Tibshirani
                    • Python Machine Learning por Sebastian Raschka

                    Ahora sabes mucho de aprendizaje automático. Para llevar su aprendizaje al siguiente nivel, es hora de construir algunos proyectos geniales. Para esto, puede inscribirse en algunos cursos de certificación disponibles en línea. Tengo un sesgo hacia el Aprendizaje Automático de Udacity a medida que me gradué. Si está interesado en tomar su La sesión de aprendizaje automático al siguiente nivel, puede consultar los siguientes recursos:

                    • Machine Learning Engineer Nanodegree por Udacity
                    • Curso de fundación Deep Learning

                    Feliz aprendizaje ! Siéntase libre de agregar cualquier otro recurso excelente que pueda haber encontrado. Esto puede ayudar mucho a los principiantes.

                    El aprendizaje automático es una de las tendencias más actuales en las industrias tecnológicas de hoy. El aprendizaje automático es muy poderoso para hacer predicciones o recomendaciones basadas en una gran cantidad de conjuntos de datos. El aprendizaje automático tiene vastos casos de uso para diferentes dominios, ya sea en el negocio del comercio electrónico, finanzas, inteligencia, películas de ciencia ficción, marketing, bienes raíces, etc.

                    Amazon, Flipkart u otros gigantes del comercio electrónico recomiendan libros u otros productos basados ​​en su compra anterior. Netflix le sugiere nuevas películas basadas en su lista de seguimiento anterior.

                    Bien, volviendo a su pregunta, ¿cómo puede una gente aprender el aprendizaje automático? Puedo dividirlo en diferentes casos, como una persona que es puramente novata en este campo y otra que es intermediaria y desea mejorar sus habilidades como maestría en este campo. Voy por un novato.

                    Aprendizaje automático para principiantes

                    Estoy dividiendo el proceso de aprendizaje paso a paso.

                    1. ¿Qué es el aprendizaje automático?
                    2. Primeros pasos para el aprendizaje automático.
                    1. Programación o herramientas para el aprendizaje automático.
                    2. Matemáticas para el aprendizaje automático
                    3. Paso de análisis de datos exploratorios
                    4. Algoritmos comunes para principiantes.
                    5. Proyecto de iniciación al aprendizaje automático.
                  3. Libros y recursos en línea para el aprendizaje automático.
                  4. Última nota
                  5. ¿Qué es el aprendizaje automático?

                    El aprendizaje automático es el campo de la ciencia de la computación que se origina básicamente en la inteligencia artificial, por lo que también podemos decir que el aprendizaje automático es el subcampo de la inteligencia artificial.

                    El aprendizaje automático implica un mecanismo adaptativo que permite que la computadora aprenda de la experiencia, aprenda con ejemplos y esta capacidad de aprendizaje puede mejorar el rendimiento del sistema de inteligencia a lo largo del tiempo.

                    Puede leer más sobre este artículo en Introducción al aprendizaje automático de AnalyticsMitra.

                    Paso involucrado en el aprendizaje automático.

                    1. Comprensión del problema : en este proceso, básicamente, tratamos de entender las necesidades del cliente, lo que quieren lograr a partir de sus conjuntos de datos. En esta fase, generalmente nos hacemos algunas preguntas como qué quiere lograr con estos conjuntos de datos o cuál es su objetivo científico?
                    2. Preprocesamiento de datos : en esta fase generalmente importamos datos y realizamos operaciones exploratorias de análisis de datos. Básicamente, en esta fase transformamos los datos en bruto en un formato comprensible.
                    3. Modelo de implementación : en la fase anterior obtuvimos algunos patrones de datos y también comprendimos el tipo de problemas de clasificación o regresión. Desarrollamos conjuntos de datos y los dividimos en conjuntos de entrenamiento y prueba, los ajustamos a nuestro modelo, lo validamos. En esta fase generalmente utilizamos diferentes clasificaciones o algoritmos de regresión como regresión lineal, regresión logística, máquina de vectores de soporte, etc.
                    4. Mejore los resultados : en esto intentamos mejorar nuestros resultados, tratamos de encontrar el mejor modelo, también combinamos un algoritmo (este proceso también conocido como métodos de Ensemble) para obtener resultados sólidos.
                    5. Comunique y visualice los resultados : En esta fase, hemos logrado nuestro objetivo, que decidimos en la primera fase, ahora conversar con los clientes para determinar el resultado del proyecto de éxito o fracaso.

                    Cómo comenzar con el aprendizaje automático

                    Paso 1. Herramientas de programación para el aprendizaje automático : aunque hay muchos lenguajes de programación que ofrecen trabajos de aprendizaje automático pero prefiero Python, aquí estoy confirmando que prefiero Python porque tengo un buen conocimiento de Python que R u otros lenguajes de programación pero Honestamente, puedo decirle que todos los lenguajes o herramientas tienen sus propios pros y sus contras, pero una persona que está interesada en este campo siempre tiene esta programación y herramientas y siempre sabe cuándo y dónde puede usar estas herramientas.

                    Así que me gustaría recomendarle que elija Python o R de acuerdo con su interés.

                    Paso 2. Matemáticas para el aprendizaje automático.

                    Las matemáticas son partes esenciales del aprendizaje automático. Tienes una buena comprensión de Estadística, Álgebra, Probabilidad, Cálculo, Geometría de coordenadas . Puede tomar varios cursos en línea de diferentes recursos disponibles como MOOCS, canales de youtube, blogs en línea, sitios web de matemáticas en línea, etc.

                    Si comienza con Python para el aprendizaje automático, puede tomar la ayuda de las bibliotecas numpy, scipy y pandas .

                    Paso 3 Análisis de datos exploratorios / preprocesamiento de datos:

                    Esta es la etapa más importante para los proyectos de aprendizaje automático. Un buen profesional de aprendizaje automático o científico de datos siempre da la mayor parte del tiempo en esta etapa. En este paso, debe comprender el preprocesamiento de datos: cómo procesar con datos no estructurados y cómo convertirlos de forma estructurada. De esta manera, básicamente nos ocupamos de las identificaciones de las variables, el valor faltante, los valores atípicos, los datos categóricos se convierten en un formato continuo y la ingeniería de otras características de acuerdo con el requisito, etc. de datos. Este proceso implica el análisis exploratorio de datos.

                    Puedes usar numpy, pandas, scipy para operaciones matemáticas. scikit learn para ingeniería de características, matplotlib, seaborn para visualización de datos.

                    Paso 4 Aprendizaje de máquina común para principiantes

                    Recuerde que el aprendizaje automático involucró el paso 3 en el que hablamos sobre el modelo. El modelo no es más que un algoritmo de aprendizaje automático creado por el proceso de capacitación, ya que hay tres tipos de aprendizaje automático 1.) Aprendizaje supervisado 2.) Aprendizaje no supervisado 3.) Aprendizaje de refuerzo .

                    Por lo tanto, utilizamos un algoritmo de acuerdo con nuestros problemas para la predicción continua de valores. Usamos algoritmos de regresión como Regresión lineal. Para la clasificación, usamos Regresión logística, SVM, etc. Para tareas no supervisadas, usamos Clustering y PCA, etc. Aquí hay una lista de algoritmos comunes de aprendizaje automático.

                    En Python, Scikit Learn proporciona todas las clases de API de estimador del algoritmo de aprendizaje automático.

                    Proyectos para principiantes en aprendizaje automático

                    ¡Todos los derechos! Estas son las partes realmente divertidas donde implementará su trabajo y sus conocimientos. Ahora estamos realmente listos para las manos con algún proyecto. Aquí estoy enumerando algunos nombres de proyectos para principiantes:

                    1. Kaggle Titanic
                    2. Analytics Vidhya Préstamo predicción
                    3. Datos de vivienda de Boston
                    4. Analytics Vidhya Big Mart problemas
                    5. Conjuntos de datos IRIS

                    Libros y tutoriales online.

                    Para comenzar el Aprendizaje automático con python tienes desde Python básico

                    Libro de Python: Cómo pensar como un científico informático

                    Numpy and Pandas: Python para el análisis de datos de Wes McKinney y también practica Pandas con 10 minutos.

                    Aprendizaje automático con Scikit-learn: Python Machine Learning de Sebastian Raschka y Mastering Machine Learning con scikit learn de Gavin Hackeling.

                    Hay muchos recursos y los blogs están presentes para aprender de forma automática. Puede elegir el tema y buscarlo en Google. Encontrará muchos recursos como diferentes universidades en algunos blogs en línea como AnalyticsMitra, Data Science Central, Analytics Vidhya, Kdnuggets, dominar el aprendizaje automático, etc.

                    Última nota

                    Esto fue todo acerca de cómo comenzar el aprendizaje automático. Traté de representar todos los aspectos de manera simple. Te recomiendo que practiques diferentes tipos de problemas. Haga un modelo desde cero, trate de entenderlo y siempre trate de no omitir ningún tema. Siempre esté motivado hacia su meta y dé lo mejor de sí mismo.

                    Si le ha gustado este artículo, asegúrese de apreciar este artículo y si tiene alguna pregunta relacionada con esta respuesta, haré todo lo posible para responder.

                    Esta es probablemente la pregunta más común que me hacen aquí en Quora y he pasado algún tiempo pensando en una manera de proporcionar algunos recursos a las personas que están interesadas en adquirir inteligencia artificial y aprendizaje automático que se presenta en un formato fácil de entender. .

                    Hoy se me ocurrió un curso de acción.

                    Decidí comenzar una serie en el blog educativo sobre inteligencia artificial y aprendizaje automático: Cómo entender la serie de inteligencia artificial.

                    Este es el primer post que pasa por la motivación y el contenido de la serie.


                    Motivación detrás de esta serie.

                    La inteligencia artificial (IA) es un tema muy candente en la actualidad.

                    Se escuchan muchas proclamaciones oscuras y siniestras de los medios de comunicación de hoy sobre la IA. La semana pasada, un artículo exagerado afirmó que Facebook “cerró” su IA porque se estaba volviendo demasiado inteligente.

                    Algunas personas de alto perfil, como Elon Musk y Stephen Hawking, se preocupan de que si no se las controla, la IA tiene la capacidad de ser una amenaza para el fin del mundo.

                    Una cantidad decente de la población actual también está preocupada por el potencial de AI para desplazar puestos de trabajo y las consecuencias posteriores a nivel socioeconómico.

                    Solo necesita ver las terminaciones más sugeridas en Google para la frase de búsqueda “Will AI …” para ver este miedo es muy real entre un buen número de personas.

                    Pero, ¿cuánto de este miedo está realmente justificado?

                    Creo que mucho miedo en las habilidades de la IA se reduce a una falta colectiva de comprensión de cómo funciona realmente la IA. ¿Cómo exhiben inteligencia las computadoras? ¿Qué significa realmente la inteligencia en este contexto? ¿Cuáles son los límites de esta inteligencia? ¿Cómo creamos sistemas inteligentes?

                    Básicamente se reduce a una cuestión fundamental.

                    ¿Cómo funciona realmente la IA?

                    Como alguien que trabaja en el campo de la inteligencia artificial y ayuda a enseñar el curso de inteligencia artificial en la Universidad de California en Berkeley, voy a intentar desmitificar este campo. Voy a intentar hacerlo de forma sencilla. De manera divertida e intuitiva, especialmente porque muchas de las cosas que están sucediendo en la IA moderna parecen requerir mucha jerga técnica.

                    Vamos a tomar las cosas de la plaza uno. Haré mi mejor esfuerzo para hacer muy pocas suposiciones sobre el conocimiento previo. Para cualquier cosa que requiera conocimiento previo desde una perspectiva matemática o informática, intentaré explicarlo en detalle antes de continuar. Para aquellos de ustedes que quieran profundizar más en los temas, también les mostraré ideas más avanzadas y un enlace a los recursos que puedan resultarle útiles.

                    Con suerte, las personas en todos los niveles encontrarán esta serie interesante y esclarecedora. Sobre todo, espero que todos comiencen a ver la inteligencia artificial como un campo lleno de emoción en lugar de un campo oculto por la oscuridad, la incertidumbre y el miedo.


                    Esta serie aparecerá en el blog educativo.

                    Aquí hay una lista de temas que repasaré en esta serie, y no dude en hacerme saber en los comentarios si desea que me ocupe de otros temas que pueda haber olvidado. El orden y el contenido de esto pueden cambiar si veo algo mejor, así que esté atento a las actualizaciones.

                    Muchas de mis publicaciones serán basadas en historias y ejemplos, por lo que algunos de estos títulos pueden parecer un poco peculiares. He incluido los temas formales entre paréntesis para su referencia.

                    Índice

                    1. ¿Qué es la inteligencia artificial?
                    2. ¿Dónde estoy? (Espacios estatales)
                    3. La pereza (las gráficas y el problema del camino más corto)
                    4. Salida de mi profundidad (Primera búsqueda de profundidad)
                    5. Ramificación (búsqueda en primer lugar, búsqueda de costo uniforme)
                    6. Cada vez más inteligente: el poder de la heurística (A * Search)
                    7. Odio cumplir con las reglas (problemas de satisfacción de restricciones)
                    8. Vamos a jugar algunos juegos (Game Trees, Minimax)
                    9. Jugar juegos más inteligentes (Alpha-Beta Poda, Expectimax)
                    10. Todo es incierto (Introducción a la probabilidad)
                    11. Tomar decisiones en un mundo caótico (Proceso de decisión de Markov, iteración del valor)
                    12. Tomar decisiones es difícil: solo probemos cosas (aprendizaje de refuerzo, aprendizaje Q)
                    13. Cada acción tiene consecuencias (redes bayesianas)
                    14. Relaciones entre acciones (independencia en redes bayesianas)
                    15. Predicción de consecuencias de acciones (inferencia en redes bayesianas)
                    16. Predicción de consecuencias de acciones más rápidas (muestreo en redes bayesianas)
                    17. El conocimiento es realmente poderoso (redes de decisión y valor de la información perfecta)
                    18. Ayer dijiste mañana (cadenas de Markov)
                    19. Comencemos a observar (modelos ocultos de Markov)
                    20. Woah, Tengo datos ahora (Introducción al aprendizaje automático)
                    21. Supongo que soy ingenuo (Naive Bayes)
                    22. Tengo algunos vecinos impresionantes (K-vecinos más cercanos)
                    23. Tratar con el cambio (breve descripción de cálculo)
                    24. I Love Lines (Regresión Lineal)
                    25. También me encanta la logística (Regresión logística)
                    26. Necesito algo de apoyo (Máquinas de vectores de soporte)
                    27. Decisiones: dibujemos algunos árboles (árboles de decisión)
                    28. Introduce Some Chaos (Random Forests)
                    29. Finalmente, sin supervisión de un adulto (aprendizaje no supervisado)
                    30. ¿Dónde está mi grupo (k-medios)
                    31. Simplificar, simplificar (reducción de dimensiones y análisis de componentes principales)
                    32. Pensemos en cosas más profundas (Introducción al aprendizaje profundo)
                    33. Una mirada más profunda a las líneas (Perceptrons)
                    34. Veo un cerebro (redes neuronales artificiales)
                    35. Debemos estar preocupados (inteligencia artificial, sociedad, ética y futuro)

                    More Interesting