Revelando el Precision@N y Recall@N en un Sistema de Recomendación

Revealing Precision@N and Recall@N in a Recommendation System.

Optimizando Recomendador: Interpretación más profunda del caso de uso de Precisión y Recall

Foto de Norbert Braun en Unsplash

Los temas principales para discusión son:

  1. Precisión y Recall en pocas palabras
  2. Ajustando la definición de Precisión y Recall al caso de uso de Recomendación
  • La necesidad de transformación de preferencias binarias
  • El problema de Recall impráctico
  • La solución de Recall impráctico: los elementos Top-N
  • Una implementación ilustrativa
  • Implementación de código

Introducción

Las métricas de precisión son una métrica útil para evaluar el rendimiento general en el aprendizaje automático, ya que representan la proporción de instancias clasificadas correctamente dentro de un conjunto de datos. Las métricas de evaluación en conjunto con la precisión, como la precisión y el recall, se utilizan para obtener una comprensión más completa del rendimiento de un modelo.

En general, la precisión y el recall comparan la clase predicha con la clase real del conjunto de pruebas y calculan la proporción de predicciones correctas respecto al número total de predicciones realizadas.

Precisión y Recall en un Problema de Clasificación

En un problema de clasificación supervisada, el valor objetivo (valor y) debe ser binario (aunque el problema de clasificación no se limita a valores múltiples binarios). Por ejemplo, benigno o maligno, bueno o malo, y spam o no spam. Estos valores binarios permiten la aplicación de precisión y recall para medir la corrección del modelo al clasificar los valores predichos.

La precisión mide la proporción de instancias positivas correctamente predichas (verdaderos positivos) de todas las instancias predichas como positivas.

El recall mide la proporción de instancias positivas correctamente predichas (verdaderos positivos) de todas las instancias positivas reales en el conjunto de datos.

Tanto la precisión como el recall proporcionan información complementaria sobre el rendimiento de un modelo. Mientras que la precisión se centra en la precisión de las predicciones positivas, el recall se centra en la capacidad del modelo para encontrar todas las instancias positivas.

Ajustando la definición de Precisión y Recall al caso de uso de Recomendación

Cuando se construye un modelo de recomendación, nuestra expectativa es que el modelo pueda proporcionar recomendaciones de elementos precisas. Las métricas de precisión de clasificación miden el rendimiento de un modelo cuantificando el porcentaje de instancias correctamente predichas respecto al número total de instancias en el conjunto de datos. Sin embargo, en el contexto de los sistemas de recomendación, es típico que el valor objetivo se represente mediante escalas de calificación, como la calificación de 1 a 5 estrellas para películas.

Por lo tanto, para que la precisión y el recall sean adecuadamente utilizables en la tarea de recomendación, es necesario convertir la escala de calificación en preferencias binarias. Esto se logra comúnmente transformando la escala de calificación en una distinción entre elementos “relevantes” e “irrelevantes”.

La necesidad de transformación de preferencias binarias

En esta etapa, es importante establecer un punto de corte claro. Para hacer esto, asumimos que cualquier calificación por encima de 4 se considera un elemento relevante, y cualquier calificación por debajo de 4 se considera irrelevante (el valor de corte de 4 es solo un valor de umbral que elijo, el valor puede variar dependiendo de los requisitos de cada caso de uso)

En este punto, esta ilustración puede ayudar a comprender de manera integral por qué la transformación a preferencia binaria puede aportar una sensación de las métricas de precisión y recall factibles en el sistema de recomendación.

Imagen ilustrada por el autor

El problema de Recall impráctico

Sin embargo, según este artículo [1],

La recuperación (recall) es casi siempre impracticable de medir en un sistema de recomendación. En un sentido puro, medir la recuperación requiere saber si cada elemento es relevante; para un sistema de recomendación de películas, esto implicaría pedir a muchos usuarios que vean las 5000 películas (en la base de datos de películas) para medir qué tan exitosamente recomendamos cada una a cada usuario — Herlocker et al. (2004)

Para simplificar la declaración anterior, es imposible, por ejemplo, que plataformas de películas como Netflix pidan a todos los usuarios que vean 5000 películas para medir la exactitud de las recomendaciones. Debido a la gran diferencia entre el número de elementos calificados por cada usuario y el número total de elementos en el conjunto de datos, la tasa de recuperación tiende a ser relativamente baja también.

Por lo tanto, la solución a la declaración anterior debe centrarse en recomendar la lista de las cinco/diez mejores películas al usuario. Teniendo en cuenta que no es práctico ni factible sugerir todas las películas disponibles en la base de datos a cada usuario.

La solución de la Recuperación Impracticable: Elementos Top-N

Aquí es donde los Elementos Top-N pueden ser una forma apropiada de hacer uso de las métricas de precisión y recuperación para el sistema de recomendación. Debe predecir los elementos top N para los cuales los usuarios dan una calificación. Donde N es un número entero que corresponde al objetivo de recomendación top-N.

Esto se puede hacer dividiendo el conjunto de datos en conjuntos de entrenamiento y prueba. El conjunto de entrenamiento se utiliza para entrenar el algoritmo, luego en el siguiente paso, se utilizará el conjunto de prueba para hacer predicciones de los elementos top N. Con este fin, se emplean las métricas de precision@N y recall@N. Este enfoque permite una evaluación más relevante y precisa del rendimiento del sistema en la recomendación de los elementos más pertinentes al usuario.

