Como primera parada en nuestro paso a través de las parcelas del machine learning, vamos a detenernos un poco, mirar a nuestro alrededor, y echar un vistazo al mapa: ¿qué es machine learning?, ¿para qué sirve?, ¿qué tipos de machine learning existen?, algunos ejemplos, sus componentes principales, entre otras particularidades cuyo conocimiento es conveniente para sortear el terreno y poder adentrarnos de lleno en sus misterios.
¿Qué necesitaremos para nuestra primera exploración?
Dado que es tu primera vez por estos lares, en esta ocasión el inventario es bastante ligero:
Tentempié: algún alimento para amenizar la travesía
Y es todo. Este recorrido en particular contendrá conceptos poco técnicos, solo te recomiendo algún comestible para acompañar, y poner suma atención a todo lo que verás a continuación.
Nota: a lo largo de nuestras travesías me referiré al machine learning también como aprendizaje de máquinas, aprendizaje automático, o aprendizaje artificial.
¿Qué es machine learning?
El machine learning es una rama de las ciencias computacionales y matemáticas (especialmente, de la inteligencia artificial) que estudia y desarrolla técnicas para la creación de sistemas capaces de concretar uno o más objetivos mediante algoritmos no explícitamente programados, a través de un proceso de aprendizaje que consiste en la extracción automática de patrones de conjuntos de datos.
Para mostrar este concepto de una manera más digerible, explicaré puntualmente los diferentes términos clave que lo conforman.
Comencemos hablando sobre el fenómeno central con el que estaremos lidiando durante toda nuestra travesía: el aprendizaje.
Aprendizaje en machine learning
En el contexto del machine learning, el aprendizaje se refiere al hecho de que una máquina sea capaz de realizar una tarea o más tareas, y mejorar en su ejecución mediante el procesamiento de datos; es decir, se da a través de la experiencia, justo como hacemos nosotros en nuestra vida diaria.
Exacto. Como cuando mejoramos en la realización de nuestras actividades cotidianas, en machine learning las computadoras mejoran en la ejecución de sus objetivos conforme a los datos que les damos y sus intentos por alcanzar exitosamente sus metas.
Un ejemplo clásico de esto es un sistema capaz de reconocer gatos. Para lograr que una computadora aprenda cómo diferenciar un gato de otros animales, le tenemos que proporcionar cúmulos de imágenes etiquetadas, es decir, grupos de imágenes en las que le señalemos cuáles son de gatos y cuáles no (justo como lo haríamos con un bebé).
Mediante el procesamiento de estos datos (las imágenes y sus correspondientes pixeles), y la consideración de sus errores y éxitos (la cantidad de gatos que la máquina reconoce de forma correcta o incorrecta), la máquina incrementará progresivamente su capacidad de diferenciar gatos de otros animales. Esto indica que la computadora aprende conforme analiza los datos que le proporcionamos, y esto es en esencia la definición y meta del machine learning.
De forma resumida, podemos aseverar que el machine learning es una rama de la ciencia que busca desarrollar y/o implementar técnicas para generar aprendizaje en máquinas, es decir: mejorar sus capacidades en el cumplimiento de objetivos conforme a los datos que le proveemos.
Las computadoras no interactúan de la misma forma que nosotros con la información de la que van a aprender.
Pero lo hacen.
Componentes principales del machine learning
Con el objetivo de ilustrar cómo es que se genera el aprendizaje de máquinas de manera más concisa, hablaremos sobre los elementos que lo producen. Estos componentes son los bloques más esenciales, y son comunes a todos los diferentes tipos de machine learning (que mencionaremos más adelante).
Como si se tratara de ingredientes imprescindibles para una receta mágica, revisemos cada uno de estos:
1. Conjunto de datos
Este elemento es crucial, vital, ineludible, no solo en aprendizaje de máquinas, sino en toda la ciencia de datos. Los datos son la materia prima de la cual las máquinas aprenden para concretar tareas, y me atrevo a aseverar que son el pilar de toda la inteligencia artificial moderna.
En el ejemplo que revisamos, e ilustramos en la Figura 1.3.2, el conjunto de datos es el grupo de imágenes de gatos y otros animales. Más adelante en el curso aprenderás todo lo que necesitas para manipular y utilizar los datos para producir aprendizaje automático.
2. Un algoritmo para procesar los datos
Cuando hablamos sobre machine learning, hablamos sobre… eso, máquinas aprendiendo. Las computadoras operan mediante instrucciones, y estas instrucciones son recibidas mediante una lógica a seguir. Esta lógica es lo que conocemos como algoritmos.
Los algoritmos en aprendizaje automático comprenden al conjunto de pasos a seguir para procesar los datos y extraer patrones de estos. El estudio del machine learning se puede reducir al estudio de sus algoritmos, ya que se trata de las diversas técnicas existentes para operar sobre datos y obtener modelos matemáticos (de esto hablaremos en el siguiente punto).
En nuestro ejemplo invocado anteriormente, el algoritmo sería el conjunto de operaciones realizadas bajo una lógica para que la máquina logre reconocer gatos con éxito. Aquí hablaremos más tarde sobre los algoritmos de machine learning más populares.
3. Modelo matemático
Esto más que un ingrediente es, de hecho, lo que resultará del procesamiento de datos mediante el algoritmo utilizado. El modelo es una función matemática que captura patrones en los datos, y los expresa matemáticamente. Este modelo es utilizado para realizar los cálculos para que la máquina realice sus tareas.
En el ejemplo antes citado, el modelo matemático resultante es una función que, dada una nueva imagen, genera un valor numérico que indica si la imagen es un gato o no. Los detalles de los modelos matemáticos los abordaremos con mucho más detalle en próximos tópicos del curso, principalmente en los apartados de matemáticas.
Flujo general del machine learning
La relación entre los diferentes componentes aquí expuestos se puede explicar mediante el diagrama de lo que he llamado marco de trabajo general del aprendizaje de máquinas (Figura 1.3.3), en el que se observa cómo los elementos clave conviven y generan lo que llamamos inteligencia artificial mediante algoritmos de machine learning.
Desde este punto de vista, la inteligencia artificial que es producida por aprendizaje de máquinas es menos misteriosa: al final se trata de modelos matemáticos procreados mediante algoritmos que procesan datos.
Hoy en día varios autores se refieren al machine learning como una rama de la inteligencia artificial, e incluso de las ciencias cognitivas. En este curso aceptaremos la convención de que el machine learning es inteligencia artificial, porque sus avances se desprenden del estudio de esta.
Sin embargo, la inteligencia es aún un concepto de diversos tintes, y existen diversas métricas para su medición que difieren entre sí en cuanto a lo que es la inteligencia y cómo es alcanzable por una máquina. Esto evita discernir de forma concreta si estos sistemas son realmente inteligentes o no. Desde mi perspectiva, las computadoras aún no son inteligentes per se, pero esto es un tema que da para un extenso debate. Lo dejo a tu criterio.
Ejemplos de machine learning
Para ilustrar el alcance de este tipo de algoritmos, en la Figura 1.3.4 se pueden apreciar diferentes ejemplos de productos inteligentes creados mediante técnicas de aprendizaje automático:
Estos son solo una diminuta porción del racimo de posibilidades que ofrece el machine learning: sus aplicaciones permean gran parte de nuestra vida diaria, especialmente en los entornos digitales, pero por el momento no nos detendremos a hablar sobre esto, ya que lo estaremos experimentando a lo largo del curso.
El término machine learning fue utilizado por primera vez por el ingeniero Arthur L. Samuel en 1959, en un artículo llamado <<Some Studies in Machine Learning Using the Game Checkers>>. En su texto abordó los procedimientos para lograr que una computadora aprenda a jugar el juego de mesa <<damas inglesas>>. Sobre los resultados expresó lo siguiente: <<se ha realizado suficiente trabajo para verificar el hecho de que una computadora puede ser programada para aprender a jugar mejor que las personas que escribieron el programa>>.
Machine learning vs algoritmos convencionales
Dada la definición del machine learning que hemos desarrollado aquí, se puede distinguir un enorme diferenciador que tiene respecto a la forma en que ofrecen soluciones los programas informáticos convencionales, ya que en estos últimos se establecen reglas que la computadora debe seguir para ejecutar una tarea, y que no cambian salvo que el programador decida realizar alguna edición del código computacional que las establece.
En un algoritmo de machine learning, en cambio, su eficiencia cumpliendo sus objetivos cambia a la par que procesa datos.
Un ejemplo de esto es una computadora que ha sido programada para entablar algún tipo de diálogo con usuarios. Una forma de hacer esto, es con un programa que muestre respuestas predefinidas por el programador dado un texto de entrada específico.
En cambio, un algoritmo de machine learning puede aprender a responder procesando información de conversaciones, y sus respuestas pueden variar conforme «lea» más de estas, como se ejemplifica en la figura 1.3.5.
Por lo tanto, a través del aprendizaje automático se generan programas que funcionan a partir de estructuras matemáticas dinámicas, es decir, que cambian automáticamente a la par que procesan información: estos programas se adaptan y varían su rendimiento con el consumo de datos nuevos.
Nuestra exploración está por terminar, antes solo haremos hincapié en los tipos de machine learning existentes, y otros aspectos adicionales que dejaré a tu elección.
Tipos de machine learning
Ahora que sabemos la definición del aprendizaje automático, es importante conocer cuáles son sus principales tipos.
El machine learning se divide en las siguientes 5 categorías principales:
- Aprendizaje supervisado (supervised learning).
- Aprendizaje no supervisado (not supervised learning).
- Aprendizaje semi-supervisado (semi-supervised learning).
- Aprendizaje por refuerzo (reinforcement learning).
- Aprendizaje auto-supervisado (self-supervised learning).
Estas divisiones están dadas principalmente por la forma en que se entrega al algoritmo los datos a procesar, y cómo los digiere, siendo el aprendizaje supervisado una de las categorías que goza de mayor popularidad en la actualidad.
Exploraremos cada una de estas formas en siguientes lecciones, y si lo deseas puedes echar un vistazo más detallado en el artículo opcional sobre tipos de machine learning.
Con lo que hemos visto hasta aquí, tenemos una introducción bastante sustanciosa a lo que es el machine learning. Debajo tocaré tres breves aspectos más que te darán información adicional sobre sus usos y algoritmos. Si lo deseas, puedes saltar aquí a tu siguiente aventura:
Principales usos del machine learning
De acuerdo a la literatura, podemos enunciar cinco principales tipos de uso para los cuales se invoca el aprendizaje automático, los cuales conoceremos muy a fondo en futuras exploraciones, y que deberás identificar en tu día a día como experto en el área.
Principales usos del machine learning:
- Clasificación: como en nuestro ejemplo de reconocimiento de imágenes de gatos, consiste en categorizar datos. Otro ejemplo de este enfoque sería un algoritmo cuya tarea sea clasificar películas por su género, como terror o fantasía.
- Regresión: trata sobre hacer estimaciones numéricas. Por ejemplo, se pueden generar modelos que respondan a preguntas como: ¿cuál es el precio de un teléfono celular de acuerdo a sus características?, o ¿cuál será el número de visitantes a un centro comercial el día de mañana?
- Agrupación: crear grupos de datos de acuerdo a sus similitudes. Por ejemplo, agrupar animales conforme a sus rasgos genéticos.
- Reducción de dimensionalidad: tiene como objetivo reducir las dimensiones de los datos, ayudándonos a filtrar y mantener aquellos subconjuntos que sean matemáticamente más relevantes.
- Generación (modelos generativos): este caso de uso ha sido ampliamente impulsado en años recientes, y se centra en la creación de nuevos contenidos o respuestas basadas en una amplia gama de entradas. Un ejemplo de esto es ChatGPT o Llama, los cuales pueden a su vez generar soluciones que incluyan las categorías antes mencionadas.
Esto es solo parte de los usos más frecuentes en la actualidad, estas aplicaciones están principalmente destinadas a la investigación científica y la inteligencia de negocios.
Algoritmos de aprendizaje automático más utilizados
Por último, te mostraré una lista con los algoritmos de machine learning más frecuentes en el ámbito de la ciencia de datos, puede que en este momento no te parezcan muy significativos sus nombres, pero con el tiempo no solo los conocerás, sino que también aprenderás a utilizarlos.
Algoritmos de machine learning más utilizados:
- Regresión lineal.
- Regresión logística.
- Red neuronal artificial.
- Máquina de soporte vectorial.
- K-medias.
- Sistemas de recomendación.
- Árbol de decisión.
- Bosques aleatorios.
- Impulso (Boosting).
- Clasificador Bayesiano.
- Análisis de componentes principales.
- Macro Modelos de Lenguaje (LLM).
Entre estos, las redes neuronales artificiales y las LLMs son los que presentan su mayor auge en nuestros tiempos. Todos los algoritmos mencionados y sus características serán objeto de estudio en otras exploraciones, así que no te preocupes si no estás familiarizado con algunos.
Eso es todo por ahora. A partir de aquí, nos adentraremos en una primera sección ya no introductoria en la que aprenderemos sobre los datos, su extracción, manipulación y transformación para el machine learning.
OPCIONAL:
Tipos de machine learning