5 votos

SVD en la recomendación de películas

Supongamos que hay un 5 $\times$ 6 matriz que registra las valoraciones de seis usuarios sobre cinco películas.

He calculado la descomposición del valor singular (SVD) para dicha matriz.

Supongamos que añado otra película para que ahora sea 6 $\times$ 6 matrices.

Sin embargo, sólo tengo una calificación de esa película para dos personas.

¿Cómo puedo estimar las valoraciones que los demás usuarios darían a esta nueva película?

2voto

Bauna Puntos 176

Se trata de un problema muy estudiado conocido como factorización de matrices o completamiento de matrices, en el que se tienen algunas observaciones de una matriz que se supone de bajo rango y se desea completar el resto.

Dos de los modelos estándar son:

Hay muchas extensiones de estos modelos para hacerlos más eficaces en diversas aplicaciones. Se describen en cualquiera de las muchas introducciones a la factorización matricial para el filtrado colaborativo. Puedes probar, por ejemplo, esta introducción [aunque ten en cuenta que su implementación en python es bastante mala], o si te gustan los libros de verdad el Manual de sistemas de recomendación es probablemente bastante bueno (aunque caro).

Si quieres tener en cuenta la SVD que aparentemente tienes de tu submatriz completa de 6 x 5, podrías inicializar el proceso de optimización para cualquiera de las anteriores en esa solución. En la práctica, por supuesto, esa situación es bastante rara.

1voto

Calvin Puntos 111

Utilizaría un modelo aditivo simple, en el que la calificación de la película $i$ por persona $j$ se aproxima por la suma de dos valores, $a_i + b_j$ . Estimaciones por mínimos cuadrados de $a_1,...,a_6$ y $b_1,...,b_6$ puede obtenerse a partir de las 32 valoraciones. Hay muchas maneras de hacer esto; yo identifiqué la solución imponiendo la restricción $\sum b_j=0$ . Entonces, si las películas 1,...,5 fueron calificadas por las 6 personas y la película 6 fue calificada sólo por las personas 1 y 2, la inspección de las expresiones simbólicas para las calificaciones estimadas $a_6 + b_j,\; j=3,4,5,6$ muestra que cada calificación estimada viene dada por la suma de un componente común más un componente específico de la persona $j$ . El componente específico de la persona es la media de la persona $j$ de las películas 1,...5. El componente común es la valoración media de la película 6 por las personas 1 y 2, menos las valoraciones medias de las películas 1,...,5 por las personas 1 y 2.

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