Arthur Samuel acuñó el término «Machine Learning» en 1959 y lo definió como un «Campo de estudio que da a los ordenadores la capacidad de aprender sin ser programados explícitamente».
¡Y ese fue el comienzo del Machine Learning! En los tiempos modernos, el Machine Learning es una de las opciones profesionales más populares (¡si no la más!). Según Indeed, Machine Learning Engineer es el mejor trabajo de 2019 con un crecimiento del 344% y un salario base medio de 146.085 dólares al año.
Pero todavía hay muchas dudas sobre qué es exactamente el Machine Learning y cómo empezar a aprenderlo. Así que este artículo trata de los Fundamentos del Aprendizaje Automático y también del camino que puedes seguir para convertirte finalmente en un Ingeniero de Aprendizaje Automático de pleno derecho. Ahora vamos a empezar!!!
- ¿Qué es el Aprendizaje Automático?
- ¿Cómo empezar a aprender ML?
- Paso 1 – Entender los prerrequisitos
- (a) Aprende Álgebra Lineal y Cálculo Multivariante
- (b) Aprender Estadística
- (c) Aprender Python
- Paso 2 – Aprender varios conceptos de ML
- (a) Terminologías del Aprendizaje Automático
- (b) Tipos de aprendizaje automático
- (c) ¿Cómo practicar el Aprendizaje Automático?
- (d) Recursos para el aprendizaje del aprendizaje automático:
- Paso 3 – Participar en Concursos
¿Qué es el Aprendizaje Automático?
El Aprendizaje Automático implica el uso de la Inteligencia Artificial para permitir que las máquinas aprendan una tarea a partir de la experiencia sin programarlas específicamente sobre esa tarea. (Este proceso comienza con la alimentación de datos de buena calidad y luego el entrenamiento de las máquinas mediante la construcción de varios modelos de aprendizaje automático utilizando los datos y diferentes algoritmos. La elección de los algoritmos depende de qué tipo de datos tenemos y qué tipo de tarea estamos tratando de automatizar.
¿Cómo empezar a aprender ML?
Esta es una hoja de ruta aproximada que puedes seguir en tu camino para convertirte en un Ingeniero de Aprendizaje Automático con mucho talento. Por supuesto, siempre puedes modificar los pasos de acuerdo a tus necesidades para alcanzar tu objetivo final deseado!
Paso 1 – Entender los prerrequisitos
En caso de que seas un genio, podrías empezar con ML directamente, pero normalmente, hay algunos prerrequisitos que necesitas conocer que incluyen Álgebra Lineal, Cálculo Multivariante, Estadística y Python. Y si no los conoces, ¡no temas! No necesitas un doctorado en estos temas para empezar, pero sí una comprensión básica.
(a) Aprende Álgebra Lineal y Cálculo Multivariante
Tanto el Álgebra Lineal como el Cálculo Multivariante son importantes en el Aprendizaje Automático. Sin embargo, el grado en que los necesitas depende de tu rol como científico de datos. Si estás más centrado en el aprendizaje automático pesado de aplicaciones, entonces no estarás tan centrado en las matemáticas ya que hay muchas bibliotecas comunes disponibles. Pero si quieres centrarte en R&D en el Aprendizaje Automático, entonces el dominio del Álgebra Lineal y el Cálculo Multivariante es muy importante ya que tendrás que implementar muchos algoritmos de ML desde cero.
(b) Aprender Estadística
Los datos juegan un papel enorme en el Aprendizaje Automático. De hecho, alrededor del 80% de tu tiempo como experto en ML lo pasarás recogiendo y limpiando datos. Y la estadística es un campo que se encarga de la recopilación, el análisis y la presentación de los datos. Así que no es de extrañar que necesites aprenderla!!!
Algunos de los conceptos clave de la estadística que son importantes son la significación estadística, las distribuciones de probabilidad, las pruebas de hipótesis, la regresión, etc. Además, el Pensamiento Bayesiano es también una parte muy importante de la ML que se ocupa de varios conceptos como la Probabilidad Condicional, los Priores, y los Posteriores, la Máxima Verosimilitud, etc.
(c) Aprender Python
Algunas personas prefieren saltarse el Álgebra Lineal, el Cálculo Multivariante y la Estadística y aprenderlos sobre la marcha con ensayo y error. ¡Pero lo que no puedes saltarte en absoluto es Python! Aunque hay otros lenguajes que puedes usar para el Aprendizaje Automático como R, Scala, etc. Python es actualmente el lenguaje más popular para el ML. De hecho, hay muchas librerías de Python que son específicamente útiles para la Inteligencia Artificial y el Machine Learning como Keras, TensorFlow, Scikit-learn, etc.
Así que si quieres aprender ML, ¡lo mejor es que aprendas Python! Puedes hacerlo utilizando varios recursos y cursos online como Fork Python disponible Gratis en GeeksforGeeks.
Paso 2 – Aprender varios conceptos de ML
Ahora que has terminado con los requisitos previos, puedes pasar a aprender realmente ML (¡¡Que es la parte divertida!!) Es mejor empezar con lo básico y luego pasar a lo más complicado. Algunos de los conceptos básicos en ML son:
(a) Terminologías del Aprendizaje Automático
- Modelo – Un modelo es una representación específica aprendida de los datos aplicando algún algoritmo de aprendizaje automático. Un modelo también se llama hipótesis.
- Característica – Una característica es una propiedad individual medible de los datos. Un conjunto de características numéricas puede describirse convenientemente mediante un vector de características. Los vectores de características se introducen como entrada al modelo. Por ejemplo, para predecir una fruta, puede haber características como el color, el olor, el sabor, etc.
- Objetivo (etiqueta) – Una variable objetivo o etiqueta es el valor que debe predecir nuestro modelo. Para el ejemplo de la fruta comentado en la sección de características, la etiqueta con cada conjunto de entrada sería el nombre de la fruta como manzana, naranja, plátano, etc.
- Entrenamiento – La idea es dar un conjunto de entradas (características) y sus salidas esperadas (etiquetas), por lo que después del entrenamiento, tendremos un modelo (hipótesis) que luego asignará los nuevos datos a una de las categorías entrenadas.
- Predicción – Una vez que nuestro modelo está listo, se puede alimentar un conjunto de entradas a las que proporcionará una salida predicha (etiqueta).
- Aprendizaje supervisado – Esto implica el aprendizaje de un conjunto de datos de entrenamiento con datos etiquetados utilizando modelos de clasificación y regresión. Este proceso de aprendizaje continúa hasta que se alcanza el nivel de rendimiento requerido.
- Aprendizaje no supervisado: implica el uso de datos sin etiquetar y, a continuación, la búsqueda de la estructura subyacente en los datos con el fin de aprender más y más sobre los propios datos utilizando modelos de análisis de factores y clústeres.
- Aprendizaje semisupervisado: implica el uso de datos sin etiquetar como el aprendizaje no supervisado con una pequeña cantidad de datos etiquetados. El uso de datos etiquetados aumenta enormemente la precisión del aprendizaje y también es más rentable que el Aprendizaje Supervisado.
- Aprendizaje por Refuerzo – Esto implica el aprendizaje de acciones óptimas a través de ensayo y error. Así que la siguiente acción se decide mediante el aprendizaje de comportamientos que se basan en el estado actual y que maximizarán la recompensa en el futuro.
- La parte que más tiempo consume en el ML es en realidad la recopilación, integración, limpieza y preprocesamiento de datos. Así que asegúrate de practicar con esto porque necesitas datos de alta calidad pero grandes cantidades de datos suelen estar sucios. Así que aquí es donde la mayor parte de su tiempo va a ir!!!
- Aprender varios modelos y la práctica en conjuntos de datos reales. Esto le ayudará a crear su intuición en torno a qué tipos de modelos son apropiados en diferentes situaciones.
- Junto con estos pasos, es igualmente importante entender cómo interpretar los resultados obtenidos mediante el uso de diferentes modelos. Esto es más fácil de hacer si se entienden varios parámetros de ajuste y métodos de regularización aplicados en diferentes modelos.
- Para una amplia introducción al Aprendizaje Automático, el Curso de Aprendizaje Automático de Stanford por Andrew Ng es bastante popular. Se centra en el aprendizaje automático, la minería de datos y el reconocimiento de patrones estadísticos con videos explicativos son muy útiles para aclarar la teoría y los conceptos básicos detrás de ML.
- Si desea una guía de auto-estudio para el Aprendizaje Automático, entonces Machine Learning Crash Course de Google es bueno para usted, ya que le proporcionará una introducción al aprendizaje automático con conferencias de vídeo, estudios de casos del mundo real y ejercicios de práctica.
- En caso de que prefiera un curso fuera de línea, el curso Geeksforgeeks Machine Learning Foundation será ideal para usted. Este curso te enseñará varios conceptos de Machine Learning y también experiencia práctica para implementarlos en un entorno presencial.
- Titanic: Aprendizaje automático del desastre: El Titanic: Machine Learning from Disaster challenge es un proyecto muy popular para principiantes de ML ya que tiene múltiples tutoriales disponibles. Por lo tanto, es una gran introducción a los conceptos de ML como la exploración de datos, la ingeniería de características y el ajuste del modelo.
- Digit Recognizer: El Reconocedor de Dígitos es un proyecto después de tener algunos conocimientos de Python y los fundamentos de ML. Es una gran introducción al apasionante mundo de las redes neuronales utilizando un conjunto de datos clásico que incluye características pre-extraídas.
(b) Tipos de aprendizaje automático
(c) ¿Cómo practicar el Aprendizaje Automático?
(d) Recursos para el aprendizaje del aprendizaje automático:
Hay varios recursos online y offline (¡tanto gratuitos como de pago!) que se pueden utilizar para aprender Machine Learning. Algunos de ellos se proporcionan aquí:
Paso 3 – Participar en Concursos
¡Después de haber entendido los fundamentos del Machine Learning, puedes pasar a la parte más loca!!! ¡Los concursos! Estas básicamente te harán dominar aún más el ML combinando tus conocimientos mayormente teóricos con la implementación práctica. Algunas de las competiciones básicas con las que puedes empezar en Kaggle y que te ayudarán a coger confianza son las siguientes:
Después de haber completado estos concursos y otros retos tan sencillos… ¡¡Felicidades!!! Estás en camino de convertirte en un Ingeniero de Aprendizaje Automático de pleno derecho y puedes seguir mejorando tus habilidades trabajando en más y más desafíos y eventualmente creando proyectos de Aprendizaje Automático más y más creativos y difíciles.