¿Cuál fue tu primer paso hacia el aprendizaje automático?

Durante mi maestría en Ciencias de la Computación y Aplicaciones en Warwick Uni, tuve la opción de tomar algunos módulos de minería de datos. Mi ideología era entonces que quería conocer otras áreas en Informática y Desarrollo de Software. Por lo tanto, elegir Python y R no fue un desafío, pero la comprensión de esos modelos probabilísticos y algunos buenos recursos que encontré útiles fueron

  1. Bramer, M .. Principios de minería de datos. Saltador.
  2. Han, J., Kamber, M., y Pei, J. Minería de datos: conceptos y técnicas.
  3. Morgan kaufmann.Mitchell, TM Aprendizaje automático. Burr Ridge, IL: McGraw Hill.
  4. Flach, P. Aprendizaje automático: el arte y la ciencia de los algoritmos que dan sentido a los datos. Prensa de la Universidad de Cambridge.

Estos se convirtieron en mis primeros pasos para entender el aprendizaje automático.

Además, he ido más allá para completar la especialización en ciencia de datos en cousera y actualmente tomo la Introducción al Aprendizaje Automático y la Detección de Rostros en Python en udemy para volver al juego después de dos años de desarrollo de software. En 3 a 5 años, me encantará hacer un cambio de carrera a AI, quizás más a Machine Learning, quién sabe. Espero que mi aporte no fuera aburrido.

Al ser un programador, el aspecto más desconcertante del aprendizaje automático, en particular los modelos de redes neuronales, era

  • ¿Cómo puede un programa clasificar una imagen u oración sin ningún ser humano que codifique las reglas / características (a pesar de ser consciente de que dichas reglas / características serían frágiles, y definitivamente insuficientes / incompletas ) y aprender las reglas / características automáticamente a partir de algunos datos etiquetados que son proporcionado a ello.
  • Aún más desconcertante fue cómo el algoritmo aprende a converger en los valores de algunos números ( parámetros ) que lo ayudan a clasificar todas las imágenes en el conjunto de entrenamiento (y mucho menos clasificar los datos que nunca ha visto ). Los años de programación condicionan uno para pensar, ya que el número de “características / casos” para manejar aumenta, en algún momento, tiene que convertirse inevitablemente en un juego de “locura”, sin importar qué tan bueno sea el diseño, arregle un caso , y algo mas se rompe! Eso no sucede con los algoritmos de aprendizaje automático si se modela / sintoniza correctamente. Agregue / modifique los parámetros correctamente: puede aprender a clasificar correctamente todas las imágenes, y si se entrena con datos suficientes, también puede clasificar imágenes / oraciones invisibles, en algunos casos, con niveles de precisión que superan a los humanos ahora.
  • Y aún más desconcertante fue el aprendizaje no supervisado: solo proporcione datos a un algoritmo, sin etiquetar lo que es correcto / incorrecto, etc. (a diferencia del caso anterior de los datos etiquetados ), y el algoritmo presenta información sobre los datos por sí mismo ( por ejemplo, se puede decir que dos palabras están relacionadas semánticamente entre sí, aunque nunca aparecieron juntas en el corpus. Los métodos de descomposición matricial reconocidos como SVD también pueden generar tales percepciones, pero no es práctico hacerlo en un corpus de 20 mil millones de palabras en una máquina estándar con recursos típicos ).
  • A pesar de que leer artículos de revistas, ver videos y tomar cursos de aprendizaje automático en línea ayudó a tener una idea de lo que puede estar pasando, todo fue confuso hasta que se trabajó directamente con un modelo sin supervisión: word2vec.
  • Este modelo es particularmente fascinante debido a la información que puede generar sin ninguna ayuda humana; solo aliméntela con datos no estructurados sin procesar y reunirá conceptos semánticamente relacionados que nunca supo que estuvieran relacionados. El examen del código fuente revelará que el quid del modelo son solo 5 líneas de código. Hay un mejoramiento en este modelo, Adagram, que no solo puede generar ideas como word2vec, sino que también puede funcionar como modelos de secuencia, al identificar el sentido semántico de la palabra dada una oración, de nuevo sin datos etiquetados.
  • Entonces, para mí, fue mirar el código de un algoritmo de aprendizaje automático que ayudó a comprender: la lectura de documentos ayudó a darle un contexto inicial al código ( no hubiera sido posible sin ese contexto ), pero fue el código el que me ayudó. realmente lo entiendo Utilicé problemas de clasificación y reducción de dimensiones como ejemplos de clases de algoritmos de aprendizaje automático. Los aspectos desconcertantes son aún más para otros algoritmos, como los modelos de secuencia, que tienen en cuenta el orden, mantienen el estado a largo plazo y, con mecanismos de atención opcionales, generan una representación interna de una oración (o aceptan como entrada una representación de imagen de un modelo ascendente). ), y convierte esa representación interna a una oración en otro idioma (o una descripción de la imagen).
  • Quizás este camino de aprendizaje sea útil solo para otros programadores como yo, que entienden el código mejor que los documentos …

