Los mejores algoritmos de Aprendizaje Automático

Los mejores algoritmos de Aprendizaje Automático

En este post hablaremos sobre los algoritmos más utilizados en el aprendizaje automático y también considerados como los mejores para aplicar en inteligencia artificial. Antes debemos de destacar que los algoritmos son conjuntos de reglas o de instrucciones, que permiten realizar algún tipo de cálculo o realizar determinadas tareas. Actualmente la inteligencia artificial, solo es el resultado de algoritmos y datos bien aplicados, no se trata de nada mágico. Esta es la razón por la que los matemáticos son tan bien valorados en este sector.

Algoritmos de Máquinas de Vectores de Soporte (SVM).

Se trata de un conjunto de algoritmos que se utilizan para el aprendizaje supervisado. La mayoría de veces se aplican a tareas de clasificación y regresión. Por ejemplo, este algoritmo se puede utilizar para clasificar textos y otros problemas relacionados con el análisis de datos. La técnica de SVM es una de las más potentes y aplicadas en la actualidad. Esta técnica analiza datos introducidos y reconoce patrones, de forma que la máquina/software aprende a partir de esos datos.

Máquinas de Vector de soporte (SVM) machine learning
Máquinas de Vectores de Soporte (SVM)

Ejemplos de aplicación: mejorar técnicas de predicciones; trading automatizado en el mercado de valores clasificar diferentes datos; análisis de fraude; clasificar páginas web por temas, contenidos de texto etc… Este algoritmo requiere hiperparametros que se modifican previamente. ¿Qué son los hiperaparametros? Son configuraciones que se le hacen al algoritmo, sin modificar los datos con los que va a trabajar. Por ejemplo, el número de redes neuronales, cuantas veces realizará un cálculo, tasas de aprendizaje, activaciones funcionales, número de capas etc… La configuración previa de los hiperparametros, es decisiva en el resultado final.

K-Medias o K-Means (Método de agrupamiento)

Este algoritmo se está utilizando bastante en análisis de datos y minería de datos, este algoritmo es bastante viejo (1967) Sin embargo se sigue aplicando, ya que ahora se manejan mayores cantidades de datos. ¿Para qué sirve el algoritmo K-Medias? Sirve para agrupar datos. A este algoritmo también se le llama K-Means.

Algoritmo K-means
Algoritmo K-MEANS

Ejemplos del Algoritmo K-medias aplicado (Casos de uso)

  • Clasificar imágenes y documentos: bien aplicado es capaz de clasificar imágenes/documentos a partir de determinadas características en común. Algunas veces para clasificar datos, antes se les ponen etiquetas. Este algoritmo puede trabajar con etiquetas y sin ellas.
  • Segmentación de clientes: este algoritmo también se utiliza para diferenciar grupos de clientes y clasificarlos, para después ofrecerles determinados productos o servicios. Por ejemplo: software utilizado en la base de datos de miles de clientes de El Corte Inglés, que determine que ofertas anunciarles por navidad.
  • Comprensión de imágenes: con el algoritmo de K-Medias, también se pueden comprimir imágenes, reduciendo el número de colores de la imagen, gracias a la técnica de cuantificación. Por ejemplo, hacer que una videollamada consuma menos datos o reducir el tamaño de una base de datos de imágenes, sin perder tanta calidad que con otro tipo de comprensiones.
  • Estudio de crímenes y criminales: este algoritmo también se está utilizando para descubrir crímenes, su relación entre ellos, zonas geográficas y estudios relacionados con la criminología en ciertas zonas. Por lo que podemos concluir que la Inteligencia Artificial, ayuda a salvar vidas.
  • Optimización de mensajería y envíos a domicilio: Para mejorar las rutas y formas de transporte.

Regresión Lineal y Regresión Logística.

El algoritmo de regresión lineal se utiliza para realizar predicciones, basadas en datos anteriores. Por ejemplo, calcular el precio de una vivienda que no ha sido tasada, en base a la base de datos de un portal inmobiliario o datos que han sido scrapeados. El típico ejemplo que ponen para explicar este algoritmo, es decir la probabilidad que tenía cierta persona de sobrevivir en el Titanic, en relación a su edad y sexo.

regresión lineal con python
Regresión lineal con Python

¿Qué diferencias hay entre regresión lineal y regresión logística?

La regresión lineal se utiliza para predecir datos en relación a resultados numéricos y las regresiones logísticas en base a afirmativo/negativo, con la posibilidad de poner porcentaje de acierto.

