Algoritmos de machine learning
En el mundo de la inteligencia artificial, más concretamente el aprendizaje automático o más conocido como machine learning, existen una gran cantidad de métodos y algoritmos estadísticos.
Conocer todos ellos y saber cuando y cómo usarlos es el trabajo de los ingenieros de machine learning o los científicos de datos.
Este artículo da una introducción a distintos tipos de algoritmos de machine learning explicando resumidamente en que consiste cada uno.
¡Quédate y descúbrelo!
Bias en estadística y machine learning
El bias es uno de los errores en machine learning más comunes y que más influyen a las malas predicciones de los modelos. Aprende qué es y cómo solucionarlo.
Ver artículoLos 4 tipos de aprendizaje automático
Dentro del machine learning encontramos 4 tipos de modelos principales según la forma de entrenar el sistema.
Aprendizaje supervisado
En el aprendizaje supervisado el sistema se entrena usando datos etiquetado. Por ejemplo, si estamos entrenando un sistema de clasificación de imágenes tendremos que etiquetar cada una diciendo que tipo de imagen es.
El modelo aprende a predecir un dato de salida a partir de distintas características de entrada también conocidas como features . En este tipo de aprendizaje podemos distinguir entre clasificadores y regresores.
Aprendizaje no supervisado
El objetivo del aprendizaje no supervisado es descubrir estructures y patrones escondidos dentro de un conjunto de datos. A diferencia del aprendizaje supervisado, estos métodos no se aplican en problemas de regresión o clasificación ya que no se tienen datos de los resultados de salida o outputs.
Algunos de estos algoritmos son los de agrupación o más conocidos como clusterización. Un ejemplo es el K-means clustering o agrupación k-medias.
Otros posts que te gustarán
Aprendizaje semi-supervisado
Los algoritmos semisupervisados hacen uso de la combinación de aprendizaje no supervisado y supervisado para mejorar el poder de predicción.
En distintos problemas se ha comprobado que, si usamos un gran conjunto de datos no etiquetados junto con una pequeña cantidad de datos etiquetados, los resultados mejoran considerablemente.
Aprendizaje por refuerzo
El aprendizaje reforzado o más conocido en inglés como reinforcement learning es un sistema de aprendizaje donde un agente aprende en un entorno simulado a través de prueba y error aplicando un sistema de recompensas.
Cuando el agente hace una acción correcta se le da una recompensa. En cambio, cuando esta hace una incorrecta se le penaliza.
El objetivo del reinforcement learning es maximizar la función de recompensa para que el sistema aprenda a ejecutar acciones que le darán un mayor número de recompensas.
Algoritmos de machine learning más utilizados
Seguidamente te mostramos los tipos de aprendizaje automático más empleados dentro del sector de la inteligencia artificial.
1. Algoritmos de clasificación
Los algoritmos de clasificación tienen como objetivo clasificar una instancia en una clase concreta. Por ejemplo, en transacciones bancarias, existen sistemas antifraude cuya función es clasificar una transacción en fraudulenta o segura.
Como vemos, la clasificación son datos discretos y puede ser binaria o multiclase. Un ejemplo de clasificación multiclase sería un modelo capaz de clasificar imágenes de frutas en su etiqueta correspondiente: plátanos, kiwis, manzanas, peras o melocotones.
2. Algoritmos de regresión
La regresión tiene como objetivo mapear una función continua, con resultados de salida continuos. Un ejemplo seria un modelo de machine learning que quisiera predecir la temperatura exacta que hará la semana que viene a partir de los datos de la semana presente.
Los resultados de salida de este modelo podrían ser tanto números exactos como decimales. Por tanto, este algoritmo sería de regresión.
3. Algoritmos de Deep learning
Los algoritmos de deep learning son un tipo especial de machine learning que emplean arquitecturas de redes neuronales profundas. Estas redes neuronales están formadas por neuronas, conexiones entre ellas y distintas capas.
Este tipo de algoritmos son los que se usan para los problemas más complejos de inteligencia artificial como la conducción autónoma o la generación de texto.
4. Algoritmos de clustering
Los algoritmos de agrupación son métodos no supervisados cuyo objetivo es agrupar los datos en varios grupos según sus características. Por ejemplo, podríamos generar clusters a partir de las características de un grupo de flores.
Las más parecidas, que pertenezcan a la misma especie o especies muy similares se encontraran dentro del mismo grupo.
Estos algoritmos utilizan distintas métricas matemáticas de distancia para inferir lo lejos o cerca que se encuentra cada uno de los puntos.
5. Algoritmos de basados en árboles de decisión
Es un tipo de algoritmo supervisado que utiliza decisiones o reglas para dividir el especio de predictores agrupando las instancias con valores de características parecidos.
En este algoritmo, los valores o umbrales que determinan si una instancia pertenece a un grupo u otro son optimizados. Este tipo de métodos pueden usarse tanto para problemas de clasificación como regresión.
6. Algoritmos de lazy learning
Los algoritmos de aprendizaje vago o lazy learning son los que no tienen una fase de entrenamiento. La inferencia de los datos de test se hace directamente sobre el conjunto de datos de entrenamiento.
El ejemplo más popular de algoritmos basados en el lazy learning es el K-nearest neighbors o k-vecinos más próximos.
Qué tipo de algoritmo utilizar
Existe múltiples algoritmos dentro del campo de la inteligencia artificial. Para saber cual usar es importante entender las ventajas y desventajas de cada uno, además de entender a la perfección el problema a resolver.
No obstante, algunas veces tendremos que probar distintos modelos para ver cual funciona mejor con nuestro conjunto de datos.
Otro factor que nos ayudará a decidirnos por un método u otro es la experiencia que tengamos dentro del mundo del machine learning. Con los años, creando múltiples modelos para distintos objetivos adquiriremos la experiencia necesaria para saber a priori cual puede ser el algoritmo más apropiado.