Dentro del mundo del machine learning uno de los aspectos fundamentales es determinar el algoritmo que mejor se adecua y mejores resultados nos aporta al problema que queremos tratar.
Para ser capaces de determinar esto, en primer lugar, es necesario tener una serie de conceptos claros, como por ejemplo que tipos de aprendizajes nos podemos encontrar y cuáles son los diferentes algoritmos que existen dentro de cada tipo de aprendizaje.
Antes de entrar en cada tipo de aprendizaje es importante conocer un poco acerca del machine learning.
El machine learning es una rama de la inteligencia artificial que empezó a cobrar importancia en la década de los 80. No sigue unas reglas ni depende de un programador, sino que el propio algoritmo establece sus propias reglas para así aprender por si mismo.
Es decir, un algoritmo no es más que la consecución de un objetivo a partir de una serie de pasos ordenados.
Dentro del machine learning nos podemos encontrar con diferentes problemáticas, estas pueden ser:
- Problemas de clasificación: Trata de marcar cada registro de nuestra información como true o false, 1 o 0, etc. Es decir, la respuesta será una variable binaria que nos indicará si ocurrirá un acontecimiento o no.
- Problemas de regresión: El objetivo en este caso se refiere a predecir el precio de un determinado producto, predecir el volumen de ventas de la compañía, es decir, determinar un valor continuo.
- Problemas de clustering: Agrupa un conjunto de usuarios en función a distintas variables, es decir, el objetivo es determinar grupos homogéneos entre sí pero heterogéneos entre ellos.
Con todo esto, los tipos de aprendizaje que nos podemos encontrar son:
-
Aprendizaje supervisado
En este tipo de aprendizaje el algoritmo entrena con un histórico de datos ‘etiquetados’, por lo que ya se sabe el resultado final de cada registro, de esta forma se consigue que el algoritmo encuentre una función que sea capaz de asignar la etiqueta adecuada a un nuevo valor dado, es decir, realizar la predicción.
Este tipo de aprendizaje se suele utilizar para problemas de clasificación y problemas de regresión.
Los algoritmos más utilizados son:
- Árboles de decisión
- Clasificación de Naïve Bayes
- Regresión lineal
- Regresión logística
- Support Vector Machines (SVM)
- Métodos de ensamble
-
Aprendizaje no supervisado
A diferencia de lo que ocurre en el aprendizaje supervisado en este caso no nos encontramos con datos ‘etiquetados’ para el entrenamiento, por lo tanto, solo podemos describir la estructura de los datos tratando de encontrar algún agrupamiento que simplifique el análisis, es decir, tiene un carácter mas exploratorio.
Este tipo de aprendizajes se suelen usar para problemas de clustering, agrupamiento de clientes, perfilado de clientes, etc.
Los tipos de algoritmos más utilizados son:
- Algoritmos de clustering
- Análisis de componentes principales
-
Aprendizaje semi supervisados
Es una mezcla del aprendizaje supervisado y no supervisado, en el desarrollo del modelo nos encontramos con una pequeña cantidad de registros que si están ‘etiquetados’ junto con una gran cantidad de datos no etiquetados.
Se ha descubierto que al realizar este tipo de aprendizaje se puede mejorar de manera significativa la exactitud del aprendizaje.
-
Aprendizaje por refuerzo
Pretende es conseguir que la maquina aprenda mediante su propia experiencia, es decir, que ante una situación determinada sea capaz de decidir por si misma cual es la mejor acción a realizar mediante un proceso de prueba y error reforzando positivamente cada vez que se aproxima y logra el objetivo.
Actualmente grandes empresas como Google o Apple están invirtiendo grandes cantidades de dinero en aumentar la investigación de este tipo de aprendizaje.