Ejemplos de casos de uso de Regresión Lineal:

  • Predicciones en economía y finanzas: este algoritmo puede servir para realizar predicciones en bolsa, en base a datos de años anteriores y comportamientos de determinados activos. También para aseguradoras, diferenciar tipos de clientes, en empresas bancarias para detectar fraude etc…
  • Procesos industriales: en un proceso industrial podría utilizarse para saber por ejemplo, cuantas piezas fabricarían 20 empleados, en base a los datos de una fábrica con otro número de empleados y con características similares. También podría utilizarse para predecir el gasto en electricidad, en base a otros datos que no sean solo el número de horas que están las máquinas encendidas, como por ejemplo el nivel de uso, los precios de las materias primas etc…
  • Previsiones climatológicas: saber la probabilidad de que vaya a llover en base a datos climatológicos de otras épocas, saber la probabilidad de que aparezca un huracán y otros fenómenos sobrenaturales. Ejemplo de App, que te diga que ropa es mejor ponerte en otoño, en base al clima de ese día.

Clasificador Bayesiano ingenuo.

En base a unas determinadas caraceterísticas, el algoritmo calcula la probabilidad de que un cierto dato/objeto, sea reconocido. Por ejemplo: en base al tamaño de un animal, colores y diámetro, determinar la probabilidad de que se trate de un pájaro.

Se trata de un clasificador realizado en base al Teorema de Bayes y otros datos adicionales. Esta técnica es utilizada para el análisis de datos, minería de datos, inteligencia artificial y programas estadísticos. Se utilizan datos de entrenamiento para trabajar con este algoritmo, sin embargo, entre las principales ventajas de este algoritmo, está la ventaja de que no requiere de tantos datos de entrenamiento, en comparación con otras técnicas.

clasificador bayesiano ingenuo
Clasificador bayeasiano ingenuo

Ejemplos de casos de uso del Clasificador Bayesiano ingenuo.

  • Clasificar correos spam: determinar si un correo electrónico es “correo basura” en base a caracteríticas y entrenamiento, con el Clasificador Bayesiano.
  • Sistemas de recomendaciones: sistemas de recomendaciones de por ejemplo series de tv o catálogo de productos, en base a datos entrenados con perfiles de los usuarios y preferencias.
  • Reconocimiento de objetos: que una de las partes de un programa de computer vision, también utilice este algoritmo.
  • Análisis de sentimientos: reconocer los sentimientos de un texto, en base a la clasificación con el Clasificador Bayesiano ingenuo, basándose en el tipo de palabras y número de palabras que se utilicen por ejemplo en un comentario de texto, en una canción, en mensajes de móviles etc…

K-vecinos más próximos.

El algoritmo K-vecinos más próximos es un algoritmo para la clasificación, que a partir de varios puntos marcados, aprende a clasificar otros puntos. Generalmente se utiliza para clasificar en base a la similitud entre diferentes datos. Los puntos que están cercanos entre ellos, se consideran vecinos, de forma que cuanto más cercanos más similitud. En el caso de que dos puntos estén a una distancia mayor, la diferencia de ellos demuestran disimilitud.

Algoritmo k-vecinos más próximos
K-vecinos más próximos

Entre las formas de calcular la similitud, también podemos tener en cuenta el tipo de disimilitud y no solo la distancia cercana. La distancia Euclidiana es una de las formas de comprobar la similitud entre varios puntos, también se puede utilizar el cálculo de la distancia de Minkowski para calcular la distancia entre datos.

Ejemplos de casos de uso de K-vecinos más próximos.

k-vecinos más próximos
Ejemplo de reconocimiento de imágenes con K-Vecinos más próximos.
  • Segmentación de clientes: en base a datos de clientes, se puede crear un software que los clasifique en diferentes grupos, por ejemplo, potenciales compradores en las fechas de navidad y potenciales compradores e reservas de viajes en verano.
  • Clasificación de imágenes y reconocimiento de objetos: es utilizado a la hora de reconocer objetos y formas, por ejemplo, saber si un trozo de oreja es de un gato o de un perro; saber si partes de flores, pertenecen a rosas o margaritas. Como ejemplo podría basarse en el tamaño de los pétalos y el color de los pétalos, para clasificar diferentes tipos de flores.
  • Predicción de precios: este algoritmo también se está utilizando para realizar predicciones de precios acciones en la bolsa de valores, predicciones de precios de productos y predicciones de precios de materias primas.

Vector de cuantificación vectorial (LVQ)

