El aprendizaje automático se centra en la creación de modelos que predicen con precisión. Las métricas de evaluación ofrecen una forma de medir la eficiencia de un modelo, lo que nos permite refinar o incluso cambiar algoritmos en función de los resultados de rendimiento.
El concepto de "probabilidad" es fundamental para muchas de estas métricas. Mide qué tan bien se alinean las predicciones de un modelo con los datos observados. Por lo tanto, desempeña un papel fundamental en el entrenamiento y la evaluación del modelo.
Un modelo con mayor probabilidad, por ejemplo, sugiere que los datos observados son más probables según los supuestos del modelo dado.
Las herramientas tecnológicas como TensorFlow y PyTorch suelen utilizar métricas basadas en probabilidades, especialmente en tareas como clasificación o predicción de secuencias. Estas herramientas, equipadas con funciones y bibliotecas adaptadas a estas métricas, hacen que la tarea de evaluación de modelos sea accesible y altamente eficiente.
Comprender la probabilidad y sus métricas asociadas es vital para cualquier persona que se dedique al aprendizaje automático. Nos permite formar la base para la evaluación y mejora del modelo.
A continuación, analizaremos más de cerca tres métricas de evaluación clave para ver cómo funcionan y se relacionan entre sí en el aprendizaje automático.
La entropía cruzada evalúa la varianza entre dos conjuntos de probabilidades, a menudo yuxtaponiendo patrones de datos reales con los resultados pronosticados de un modelo. Matemáticamente, para distribuciones discretas p
y q
, la entropía cruzada H(p, q)
viene dada por:
H(p, q) = -\sum p(x) \log(q(x))
Donde \( p(x) \) es la probabilidad real de que ocurra un evento x
, y q(x)
es la probabilidad estimada del mismo evento según el modelo.
Se aplica principalmente en problemas de clasificación, especialmente en escenarios donde la salida puede pertenecer a varias clases. Se utiliza porque proporciona una medida clara de qué tan alejadas están las predicciones de un modelo de los resultados reales. Cuanto menor sea la entropía cruzada, mejor se alinearán las predicciones del modelo con los valores reales.
Varias bibliotecas de software están equipadas para manejar cálculos que involucran entropía cruzada. Notablemente:
tf.nn.softmax_cross_entropy_with_logits
que calcula directamente la entropía cruzada para problemas de clasificación.
torch.nn.CrossEntropyLoss
, adecuada para tareas de clasificación de múltiples clases.
log_loss
. Logloss, abreviatura de pérdida logarítmica, mide la precisión de un clasificador penalizando las clasificaciones falsas. Para una clasificación binaria con etiqueta verdadera y
y probabilidad prevista p
, la pérdida logarítmica viene dada por:
L(y, p) = -y \log(p) - (1 - y) \log(1 - p)
Esencialmente, la logloss es la entropía cruzada entre las etiquetas verdaderas y las predicciones para problemas de clasificación binaria. Cuando se expande a una clasificación de clases múltiples, la pérdida logarítmica resume los valores de entropía cruzada para cada clase, lo que hace que las dos métricas estén íntimamente relacionadas.
Se emplea principalmente en problemas de clasificación binaria y multiclase. Su fortaleza radica en su capacidad para cuantificar la incertidumbre de las predicciones en función de cuánto se desvían de las etiquetas verdaderas.
Un modelo perfecto tendría una pérdida logarítmica de 0, aunque en la práctica los valores tienden a ser mayores que esto.
Una gran cantidad de bibliotecas de software nos permiten calcular la pérdida de registros:
Scikit-aprende . Como biblioteca de aprendizaje automático ampliamente utilizada, scikit-learn ofrece la función log_loss
, adecuada para escenarios de clasificación tanto binarios como multiclase.
TensorFlow y PyTorch. Si bien estos marcos se centran principalmente en redes neuronales y aprendizaje profundo, calculan inherentemente la pérdida de registros cuando utilizan funciones de pérdida de entropía cruzada para tareas de clasificación.
LightGBM y XGBoost. Estos marcos de aumento de gradiente, conocidos por su alto rendimiento en competencias de datos tabulares, también contienen funcionalidades para calcular la pérdida de registros, que son especialmente útiles al evaluar el rendimiento del modelo en desafíos de clasificación.
Esta es una medida de qué tan bien la distribución de probabilidad o el modelo de probabilidad predice una muestra.
Dada por:
Perplexity(P) = 2^{H(P)}
donde H(P)
es la entropía cruzada de la distribución P
, la perplejidad representa efectivamente el número promedio ponderado de opciones que un modelo cree que tiene en cada punto de decisión.
En el contexto de la entropía cruzada, un valor de entropía cruzada más alto corresponde a una mayor perplejidad, lo que indica que el modelo es más incierto en sus predicciones.
La aplicación más notable de Perplexity es en los modelos de lenguaje, donde mide qué tan bien un modelo predice una secuencia de palabras. Un modelo con menor perplejidad se considera superior porque significa menos factores de ramificación promedio o, en términos más simples, es más seguro acerca de la siguiente palabra en una secuencia.
Aparte de los modelos de lenguaje, la perplejidad también puede ser una métrica relevante en otros modelos probabilísticos donde la calidad de la predicción sobre secuencias o distribuciones es crucial.
Varias herramientas y plataformas ayudan en el cálculo y la interpretación de la perplejidad:
NLTK . Natural Language Toolkit proporciona utilidades para construir modelos de lenguaje probabilístico y calcula la perplejidad para evaluar estos modelos.
TensorFlow y PyTorch. Para los modelos de lenguaje basados en aprendizaje profundo, ambos marcos ofrecen funcionalidades para calcular la entropía cruzada, que luego se puede traducir en perplejidad usando la fórmula anterior.
Gensim . Gensim, conocido principalmente por el modelado de temas, también contiene métodos para calcular la perplejidad, particularmente útil al evaluar la coherencia de los temas generados.
La entropía cruzada, la pérdida logarítmica y la perplejidad son métricas arraigadas en la teoría de la información y el modelado probabilístico. Su objetivo principal es evaluar la calidad de las predicciones, ya sea para clasificación o estimación de distribución de probabilidad. A un nivel alto:
Como métrica universal, la entropía cruzada es adecuada para problemas en los que el objetivo es aproximar o igualar una distribución de probabilidad particular. Brilla en tareas de clasificación de múltiples clases. Los ejemplos incluyen la clasificación de imágenes, donde cada imagen podría pertenecer a una de varias categorías, o la predicción del tipo de enfermedad que podría tener un paciente en función de sus síntomas.
Diseñado para la clasificación, logloss se convierte en la métrica de referencia para problemas binarios y de clases múltiples, lo que penaliza en gran medida las predicciones incorrectas seguras. Su fuerza radica en su sensibilidad a las predicciones probabilísticas exactas.
Por ejemplo, en la detección de spam (spam o no spam), la predicción de la pérdida de clientes (se abandonará o no), o la predicción de si una transacción determinada es fraudulenta.
Por último, la perplejidad, utilizada principalmente en el modelado del lenguaje, evalúa qué tan bien un modelo predice secuencias. Los valores más bajos indican un modelo que es más seguro de sus predicciones secuenciales. Se puede utilizar para tareas de generación de texto, traducción automática o reconocimiento de voz, donde el modelo predice la siguiente palabra o frase en una secuencia.
Si bien las tres métricas se ocupan de la evaluación de modelos probabilísticos, su aplicabilidad difiere según la naturaleza de la tarea: coincidencia de distribución, clasificación o predicción de secuencia.
Un profesional experimentado en aprendizaje automático selecciona la métrica que mejor se adapta a la tarea para garantizar la evaluación más informativa del rendimiento del modelo.
Reconocer los matices de las métricas de evaluación, como la entropía cruzada, la pérdida de registros y la perplejidad, influye directamente en la toma de decisiones informadas en proyectos de aprendizaje automático. Cada una de estas métricas, con sus propias características y usos distintos, influye en gran medida en la precisión y confiabilidad de los modelos de predicción.
En ML, el uso de plataformas como TensorFlow, Scikit-learn y NLTK facilita el cálculo de métricas y mejora las evaluaciones de modelos. Asegúrese siempre de que la métrica elegida se alinee con los objetivos del proyecto para obtener el mejor resultado.
Por supuesto, aplicar herramientas conocidas como está acostumbrado es fácil, pero comprenderlas verdaderamente puede resultar más beneficioso al final. Continúe aprendiendo y elija la métrica adecuada para cada tarea que enfrente.