Precision@N: Cuántos de los N elementos principales recomendados son relevantes para el usuario. El 80% de precision@10 significa que el modelo proporcionó 10 películas recomendadas, pero solo 8 son realmente de preferencia del usuario

Precision = (elementos relevantes recomendados en top-N) / (número de elementos recomendados)

Recall@K: Cuántos de los elementos relevantes en el conjunto de datos se incluyeron en los N elementos principales recomendados por el sistema. El 60% de recall@10 significa que el 60% del número total de elementos relevantes aparecen en los resultados top-N.

Recall = (elementos relevantes recomendados en top-N) / (elementos relevantes)

En esta etapa, espero que entiendas la definición de los conceptos de Relevante y Recomendado (con la suposición de que se establece 4 estrellas como el umbral)

Imagen ilustrada por el autor

Una Implementación Ilustrativa

Como se discutió anteriormente, aquí están los pasos necesarios:

  • Establecer el umbral de corte (si se establece 4 estrellas como el umbral, cualquier calificación por encima de 4 se considera un elemento relevante y cualquier calificación por debajo de 4 se considera irrelevante, y lo mismo se aplica a recomendado/no recomendado)
  • Transformar los datos de calificación en preferencias binarias
  • Establecer el ‘N’ para Precision@N y Recall@N
  • Calcular la Precisión@N y Recall@N individuales
Imagen ilustrada por el autor

Implementación del Código

Si deseas construir un sistema de recomendación desde cero, puedes consultar mi escritura anterior donde puedes obtener una comprensión del concepto matemático detrás del sistema de recomendación. Sin embargo, si estás familiarizado con las tareas de recomendación, puedes omitir este paso.

Sistema de Recomendación con Factorización de Matrices

El Concepto detrás de la Factorización de Matrices y su Implementación Práctica en Python

towardsdatascience.com

¡De vuelta al código!

Aquí tienes el fragmento de código en Python para calcular la Precisión@N y la Recuperación@N. Además, puedes acceder a todo el cuaderno aquí.

La salida se ve así:

Fragmento de Salida

Nuevamente, el valor de recuperación puede ser relativamente bajo debido a la gran diferencia entre el elemento relevante que ha sido recomendado por el modelo y el número de elementos calificados por cada usuario (Aunque podemos utilizar un conjunto de datos en el que los usuarios hayan dado bastantes calificaciones para contrarrestar la recuperación relativamente baja que se acerca a 0).

Además, me gustaría enfatizar una nota importante sobre la recuperación en un sistema de recomendación, que también es respaldada por los hallazgos de Herlocker et al. (2004) [1] que dicen lo siguiente:

La métrica recall@N solo debe ser utilizada de manera comparativa en el mismo conjunto de datos; no debe interpretarse como una medida absoluta

Resumen

Esto resume mi escrito sobre la interpretación comprensiva de la Precisión@N y la Recuperación@N. Además de eso, he proporcionado una lista de artículos y documentos valiosos en la sección de referencias que han contribuido significativamente a mi investigación.

Referencias

[1] J.L. Herlocker, J.A. Konstan, L.G. Terveen, J.T. Riedl, Evaluating collaborative filtering recommender systems, ACM Trans Inform Syst, 22 (1) (2004), pp. 5–53. Accesible aquí: https://grouplens.org/site-content/uploads/evaluating-TOIS-20041.pdf

Sistema de Recomendación con Factorización de Matrices

El Concepto detrás de la Factorización de Matrices y su Implementación Práctica en Python

towardsdatascience.com

Precision-N-and-Recall-N-Recommender-System/Precision_and_Recall_of_Recomender_Systems_Final.ipynb…

Precision@N y Recuperación@N en un Sistema de Recomendación. Contribuye a…

github.com

Preguntas Frecuentes – Documentación de Surprise 1

Aquí encontrarás las Preguntas Frecuentes, así como algunos otros ejemplos de casos de uso que no forman parte de…

surprise.readthedocs.io

Recuperación y Precisión en k para Sistemas de Recomendación

Explicación Detallada con ejemplos

Zepes.com

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Papel de los Contratos de Datos en la Canalización de Datos

¿Qué son los Contratos de Datos? Un contrato de datos es un acuerdo o conjunto de reglas que define cómo debe estruct...

Inteligencia Artificial

Este artículo sobre IA revela Cómo los modelos de lenguaje grandes se comparan con los motores de búsqueda en eficiencia de verificación de hechos

Investigadores de diferentes universidades comparan la eficacia de los modelos de lenguaje (LLMs) y los motores de bú...

Investigación

Sensor de alcohol móvil para la muñeca podría impulsar la investigación sobre el consumo de alcohol.

Científicos de la Universidad Estatal de Pensilvania y de la Universidad de Carolina del Norte crearon un sensor de m...

Inteligencia Artificial

Engañando a los clasificadores forenses El poder de los modelos generativos en la generación adversarial de rostros

Los avances recientes en el Aprendizaje Profundo (DL), específicamente en el campo de las Redes Generativas Adversari...

Inteligencia Artificial

Automatiza la preetiquetado de PDFs para Amazon Comprehend

Amazon Comprehend es un servicio de procesamiento del lenguaje natural (NLP, por sus siglas en inglés) que proporcion...