Un Recorrido Por Los Algoritmos De Machine Learning

Admond Lee
Dec 17, 2020

Un Recorrido Por Los Algoritmos De Machine Learning

Dec 17, 2020 15 minutes read

"La inteligencia artificial es el último invento que la humanidad necesitará crear."
- Nick Bostrom.
Si pudieras mirar atrás hace un par de años al estado de la inteligencia artificial y compararlo con su estado actual, te sorprendería ver lo exponencial que ha crecido con el tiempo.

Se ha ramificado en una variedad de dominios como aprendizaje automático, Sistemas Expertos, procesamiento natural de lenguaje y docenas más.

Puedes leer más artículos de Data Science en español aquí 

Aunque la idea detrás de la inteligencia artificial es construir sistemas más inteligentes que piensen y se ejecuten por sí mismos, todavía necesitan ser entrenados.

Le podría interesar también leer: Cómo Pensar Acerca de Los Datos

Una visión general de los algoritmos de aprendizaje automático (Fuente)

El dominio del aprendizaje automático ha sido creado con el propósito exacto de aportar varios algoritmos, permitiendo un procesamiento de datos y una toma de decisiones más fluida.

¿Qué son los algoritmos de machine learning?

“Los algoritmos de aprendizaje automático son los cerebros detrás de cualquier modelo, permitiendo a las máquinas aprender, haciéndolas más inteligentes.”
La forma en que estos algoritmos funcionan es que se les proporciona un conjunto inicial de datos, y con el tiempo, a medida que los algoritmos desarrollan su precisión, se introducen datos adicionales en la mezcla.

Este proceso de exponer regularmente el algoritmo a nuevos datos y experiencias mejora la eficiencia general de la máquina.

Los algoritmos de aprendizaje automático  son vitales para una variedad de tareas relacionadas con la clasificación, el modelado predictivo y el análisis de datos.

"Un gran avance en el aprendizaje de maquinas valdría diez Microsofts".
- Bill Gates

Tipos de algoritmos de aprendizaje automático

En esta sección nos centraremos en los diversos tipos de algoritmos de aprendizaje automático que existen. Los tres paradigmas principales de los algoritmos de aprendizaje automático son:

Aprendizaje supervisado
Como su nombre indica, los algoritmos supervisados funcionan definiendo un conjunto de datos de entrada y los resultados esperados. Al ejecutar la función de manera iterativa sobre los datos de entrenamiento e involucrar al usuario en la introducción de los parámetros de control, el modelo se mejora. Se considera que el algoritmo es exitoso cuando se comprueba que sus mapeos y predicciones son correctos.

Aprendizaje supervisado (fuente)

Aprendizaje no supervisado
Mientras que los algoritmos supervisados usan datos etiquetados por el usuario para las predicciones de salida, este entrena la máquina explícitamente con datos no etiquetados con poca o ninguna participación del usuario.
Los algoritmos son dejados con con los datos para clasificarlos y agruparlos a fin de identificar algún patrón oculto o no descubierto y a menudo se utilizan como paso preliminar para el aprendizaje supervisado.

Puedes leer más artículos de Data Science en español aquí 

Aprendizaje no supervisado (fuente)

Aprendizaje reforzado
Los algoritmos de aprendizaje reforzado tienen como objetivo encontrar un equilibrio perfecto entre la exploración y la explotación sin necesidad de datos etiquetados o de la intervención del usuario.

Estos algoritmos funcionan eligiendo una acción y observando las consecuencias, en base a ello, aprende cuán óptimo es el resultado. Este proceso se repite una y otra vez hasta que el algoritmo evoluciona y elige la estrategia correcta.

Lea También: Entendiendo La Validación Cruzada.

Principales algoritmos de aprendizaje automático

Después de familiarizarse con los diversos tipos de algoritmos de aprendizaje automático, sigue leyendo algunos de los más populares.

1. Regresión lineal (Linear regression)
La Regresión Lineal es un algoritmo ML supervisado que ayuda a encontrar un ajuste lineal aproximado adecuado a una colección de puntos.

En su esencia, la regresión lineal es un enfoque lineal para identificar la relación entre dos variables, siendo uno de estos valores un valor dependiente y el otro independiente.

