Considere el problema de filtrado colaborativo. Tenemos una matriz de tamaño #users * #items. si al usuario me gusta el elemento j, si al usuario no le gustan los elementos j ysi no hay datos sobre el par (i, j) Queremos predecir para futuros usuarios, pares de elementos.
El enfoque de filtrado colaborativo estándar es representar M como producto de 2 matrices modo que sea mínimo (por ejemplo, minimizar el error cuadrático medio para elementos conocidos de ).
Para mí, la función de pérdida logística parece más adecuada, ¿por qué todos los algoritmos usan MSE?
Respuestas:
Usamos la pérdida logística para la factorización implícita de matrices en Spotify en el contexto de las recomendaciones musicales (usando recuentos de reproducción). Acabamos de publicar un artículo sobre nuestro método en un próximo taller de NIPS 2014. El documento se titula Factorización de matriz logística para datos de retroalimentación implícitos y se puede encontrar aquí http://stanford.edu/~rezab/nips2014workshop/submits/logmat.pdf
El código para el documento se puede encontrar en mi Github https://github.com/MrChrisJohnson/logistic-mf
fuente
La mayoría de los trabajos que encontrará sobre el tema tratarán con matrices donde las calificaciones están en una escala [0,5]. En el contexto del Premio Netflix, por ejemplo, las matrices tienen clasificaciones discretas de 1 a 5 (+ los valores faltantes). Es por eso que el error al cuadrado es la función de costo más extendido. Se pueden ver algunas otras medidas de error, como la divergencia Kullback-Leibler.
Otro problema que puede ocurrir con la factorización matricial estándar es que algunos de los elementos de las matrices U y V pueden ser negativos (particularmente durante los primeros pasos). Esa es una razón por la que no usaría la pérdida de registro aquí como su función de costo.
Sin embargo, si está hablando de factorización matricial no negativa , debería poder utilizar la pérdida de registro como su función de costo. Se encuentra en un caso similar a la Regresión logística, donde se utiliza la pérdida logarítmica como función de costo: sus valores observados son 0 y 1 y predice un número (probabilidad) entre 0 y 1.
fuente