9 votos

¿Tiene sentido medir memoria en sistemas de recomendación?

Supongamos que hemos construido un sistema de recomendación que (dada decir de la película rankings o lo que sea de muchos usuarios) producirá una lista de 10 recomendado películas para cada usuario para ver. Imagina que yo también tengo algún grupo grande de objetos de la película, junto con un registro de las evaluaciones de los usuarios, junto con las películas que realmente decidido a ver. Así que quiero utilizar este conjunto de datos para evaluar mi sistema.

He visto en la literatura que estos "sugerir algunos buenos elementos" tareas suelen ser evaluados con precisión, recall y F1-score (por ejemplo, ver [1]). Supongo que yo debería de estar interesados, en particular, en la "precisión a las 10". Sin embargo, no estoy muy seguro de cómo se supone que uno debe calcular estas medidas (o si hacen cualquier sentido) en el escenario que he descrito anteriormente.

Al parecer, la mejor cosa a hacer es al azar romper la muestra en un "entrenamiento" y una "prueba" de la parte. Y luego alimentar a los datos de entrenamiento para mi algoritmo, por lo que puede venir para arriba con una lista de las 10 predicciones.

Ahora precisión tiene algo de sentido, puedo comprobar a partir de las 10 predicciones de cómo muchos de estos se encuentran realmente en el cine visto por el usuario en los datos de prueba.

Sin embargo, para recordar, si el usuario visto un montón de películas en los datos de prueba, por ejemplo de 50 o así; no hay manera de obtener una "buena" recordar puntuación, simplemente porque mi sistema estaba limitado a producir sólo 10 películas y me gustaría conseguir en la mayoría de 1/5 = 0.2 de recordar.

Alternativamente, si me restringir la prueba sólo para adivinar el próximo 10 mirado" películas de el usuario (por que es una oportunidad para tener un "perfecto recall"), entonces la precisión y el recall siempre será exactamente el mismo número (si el número recomendado y el número relevante para el usuario es el mismo, la precisión y el recall también son siempre los mismos).

Estoy haciendo algo mal? O estas métricas simplemente no hacen mucho sentido en el escenario?

8voto

RexE Puntos 181

En el caso de un "top-N" sistema de recomendación, es útil para la construcción de un "imparcial" conjunto de datos de prueba (por ejemplo, mediante la adición de un millar de azar sin vigilancia/sin clasificar películas a la lista de visto las películas de el conjunto de datos de exclusión para un determinado usuario) y, a continuación, anotando el resultado conjunto de datos de prueba utilizando un modelo. Una vez que se realiza para un grupo de usuarios, uno puede calcular de "precisión vs recordar" y la curva de "recordar-a-N vs N" de la curva (así como la sensibilidad/especificidad y la elevación de las curvas) que puede ser utilizado para juzgar la calidad de un determinado modelo. Este papel, el Rendimiento de los Algoritmos de Recomendación en la parte Superior-N Recomendación Tareas por Cremonesi et al., tiene más detalles.

Si un determinado modelo incluye la dinámica de tiempo, a continuación, la división entre el entrenamiento y la prueba debe ser realizada a lo largo de la dimensión de tiempo (no completamente al azar)

0voto

keremk Puntos 2043

La mayoría del tiempo de recordar no producen un resultado que puede ser evaluado en términos absolutos. Usted debe utilizar recordar valor para evaluar un algoritmo con respecto a otro.

Si un algoritmo tiene un recuerdo valor de 0,2 (como en tu ejemplo) es difícil interpretar lo que este valor medio. Sin embargo, si otro algoritmo de B tiene un recuerdo valor de 0,15 (dado el mismo montaje experimental), a continuación, se puede concluir que el algoritmo tiene un mejor rendimiento que el algoritmo de B con respecto a la destitución.

Error Absoluto medio (MAE) no es como este, que se puede interpretar por sí mismo.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X