La idea detrás de esto es comprender cómo un cambio en una variable impacta en la otra, dando como resultado una relación que puede ser positiva o negativa.


La Regresión Lineal se representa como una línea en forma de y = a + bx (fuente)

Esta línea se conoce como la línea de regresión y está representada por una ecuación lineal Y= a *X + b.

En esta ecuación:
  • Y - Variable dependiente
  • a - Pendiente
  • X - Variable independiente
  • b - Intercepto

Este algoritmo se aplica en los casos en que la salida prevista es continua y tiene una pendiente constante, como:

  • Estimar las ventas
  • Evaluación del riesgo
  • Análisis de datos meteorológicos
  • Análisis predictivo
  • Análisis de los resultados de la encuesta a los clientes
  • Optimizar los precios de los productos

Enlaces útiles:
2. Regresión logística (Logistic Regression)
El algoritmo de Regresión Logística se utiliza a menudo en los problemas de clasificación binaria en los que los acontecimientos en estos casos suelen dar lugar a cualquiera de los dos valores, pasar o fallar, verdadero o falso.

Es más adecuado para situaciones en las que es necesario predecir las probabilidades de que la variable dependiente caiga en una de las dos categorías de la respuesta.

Algunos casos de uso común para este algoritmo serían identificar si la escritura dada coincide con una persona en cuestión, si los precios del petróleo subirán en los próximos meses.

Puedes leer más artículos de Data Science en español aquí 

Algoritmo de Regresión Logística (fuente)

En general, las regresiones pueden ser usadas en aplicaciones del mundo real como:
  • Puntuación de crédito
  • Detección de cáncer
  • Procesamiento de imágenes geográficas
  • Reconocimiento de la escritura
  • Segmentación y categorización de imágenes
  • Medición de las tasas de éxito de las campañas de marketing
  • Predicción de los ingresos de un determinado producto
  • ¿Va a haber un terremoto en un día en particular?
Enlaces útiles:

3. Árboles de decisión (Decision trees)
El algoritmo del Árbol de Decisión cae bajo la categoría de algoritmo de aprendizaje automático supervisado y se utiliza para resolver problemas de regresión y clasificación. El propósito es utilizar un árbol de decisión para pasar de las observaciones a los resultados del procesamiento en cada nivel.

El procesamiento de los árboles de decisión es un enfoque descendente en el que se selecciona como raíz el atributo más adecuado para el entrenamiento y se repite el proceso para cada rama. Los árboles de decisión se utilizan comúnmente para:
  • Crear plataformas de gestión de los conocimientos
  • Seleccionar un vuelo para viajar
  • Predecir las fechas de alta ocupación de los hoteles
  • Sugerir a un cliente qué carro comprar
  • Pronosticar predicciones e identificar posibilidades en diversos ámbitos


Algoritmo del Árbol de Decisión (fuente)

Enlaces útiles:

4. Algoritmo de aprendizaje automático A Priori 
Es el algoritmo detrás del popular sistema de recomendación llamado "También te puede gustar" en varias plataformas en línea.

Funciona buscando conjuntos comunes de elementos en los conjuntos de datos y más tarde construye asociaciones entre ellos.

Se utiliza generalmente para la extracción de conjuntos de elementos y el aprendizaje de reglas de asociación a partir de bases de datos relacionales.

La idea de este algoritmo es seguir extendiendo los elementos relacionados a un conjunto tan grande como sea posible para crear una asociación más útil.

Las aplicaciones de este algoritmo incluyen destacar las tendencias de compra en el mercado.

Adicionalmente, es fácil de implementar y puede ser utilizado con grandes conjuntos de datos.

5. Bayes ingenuo (Naive Bayes)
Los clasificadores bayesianos ingenuos se clasifican como un algoritmo de aprendizaje automático supervisado altamente eficaz y son uno de los modelos de red bayesiana más sencillos.

Funciona aplicando el teorema de Bayes a los datos con una suposición ingenua de independencia condicional entre cada par de características, dado el valor de la variable de clase.

Bayes ingenuo (fuente)

En términos más sencillos, ayuda a encontrar la probabilidad de que ocurra un evento A, dado que ha ocurrido el evento B. Bayes ingenuo  es mejor para:
  • Filtrar los mensajes de spam
  • Sistemas de recomendación como Netflix
  • Clasificar un artículo de noticias sobre tecnología, política o deportes
  • El análisis de los sentimientos en social media
  • Software de reconocimiento facial