Siga estos 6 PASOS FÁCILES para aprender los conceptos básicos del APRENDIZAJE EN MÁQUINA en 3 meses.

¡¡Buena suerte!!

El aprendizaje automático es un campo verdaderamente vasto y en rápido desarrollo. Será abrumador sólo para comenzar. Sin duda, ha estado saltando en el punto en el que necesita usar la máquina para averiguar cómo construir modelos. Piensa un poco en lo que debe hacer; sin embargo, cuando se filtra la web en busca de algoritmos concebibles, hay muy recientemente un número excesivo de alternativas.

Para aprender el aprendizaje automático, debes ser mejor que el promedio en matemáticas. Aquí están las matemáticas que debe aprender teniendo en cuenta el objetivo final para estar preparado.

  • Álgebra lineal-Álgebra lineal – MIT 18.06 Álgebra lineal por Gilbert Strang
  • Teoría de probabilidad-Probabilidad y estadística – MIT 6.041 Análisis probabilístico de sistemas y probabilidad aplicada por John Tsitsiklis
  • Cálculo
  • Cálculo multivariado
  • Teoría de grafos
  • Métodos de optimización
  • Cualquier lenguaje de programación que sea ampliamente utilizado para ML como python, MATLAB o C ++.

PD: recomendaría Python aquí como idioma y recomendaría los siguientes enlaces:

  • Aprendizaje automático con texto en scikit-learn (PyCon 2016)
  • Aprendizaje automático en Python con scikit-learn
  • Aprendizaje automático con Python

https://www.youtube.com/watch?v=… https://www.youtube.com/watch?v=…

Una vez cumplidos estos requisitos, por fin puede comenzar a considerar el Aprendizaje automático.

6 PASOS FÁCILES PARA UTILIZAR EL APRENDIZAJE EN MÁQUINA?

Este es el lugar donde comienza la diversión. Ahora, se espera que la fundación comience a echar un vistazo a algunos datos. Antes de comenzar, he enumerado 30 cosas que todos deberían saber en Aprendizaje automático . La mayoría de las empresas de aprendizaje automático tienen básicamente el mismo proceso de trabajo:

PASO 1.) Fabrique sus fundamentos de aprendizaje automático estudiando algunos materiales relacionados con el tema:

a.) Las conferencias de Aprendizaje automático de Andrew Ng son un gran comienzo :

b.) Escuela de verano de aprendizaje automático :

c.) Un enlace a la lista de reproducción completa está aquí (Colección de conferencias | Aprendizaje automático)

https://www.youtube.com/view_pla

d.) Certificado de aplicaciones y minería de datos de Stanford :

http://scpd.stanford.edu/public/…

e.) Introducción a la inteligencia artificial por el Prof. Deepak Khemani IIT Madras

http://nptel.ac.in/courses/10610

f.) ” La mejor introducción de aprendizaje automático que he visto hasta ahora”.

PASO 2.) Toma un curso en línea

Lo principal que aconsejo a alguien que necesita aprender aprendizaje automático es tomar el curso en línea de Andrew Ng.

Creo que el curso de Ng es especialmente puntual y excepcionalmente eficiente, por lo que es un conocido extraordinario para alguien que necesita ingresar a ML. Me sorprende cuando los individuos me revelan que el curso es “excesivamente fundamental” o “excesivamente superficial”.

Ante la posibilidad de que me revelen que solicito que aclaren el contraste entre Regresión logística y SVM de kernel lineal, PCA versus Factorización matricial, regularización o pendiente de gradiente. He hablado con los aspirantes que afirmaron años de encuentro de ML que no sabían la respuesta a estas preguntas. En su mayor parte están claramente aclarados en el curso de Ng.

Hay muchos otros cursos en línea que puede tomar después de este, pero ahora está en su mayor parte preparado para pasar a la siguiente etapa.

Vea mi publicación anterior Los 10 mejores videos, profesores y cursos sobre aprendizaje automático para principiantes y avanzados

PASO 3.) Algunas sugerencias de libros

