Cabecera personalizada

El blog de Mikel Niño
Emprendimiento digital, startups, Big Data Analytics y nuevos modelos de negocio

Conceptos básicos de “Machine Learning” (Aprendizaje Automático): algoritmos vs modelos

Hace ya bastantes meses de la entrada en la que presentaba unos conceptos básicos sobre Machine Learning, uno de los pilares tecnológicos en los que se apoya la analítica predictiva y gran parte de la popularidad que ha ido ganando con los años el Big Data. Partiendo de esas primeras nociones básicas, en esta entrada quiero detallar la diferencia entre dos conceptos clave que he visto que generalmente provocan confusión entre quienes se acercan por vez primera a estas herramientas. Me refiero a diferenciar entre lo que son los algoritmos que generan modelos predictivos y lo que son los propios modelos en sí.

Usaré como hilo conductor el mismo ejemplo que citaba en la anterior entrada. Partimos por tanto de un escenario de uso en el que registramos datos sobre un fenómeno o elemento concreto (el estado económico financiero de una serie de empresas) que nos interesa analizar y sobre los que hacer predicciones (sobre si en dos años la empresa habrá entrado en quiebra). En estos datos tendremos una serie de casos pasados ya conocidos (empresas sobre las que se registró su estado económico-financiero), caracterizados por los valores que les corresponden para las variables identificadas como relevantes (los ratios económico-financieros que se han entendido como más significativos) y la categoría en la que hemos clasificado dicho caso (una variable resultado que registra si esa empresa entró efectivamente en quiebra o no a los dos años).

Nuestro objetivo es procesar estos datos para obtener una “fórmula” que podamos aplicar a un nuevo caso del que conocemos sus variables de entrada (los ratios que caracterizan el estado de la empresa en un momento dado), para predecir con una cierta certeza el valor de la variable resultado (¿entrará o no en quiebra en dos años?). Esa “fórmula” es el modelo predictivo que extraemos de los datos, que puede adoptar diversas formas. Por poner un par de ejemplos, este modelo puede estar expresado como una fórmula polinómica de determinado grado sobre los valores de las variables de entrada, o como un árbol de decisión en el que se va preguntando en un determinado orden por los valores de las variables y según el resultado de la primera variable evaluada se pasará a evaluar una u otra variable como segunda (y así sucesivamente hasta obtener la predicción). Estas diferentes formas harán que el modelo sea interpretable a simple vista o algo más parecido a una “caja negra” con cálculos internos más intrincados.

Sea cual sea su forma, este modelo es lo que queremos obtener para poder aplicarlo sobre nuevos casos a analizar (es decir, para suministrar nuevos casos como entrada al modelo y que éste nos dé como salida su predicción). Pero, ¿cómo obtenemos este modelo a partir del banco de datos que tenemos acumulado con casos resueltos? Es aquí donde aplicamos algoritmos concretos (implementados en programas informáticos) que toman los datos sobre casos resueltos como entrada y devuelven como salida el modelo que estiman como el de mejor rendimiento para hacer predicciones sobre casos futuros. Los diferentes algoritmos existentes están cada uno diseñados para obtener modelos de un formato determinado (de entre las múltiples opciones existentes, como comentábamos antes) y además incluyen diversas opciones de parametrización para afinar mejor la obtención del modelo concreto dentro del formato escogido. Gran parte de la complejidad de los proyectos de analítica predictiva reside en analizar y evaluar todos los factores que influyen en la selección de los algoritmos (y, por tanto, del tipo de modelos a obtener) más adecuados para el problema y en su correcta parametrización para conseguir el mejor modelo posible para nuestras predicciones.

No hay comentarios:

Publicar un comentario