Existen muchas formas de calcular errores en un modelo de ML. Puede suceder (de hecho, es muy común que suceda y deberíamos extrañarnos si no es así) que los modelos de clasificación de nuestro conjunto de datos tengan errores, como números de predicciones erradas, falsos positivos o falsos negativos, entre otras cosas que afectan al rendimiento del modelo.
Por eso, en este post te enseñaremos un método bastante simplificado para calcular errores en un modelo de ML.
¿Qué encontrarás en este post?
Toggle¿Cómo calcular errores en un modelo de ML?
Supongamos que tenemos un modelo, ¿cómo evaluamos si el modelo está haciendo bien o mal las cosas? Existen diferentes formas:
- Representándolo.
- Predecir un valor que ya tenemos.
Imaginemos que el modelo que tenemos tiene datos discretos, es decir, solo tenemos tres puntos, cuyos valores conocemos. A este modelo lo llamaremos h (x).
- Calcular errores en un modelo de ML.
- ¿Cómo podríamos calcular los errores? Sabemos que tenemos los valores de esos puntos. Tenemos la x, también tenemos la y…
La manera más simple de calcular errores en un modelo de ML es determinando que el modelo esté bien o mal. No hay que calcular distancias ni nada por el estilo; es más que el modelo dé al punto o no dé al punto.
Lo que podemos hacer es predecir un valor que ya tenemos y ver si da lo mismo que el modelo. Entonces, ya tenemos los tres puntos. Podríamos decir:
- Vamos a coger el primer punto: (x1, y1). Lo evaluamos con nuestro modelo: h (x1) y esto nos daría un valor predicho: y1, el valor que prediga el modelo. Nos sale que está en un punto diferente al predicho. Perfecto, tenemos el primer error. Al error le sumamos 1.
- Hacemos lo mismo para el segundo punto: (x2, y2) → h (x2). Nos da un valor diferente en la recta a nuestro punto. En este caso se pasa, así que también lo ponemos como error. Sumamos +2 al error.
- En el último caso: (x3, y3) → h (x3) sí da el punto exacto.
Esta conclusión es la forma más básica que existe para calcular errores en un modelo de ML.
Fórmula matemática para calcular errores en un modelo de ML
Entonces, ¿cómo podemos escribir esto matemáticamente? De forma matemática, esto viene definido por arg min sobre h:
Lo que está dentro de los corchetes no es más que la traducción de: si en nuestro modelo no coinciden los valores con el valor esperado, es decir, no coincide con y1, y2, y3, vamos a sumar +1 al error.
Así pues, esta sería la forma más sencilla de calcular errores en un modelo de ML.
Esto es más o menos como lanzar cara o cruz y que gane el 2 de 3 (2/3). Aquí lo que estaríamos haciendo simplemente es contar los fallos que estamos teniendo. ¿Cómo consideramos un fallo? El fallo lo consideramos cuando nuestro modelo no coincide con los valores que tenemos en nuestros datos. Si da 3 y debe dar 2, debemos añadir error + 1; si da 4 y debe dar 3, lo mismo, error + 1; y así sucesivamente con todos los errores que encontremos.
0 – 1 loss function y surrogate loss functions
¿Qué es lo que sucede con esta ecuación para calcular errores en un modelo de ML? Pues que esta es una función no convexa. Se llama 0 – 1 loss function y existe.
La 0 – 1 loss function, a pesar de ser no convexa, es la manera más fácil de calcular errores en un modelo de ML.
¿Qué soluciones se han implementado en machine learning para solventar este problema? Se han creado las denominadas surrogate loss functions. Esta no es más que una variante o un atajo que podemos tomar para tener o medir los errores de los modelos.
Muchas veces lo que solventan estas surrogate loss function es la imposibilidad de la 0 – 1 loss function de optimizar por ser convexa.
¿Qué sigue?
El Big Data es una de las áreas en las que más trabajos se ofertan. Si quieres acceder a este tipo de opciones laborales, tenemos para ti el Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp, una formación intensiva en la que adquirirás todos los conocimientos teóricos y prácticos que te permitirán obtener el trabajo de tus sueños. ¡No esperes más para seguir tu camino hacia el éxito y solicita información ahora!