Mi paso subsiguiente sugerido es obtener un libro decente de LD (mi resumen más abajo), leer las secciones principales de introducción, y después de que el rebote a cualquier parte incorpore un algoritmo, está interesado. Cuando hayas descubierto que algo, salta a él, observa cada uno de los puntos de interés y, en particular, implementalo. En el último paso del curso en línea, a partir de ahora, habría actualizado algunos algoritmos en Octave. Sea como sea, aquí estoy mirando la ejecución de un algoritmo sin ninguna preparación en un lenguaje de programación “real”. En cualquier caso, puede comenzar con uno simple, por ejemplo, Regresión logística regularizada por L2, o k-means, pero también debería esforzarse para actualizar todos los más interesantes, por ejemplo, SVM. Puede utilizar una implementación de referencia en una de las muchas bibliotecas existentes para asegurarse de que está obteniendo resultados equivalentes.

  • El razonamiento bayesiano de David Barber y el aprendizaje automático
  • Aprendizaje automático de Kevin Murphy: una perspectiva probabilística
  • Google dice que el aprendizaje automático es el futuro
  • Los elementos del aprendizaje estadístico de Hastie, Tibshirani y Friedman
  • Reconocimiento de patrones del obispo y aprendizaje automático
  • Andrew Ng OpenClassRoom Stanford
  • Aprendizaje de máquina de Mitchell

También hay numerosos libros geniales que se centran en un tema específico. Por ejemplo, Sutton and Re-Inforcement Learning es una obra de arte. Además, el libro Deep Learning (accesible en la web) prácticamente se está convirtiendo en un ejemplar antes de su distribución. Sea como sea, necesita un par de esos libros para reunir un grado de comprensión de gran alcance y equilibrado del campo.

Ver mi publicación anterior 10 libros electrónicos gratuitos que debes leer sobre los conceptos básicos del aprendizaje automático .

Asimismo, puede ir específicamente a un trabajo de investigación que presente un algoritmo o enfoque que le interese y se sumerja en él.

PASO 4.) La mayoría de los algoritmos esenciales

Se confía en usted para conocer las tuercas y los tornillos de un algoritmo esencial.

Ver mis algoritmos posteriores a 15 algoritmos que los ingenieros de aprendizaje deben conocer .

En cualquier caso, además de los algoritmos, también es fundamental saber cómo configurar sus datos (selección de características, transformación y compresión) y cómo evaluar sus modelos. Tal vez, como iniciador, podría ver nuestro Aprendizaje de máquina en el ejercicio de instrucción scikit-learn en SciPy 2016. Condensa una gran parte de los rudimentos al presentar la biblioteca de scikit-learn, que puede resultar útil para la ejecución y otros exámenes. :

PASO 5.) Juega con unos enormes conjuntos de datos que son accesibles de forma abierta.

Descubra un conjunto de datos que le parezca especialmente intrigante o sobre el que tenga hipótesis y verifique si tiene razón.

a.) Datos del gobierno de los EE. UU. http://www.data.gov/

b.) Contender en Kaggle o construir algo con uno de sus conjuntos de datos, es realmente divertido y genuino. https://www.kaggle.com/

Kaggle es una plataforma para el modelado predictivo y las competiciones de análisis en las que las empresas e investigadores publican sus datos, y los estadísticos y mineros de datos de todo el mundo compiten para producir los mejores modelos”. – Wiki

Kaggle lo expone a una amplia gama de problemas de Aprendizaje automático, las competiciones de Kaggle lo obligan a codificar y a codificar su solución de la manera más eficiente posible, haciendo concesiones entre el tiempo del programador, el tiempo de CPU, RAM, etc. Cada competencia tiene un Foro donde los competidores se ayudan entre sí para abordar el problema. Estarás compitiendo contra algunos de los mejores ingenieros del mundo. Finalmente, los reclutadores están recorriendo las tablas de Kaggle en busca de ingenieros talentosos. Podrías encontrar una nueva posición .

Debería comenzar su kaggle con Titanic porque, debido a que hay muchos scripts / problemas accesibles, tendrá la capacidad de construir diversos tipos de modelos que también le permitirán comprender algunos de los algoritmos de aprendizaje automático.

A continuación, puede ocuparse de un tema interesante. Reclutar en Facebook por qué, dado que dada la facilidad de la estructura de datos y la extravagancia del contenido , puede unirse a las tablas correctas y hacer un cálculo preciso en este caso.

Cuando haya terminado con estos dos, debería estar listo para abordar temas más interesantes de acuerdo con su interés.

He enumerado 40 proyectos divertidos de aprendizaje automático para principiantes en aprendizaje automático. Cuando termine, puede echar un vistazo a los 35 principales proyectos de aprendizaje automático en Github para obtener más inspiración.