Le podr'a interesar también:  Tendencias en Ciencia de Datos para 2020

6. Redes neuronales artificiales (Artificial neural network)
Modelada a partir del cerebro humano, la Red Neuronal Artificial actúa como un enorme laberinto de neuronas o simplemente, nodos que mueven información hacia y desde otro.

Estos nodos interconectados pasan datos instantáneamente a otros nodos a través de los bordes para un rápido procesamiento, facilitando un aprendizaje más fluido.

Las redes neuronales artificiales aprenden con ejemplos, en lugar de ser programadas con un conjunto específico de reglas. Capaces de modelar procesos no lineales, pueden ser implementados en áreas como:
  • Reconocimiento de patrones
  • Ciberseguridad
  • La minería de datos
  • Detección de variedades de cáncer en los pacientes

Redes Neuronales Artificiales (fuente)

7. Agrupación K-Medias (K-means clustering)
Agrupación K-Medias  es un algoritmo de aprendizaje iterativo no supervisado que divide n observaciones en k clusters donde cada observación pertenece a la media de cluster más cercana.
Pasos del algoritmo K-means (fuente)

En términos sencillos, este algoritmo agrega una colección de puntos de datos basados en su similitud. Sus aplicaciones van desde la agrupación de resultados de búsqueda similares y relevantes en la web, en lenguajes de programación y bibliotecas como Python, SciPy, Scikit Learn, y la minería de datos.

Algunas aplicaciones en el mundo real de la agrupación de K-medias:
  • Identificar noticias falsas
  • Detección y filtrado de spam
  • Clasificar libros o películas por género
  • Creación de Rutas de transporte populares mientras se planifica una ciudad
Enlaces útiles:

8. Máquinas de vectores de soporte (Support vector machines)
Las máquinas de vectores de soporte se clasifican como algoritmos de aprendizaje automático supervisado y se utilizan principalmente para la clasificación y análisis de regresión.

El algoritmo funciona construyendo modelos que asignan nuevas muestras y datos a una categoría, donde estas categorías se distinguen fácilmente entre sí por una brecha.

El SVM es muy eficaz en los casos en que el número de dimensiones supera el número de muestras y es extremadamente eficiente en cuanto a la memoria.
Algoritmo de las Máquinas Vectoriales de Apoyo altamente efectivo (fuente)

Las aplicaciones de SVM se pueden encontrar en: 
  • Detección facial
  • Clasificación de imágenes
  • Categorización de texto e hipertexto
  • Reconocimiento de escritura
  • Descubrimiento de drogas para la terapia
  • Bioinformática: clasificación de proteínas, genes, biología o cáncer.
Enlaces útiles:

9. K Vecinos más cercanos (K-nearest neighbors)
K- vecinos más cercanos es un algoritmo de aprendizaje automático supervisado que se utiliza tanto para la regresión como para problemas de clasificación.

Normalmente implementado para el reconocimiento de patrones, este algoritmo primero almacena e identifica la distancia entre todas las entradas de los datos utilizando una función de distancia, selecciona las entradas k especificadas más cercanas a la consulta y arroja:

  • La etiqueta más frecuente (para la clasificación)
  • El valor medio de los k vecinos más cercanos (para la regresión)
Vecinos más cercanos (fuente)

Las aplicaciones en la vida real de este algoritmo incluyen:
  • Detección de huellas dactilares
  • La calificación crediticia
  • Pronóstico del mercado de valores
  • Analizar el lavado de dinero
  • Quiebras bancarias
  • Tasas de cambio de moneda

10. Algoritmos de reducción de la dimensionalidad (Dimensionality Reduction Algorithms)
Los algoritmos de reducción de la dimensionalidad funcionan reduciendo las dimensiones de espacio o el número de variables aleatorias en un conjunto de datos mediante el uso de uno de dos enfoques primarios, la selección de características o la extracción de características.

Estos se aplican a menudo para preprocesar los conjuntos de datos y para eliminar características redundantes, facilitando a los algoritmos el entrenamiento del modelo.

Puedes leer más artículos de Data Science en español aquí 