Algoritmo de aprendizaje supervisado, con el que se crean redes neuronales artificiales. Se trata de una forma clásica de algoritmo para clasificación por reconocimiento de patrones. Este algoritmo funciona a partir de crear un diccionario de prototipos. Esta técnica permite reducir el tamaño de los datos y se realiza un entrenamiento por capas de forma supervisada. Existen diferentes variantes de este algoritmo. Entender y aplicar este algoritmo, no es tan sencillo como la mayoría de los algoritmos anteriores.

algoritmo vector de cuantificacion vectorial
Algoritmo vector de cuantificación vectorial

Ejemplos de casos de uso del algoritmo de vector de cuantificación vectorial.

  • Clasificación por patrones: para clasificar información gracias al aprendizaje supervisado.
  • Comprensión de datos: para realizar software para comprimir datos, de por ejemplo imágenes en tiempo real.
  • Computer vision/reconocimiento de objetos: como por ejemplo máquinas industriales que reconozcan la formas de vehículos y tomar decisiones en torno a esas formas.

¿Qué es la librería de Scikit Learn?

Esta librería es la más utilizada en la actualidad para aprendizaje automático y en software con Python. La mayoría de algoritmos anteriores, se aplican con esta librería o son compatibles en algunas variaciones, con esta librería. Entre los algoritmos más populares que toca esta librería, tenemos los siguientes: máquinas de vectores de soporte, bosques aleatorios, K-Vecinos más próximos, DBSCAN, regresiones, análisis en grupos y más algoritmos de clasificación. El instituto de investigación de INRIA está involucrado en esta librería, de forma que fueron los primeros en sacar la primera versión del paquete de forma pública en el año 2010.

Esta librería se lanzó en el año 2010 y actualmente es la más importante para la mayoría de software que aplican la inteligencia artificial. Algunas partes de esta librería están basadas en C, para aumentar el rendimiento. Otra librería muy popular en la inteligencia artificial es la de TensorFlow, desarrollada por Google.

¿Qué empresas conocidas ya trabajan con los algoritmos anteriores?

Empresas conocidas como Salesforce, dedicadas a sistemas ERP (Sistemas de planificación de recursos empresariales) y CRM, ya aplican algoritmos de aprendizaje automático, para aumentar las ventas de sus clientes y de momento están teniendo resultados muy grandes, con millones de euros de diferencia. También empresas como Netflix, utilizan estos algoritmos para recomendar series a diferentes tipos de audiencia o para poner los subtítulos. El Banco de JPMorgan Chase, está aplicando programas y algoritmos de aprendizaje automático para conseguir más clientes y para realizar mejores inversiones.

En realidad la mayoría de las grandes empresas ya llevan años utilizando algunos de los algoritmos de los que hemos hablado anteriormente y cada vez será más común, que cualquier empresa tenga que utilizar inteligencia artificial, hasta la panadería del barrio o cualquier pequeño negocio. De hecho, a la hora de comprar publicidad online, ya están aplicando algunos de estos algoritmos sin darse cuenta, ya que Facebook Ads y Google Ads, clasifican a sus audiencias con algoritmos de clasificación y aumentan la efectividad de sus anuncios con sistemas de recomendaciones basados en aprendizaje automático.

¿Es necesario saber matemáticas para aplicar los algoritmos anteriores?

Las librerías se encargan de hacer la mayor parte de los cálculos matemáticos, por lo que no es especialmente necesario tener altos conocimientos de matemáticas para aplicar los algoritmos mencionados en este artículo. Sin embargo, es recomendable al menos leerlos detalladamente, buscar más información sobre ellos e intentar comprenderlos. Es decir, se debe comprender el funcionamiento de ellos, pero tampoco es realmente obligatorio, conocer técnicamente cada número que se calcula. Como es lógico, cuanto más se sepa mejor, no obstante, siendo realistas, algunos desarrolladores/analistas no tienen el tiempo necesario para estudiar desde 0 un grado en matemáticas.


Para aprender a utilizar los algoritmos anteriores, es recomendable empezar con cosas básicas como la regresión lineal y la técnica de entrenamiento basada en SVM. En youtube hay varios vídeos que enseñan a hacer pequeños programas basados en estos algoritmos de machine learning y tampoco se tarda tanto en aprenderlos y aplicarlos. Algunas personas se piensan que la inteligencia artificial es algo super complicado o incluso les parece “magia”, pero resulta más sencillo de lo que parece. Otra cosa sería, que no existieran las librerías y hubiera que hacer todo desde cero.

boton entrar

Deja un comentario