Algunos sitios que pueden ayudarlo a resolver problemas : https: //stackoverflow.com , http : //www.gitxiv.com/ , http://www.arxiv-sanity.com/ , https://arxiv.org/

PASO 6.) Participa en un aprendizaje automático centrado en el producto o en un evento Attend ML.

El grupo que busca debe estar cargado de ingenieros a los que desea instruir y aprender. Esto te ayudará a convertirte en un buen ingeniero de aprendizaje automático. Del mismo modo, al separar un grupo de productos, rápidamente descubrirás cómo la ciencia y la hipótesis del aprendizaje automático varían de la capacitación. Específicamente, cómo la conducta del cliente le mostrará algo nuevo cada día.

Vaya a los eventos de aprendizaje automático en los que puede darse cuenta de lo que hace la gente en las charlas y participar con hackathons, ejercicios de instrucción y talleres como:

La conferencia de aprendizaje automático

Conferencia de estratos de O’Reilly

PyData

Conferencia de datos ricos de Crowdflower

PD: ¿Quiere saber en profundidad los últimos recursos de AI y ML en la web? DEBE ver esta página de índice aquí .

CONCLUSIÓN:

No dudes en fallar . La mayor parte de su oportunidad en el aprendizaje automático se dedicará a tratar de entender por qué un algoritmo no funcionó como esperaba o por qué recibí los errores que son comunes. La perseverancia es crítica.

Simplemente deja que todo salga. En el caso de que piense que la regresión logística puede funcionar … inténtelo con un pequeño conjunto de datos y perciba cómo lo hace. Estas actividades tempranas son una caja de arena para asimilar las técnicas al caer de plano, así que aproveche y pruebe todo lo que sea una buena señal.

En ese punto … en caso de que sea rápido para llevar a casa el tocino aprendiendo a máquina, haga su propio sitio. Cree un sitio web que incluya cada una de las empresas a las que se haya dedicado. Muestra cómo los hiciste. Demostrar los productos finales. Hazlo hermoso. Tener imágenes decentes. Haz que el proceso sea capaz. Haga un artículo que otra persona pueda ganar y luego confíe en que una empresa puede ver todo el trabajo que realiza.

Para comenzar con el ML, debes entender que el ML no es algo que sea 100% preciso , la mayoría de los casos son solo una estimación decente y grandes cantidades de iteraciones. Así que pensar en un pensamiento único es difícil como regla , en vista del tiempo y los recursos que gastará en la preparación del modelo. Así que no intente dar sentido a las soluciones por sí mismo: busque documentos, proyectos, expertos que puedan ayudarlo. Cuanto más rápido obtengas experiencia, mejor. ¡¡Todo lo mejor!!

Interés, seguido de fondo .

Si no estás interesado en ML, no es para ti. Sin su interés, nunca encontrará la pasión por hacer algo significativo o útil en el campo. Sin embargo, solo tener interés no es suficiente, es la primera chispa. Para encender el fuego, necesitas tener cierto fondo. Puede leer más aquí para saber qué puede ser útil para mejorar sus posibilidades de sobresalir en el campo: la respuesta de Shehroz Khan a ¿Cómo aprendo el aprendizaje automático?

Para mí fue antes de que ML se convirtiera en una “cosa”. Estaba trabajando para una startup que estaba creando una aplicación para pronosticar cuántos Petabytes de almacenamiento necesitará la organización del usuario en el futuro. Fue en 2005. Para 2008, nos dimos cuenta de que no podíamos ejecutar una aplicación de pronóstico de fondo para cientos de miles de unidades en una computadora portátil Duocore Windows XP con solo 2 GB de RAM. Así que nos complació que las previsiones se actualizaran regularmente y enseñamos a la computadora portátil a reconocer automáticamente qué unidades debían actualizarse y cuáles podrían esperar al siguiente ciclo, según los datos. Más adelante, descubrimos cómo predecir cuándo sería necesario volver a proyectar cada escenario actualizado. En 2008, presentamos una patente llamada “Previsión perezosa”. En 2010, se concedió la patente. En 2012, Data Science se convirtió en “la profesión más sexy del siglo XXI”.

Una vez, de repente, me pregunté: ¡ Por qué todas las máquinas nos escuchan! ¡Quién les enseñó! ¡Cómo pueden entender lo que necesitamos! ¡Cómo llegan a saber qué hacer!

Un modelo predictivo que hice en Excel usando regresión lineal múltiple. Además, el estudio personal incluye las conferencias de Andrew Ng sin hacer las tareas.