Estos algoritmos también vienen con algunos beneficios ingeniosos, tales como:
  • Bajos requerimientos de almacenamiento
  • Menor requerimiento de poder de cómputo
  • Aumento de la precisión
  • Reducción del ruido
Algunos algoritmos de reducción de la dimensionalidad muy conocidos son:
  • Análisis de componentes principales
  • Análisis discriminante lineal
  • Embebido localmente lineal
  • Escalamiento multidimensional
11. Análisis de los componentes principales (Principal component analysis)
El Análisis de Componentes Principales es uno de los algoritmos no supervisados para aprendizaje automático y se utiliza principalmente para reducir las dimensiones de su espacio de características mediante el uso de la Eliminación de Características o la Extracción de Características.

También se utiliza como herramienta para el análisis de datos exploratorios y la construcción de modelos predictivos. Cuando se requieran datos normalizados, PCA puede ayudar en:

  • Procesamiento de imágenes
  • Sistema de recomendación de películas
  • Cálculo de la matriz de covarianza de datos
  • Realizar la descomposición de los valores propios en la matriz de covarianza
  • Optimizar la asignación de energía en múltiples canales de comunicación
Análisis del componente principal (fuente)

El análisis de componentes principales busca reducir las redundancias de los conjuntos de datos, haciéndolo más simple sin comprometer la precisión. Se utiliza comúnmente en los sectores de procesamiento de imágenes y gestión de riesgos.

Enlaces útiles:

12. Bosques aleatorios (Random Forest)
Los bosques aleatorios utilizan una variedad de algoritmos para resolver la clasificación, la regresión y problemas similares mediante la implementación de árboles de decisión.

Su funcionamiento consiste en crear montones de árboles de decisión con conjuntos de datos aleatorios, y se entrena un modelo repetidamente en él para obtener resultados casi precisos.

Al final, todos los resultados de estos árboles de decisión se combinan para identificar el resultado más adecuado que aparece más comúnmente en la salida.

Bosques al azar (fuente)

Las aplicaciones de Random Forests se pueden encontrar en:
  • Detección del fraude en cuentas bancarias, tarjetas de crédito
  • Detectar y predecir la sensibilidad a las drogas de un medicamento
  • Identificar la enfermedad de un paciente analizando su historial médico
  • Predecir la pérdida o ganancia estimada al comprar una acción en particular

13. Potenciación del gradiente y AdaBoost (Gradient boost y AdaBoost)
El "Boosting" es una técnica para ensamblar algoritmos aprendizaje automático que convierte aprendices débiles en aprendices fuertes. Los algoritmos de potenciación son necesarios cuando los datos son abundantes, y buscamos reducir el sesgo y la varianza en el aprendizaje supervisado. A continuación se presentan dos de los algoritmos de refuerzo más populares.

Potenciación del gradiente (Gradient Boosting)
El algoritmo de potenciación del gradiente se utiliza para los problemas de clasificación y regresión mediante la construcción de un modelo de predicción típicamente de forma iterativa como los árboles de decisión. Mejora a los aprendices débiles entrenandolos en los errores de los aprendices fuertes, lo que da como resultado un alumno preciso en general.

Potenciación adaptativa (Adaptative boosting)
AdaBoost, Abreviatura de Adaptive Boosting, mejora el modelo cuando los aprendices débiles fallan. Lo hace modificando los pesos asignados a las instancias de la muestra para centrarse más en las difíciles, más tarde, el resultado de los aprendices débiles se combina para formar una suma ponderada, y se considera el resultado final potenciado.

Puedes leer más artículos de Data Science en español aquí 

Conclusión
Los algoritmos de ML son vitales para los científicos de datos debido a sus crecientes aplicaciones en el mundo real. Con la variedad de algoritmos mencionados anteriormente, puedes encontrar el algoritmo que mejor resuelva tu problema. Estos algoritmos, aunque son una mezcla de supervisados y no supervisados, pueden manejar una variedad de tareas y son capaces de trabajar en sincronía con otros.

Recursos adicionales
¡Espero que este artículo le haya sido útil! A continuación hay recursos adicionales si está interesado en aprender más:
Join our private community in Discord

Keep up to date by participating in our global community of data scientists and AI enthusiasts. We discuss the latest developments in data science competitions, new techniques for solving complex challenges, AI and machine learning models, and much more!