La factorización matricial es una clase de algoritmos de filtrado colaborativo que se utilizan en los sistemas de recomendación . Los algoritmos de factorización de matrices funcionan descomponiendo la matriz de interacción usuario-elemento en el producto de dos matrices rectangulares de menor dimensionalidad. [1] Esta familia de métodos se hizo ampliamente conocida durante el desafío del premio Netflix debido a su efectividad, según informó Simon Funk en su publicación de blog de 2006, [2] donde compartió sus hallazgos con la comunidad de investigadores. Los resultados de la predicción se pueden mejorar asignando diferentes pesos de regularización a los factores latentes en función de la popularidad de los elementos y la actividad de los usuarios. [3]
Técnicas
La idea detrás de la factorización matricial es representar usuarios y elementos en un espacio latente de menor dimensión. Desde el trabajo inicial de Funk en 2006, se han propuesto una multitud de enfoques de factorización matricial para sistemas de recomendación. Algunas de las más utilizadas y sencillas se enumeran en las siguientes secciones.
Funk MF
El algoritmo original propuesto por Simon Funk en su publicación de blog [2] factorizaba la matriz de calificación usuario-elemento como el producto de dos matrices de menor dimensión, la primera tiene una fila para cada usuario, mientras que la segunda tiene una columna para cada elemento. La fila o columna asociada a un usuario o elemento específico se denomina factores latentes . [4] Tenga en cuenta que, en Funk MF no se aplica una descomposición de valores singulares , es un modelo de aprendizaje automático similar a SVD. [2] Las calificaciones previstas se pueden calcular como, dónde es la matriz de calificación de elementos de usuario, contiene los factores latentes del usuario y los factores latentes del artículo.
Específicamente, la calificación prevista que el usuario u otorgará al elemento i se calcula como:
Es posible sintonizar el poder expresivo del modelo cambiando el número de factores latentes. Se ha demostrado [5] que una factorización matricial con un factor latente es equivalente a un recomendador más popular o más popular (por ejemplo, recomienda los elementos con más interacciones sin ninguna personalización). Aumentar el número de factores latentes mejorará la personalización y, por lo tanto, la calidad de la recomendación, hasta que el número de factores sea demasiado alto, momento en el que el modelo comienza a sobreajustarse y la calidad de la recomendación disminuirá. Una estrategia común para evitar el sobreajuste es agregar términos de regularización a la función objetivo. [6] [7] Funk MF se desarrolló como un problema de predicción de calificaciones , por lo que utiliza calificaciones numéricas explícitas como interacciones usuario-elemento.
A fin de cuentas, Funk MF minimiza la siguiente función objetivo:
Dónde se define como la norma frobenius, mientras que las otras normas pueden ser frobenius u otra norma, dependiendo del problema de recomendación específico. [8]
SVD ++
Si bien Funk MF puede proporcionar una calidad de recomendación muy buena, su capacidad para usar solo calificaciones numéricas explícitas como interacciones entre usuarios y elementos constituye una limitación. Los sistemas de recomendación de hoy en día deberían explotar todas las interacciones disponibles tanto explícitas (por ejemplo, calificaciones numéricas) como implícitas (por ejemplo, me gusta, compras, omitidas, marcadas como favoritos). Con este fin, SVD ++ fue diseñado para tener en cuenta también las interacciones implícitas. [9] [10] En comparación con Funk MF, SVD ++ también tiene en cuenta el sesgo del usuario y del elemento.
La calificación prevista que el usuario u le dará al elemento i se calcula como:
Sin embargo, SVD ++ tiene algunas desventajas, siendo el principal inconveniente que este método no está basado en modelos. Esto significa que si se agrega un nuevo usuario, el algoritmo es incapaz de modelarlo a menos que se reentrena todo el modelo. Aunque el sistema podría haber recopilado algunas interacciones para ese nuevo usuario, sus factores latentes no están disponibles y, por lo tanto, no se pueden calcular recomendaciones. Este es un ejemplo de un problema de arranque en frío , es decir, el recomendador no puede tratar de manera eficiente con nuevos usuarios o elementos y se deben implementar estrategias específicas para manejar esta desventaja. [11]
Una forma posible de abordar este problema de arranque en frío es modificar SVD ++ para que se convierta en un algoritmo basado en modelos , lo que permite administrar fácilmente nuevos elementos y nuevos usuarios.
Como se mencionó anteriormente en SVD ++ no tenemos los factores latentes de los nuevos usuarios, por lo que es necesario representarlos de manera diferente. Los factores latentes del usuario representan la preferencia de ese usuario por los factores latentes del elemento correspondiente, por lo tanto, los factores latentes del usuario se pueden estimar a través de las interacciones anteriores del usuario. Si el sistema es capaz de recopilar algunas interacciones para el nuevo usuario, es posible estimar sus factores latentes. Tenga en cuenta que esto no resuelve por completo el problema del inicio en frío , ya que el recomendador aún requiere algunas interacciones confiables para los nuevos usuarios, pero al menos no es necesario volver a calcular todo el modelo cada vez. Se ha demostrado que esta formulación es casi equivalente a un modelo SLIM, [12] que es un recomendador basado en el modelo ítem-ítem .
Con esta formulación, el recomendador de ítem-ítem equivalente sería. Por tanto, la matriz de semejanza es simétrica.
SVD asimétrico
Asymmetric SVD tiene como objetivo combinar las ventajas de SVD ++ al mismo tiempo que es un algoritmo basado en modelos, por lo que puede considerar nuevos usuarios con algunas calificaciones sin necesidad de volver a capacitar todo el modelo. A diferencia de la SVD basada en modelos, aquí, la matriz de factores latentes del usuario H se reemplaza por Q, que aprende las preferencias del usuario en función de sus calificaciones. [13]
La calificación prevista que el usuario u le dará al elemento i se calcula como:
Con esta formulación, el recomendador de ítem-ítem equivalente sería. Dado que las matrices Q y W son diferentes, la matriz de similitud es asimétrica, de ahí el nombre del modelo.
SVD específico de grupo
Un SVD específico de grupo puede ser un enfoque eficaz para el problema del arranque en frío en muchos escenarios. [6] Agrupa usuarios y elementos en función de la información de dependencia y las similitudes en las características. Luego, una vez que llega un nuevo usuario o elemento, podemos asignarle una etiqueta de grupo y aproximar su factor latente por los efectos de grupo (del grupo correspondiente). Por lo tanto, aunque las calificaciones asociadas con el nuevo usuario o elemento no están necesariamente disponibles, los efectos de grupo proporcionan predicciones inmediatas y efectivas.
La calificación prevista que el usuario u le dará al elemento i se calcula como:
Aquí y representan la etiqueta de grupo del usuario u y el elemento i , respectivamente, que son idénticos en todos los miembros del mismo grupo. Y y son matrices de efectos grupales. Por ejemplo, para un nuevo usuario cuyo factor latente no está disponible, al menos podemos identificar su etiqueta de grupo y predecir sus calificaciones como:
Esto proporciona una buena aproximación a las calificaciones no observadas.
MF híbrido
En los últimos años se han desarrollado muchos otros modelos de factorización matricial para explotar la cantidad y variedad cada vez mayor de datos de interacción disponibles y casos de uso. Los algoritmos de factorización de matriz híbrida son capaces de fusionar interacciones explícitas e implícitas [14] o tanto contenido como datos colaborativos [15] [16] [17]
MF de aprendizaje profundo
En los últimos años se han propuesto una serie de técnicas neuronales y de aprendizaje profundo, algunas de las cuales generalizan los algoritmos tradicionales de factorización de matrices a través de una arquitectura neuronal no lineal. [18] Si bien el aprendizaje profundo se ha aplicado a muchos escenarios diferentes: consciente del contexto, consciente de la secuencia, etiquetado social, etc., se ha puesto en duda su eficacia real cuando se utiliza en un escenario de filtrado colaborativo simple . El análisis sistemático de publicaciones que aplican métodos de aprendizaje profundo o neuronales al problema de recomendación top-k, publicado en las principales conferencias (SIGIR, KDD, WWW, RecSys, IJCAI), ha demostrado que en promedio menos del 40% de los artículos son reproducibles, con un poco como el 14% en algunas conferencias. En general, los estudios identifican 26 artículos, solo 12 de ellos pudieron reproducirse y 11 de ellos podrían ser superados por líneas de base mucho más antiguas y simples, debidamente ajustadas. Los artículos también destacan una serie de problemas potenciales en la beca de investigación actual y exigen prácticas científicas mejoradas en esa área. [19] También se han detectado problemas similares en los sistemas de recomendación con reconocimiento de secuencias. [20]
Ver también
Referencias
- ^ Koren, Yehuda; Bell, Robert; Volinsky, Chris (agosto de 2009). "Técnicas de factorización matricial para sistemas de recomendación". Computadora . 42 (8): 30–37. CiteSeerX 10.1.1.147.8295 . doi : 10.1109 / MC.2009.263 . S2CID 58370896 .
- ^ a b c Funk, Simon. "Actualización de Netflix: prueba esto en casa" .
- ^ ChenHung-Hsuan; ChenPu (9 de enero de 2019). "Diferenciación de pesos de regularización: un mecanismo simple para aliviar el arranque en frío en sistemas de recomendación". Transacciones de ACM sobre descubrimiento de conocimientos a partir de datos (TKDD) . 13 : 1–22. doi : 10.1145 / 3285954 . S2CID 59337456 .
- ^ Agarwal, Deepak; Chen, Bee-Chung (28 de junio de 2009). "Modelos de factores latentes basados en regresiones". Actas de la 15ª conferencia internacional ACM SIGKDD sobre descubrimiento de conocimiento y minería de datos - KDD '09 . ACM. págs. 19-28. doi : 10.1145 / 1557019.1557029 . ISBN 9781605584959. S2CID 17484284 .
- ^ Jannach, Dietmar; Lerche, Lukas; Gedikli, Fatih; Bonnin, Geoffray (2013). Lo que recomiendan los recomendadores: un análisis de los efectos de precisión, popularidad y diversidad de ventas . Modelado, adaptación y personalización de usuarios . Apuntes de conferencias en Ciencias de la Computación. 7899 . Springer Berlín Heidelberg. págs. 25–37. CiteSeerX 10.1.1.465.96 . doi : 10.1007 / 978-3-642-38844-6_3 . ISBN 978-3-642-38843-9.
- ^ a b Bi, Xuan; Qu, Annie; Wang, Junhui; Shen, Xiaotong (2017). "Un sistema de recomendación para grupos específicos" . Revista de la Asociación Estadounidense de Estadística . 112 (519): 1344-1353. doi : 10.1080 / 01621459.2016.1219261 . S2CID 125187672 .
- ^ Zhu, Yunzhang; Shen, Xiaotong; Ye, Changqing (2016). "Predicción personalizada y seguimiento de la dispersión en modelos de factores latentes" . Revista de la Asociación Estadounidense de Estadística . 111 (513): 241–252. doi : 10.1080 / 01621459.2016.1219261 . S2CID 125187672 .
- ^ Paterek, Arkadiusz (2007). "Mejora de la descomposición de valores singulares regularizados para el filtrado colaborativo" (PDF) . Actas del Taller y Copa KDD .
- ^ Cao, Jian; Hu, Hengkui; Luo, Tianyan; Wang, Jia; Huang, mayo; Wang, Karl; Wu, Zhonghai; Zhang, Xing (2015). Diseño Distribuido e Implementación de Algoritmo SVD ++ para Sistema de Recomendación Personalizada de Comercio Electrónico . Comunicaciones en Informática y Ciencias de la Información. 572 . Springer Singapur. págs. 30–44. doi : 10.1007 / 978-981-10-0421-6_4 . ISBN 978-981-10-0420-9.
- ^ Jia, Yancheng (septiembre de 2014). "Preferencia de marcas de los usuarios basada en SVD ++ en sistemas de recomendación". 2014 IEEE Workshop on Advanced Research and Technology in Industry Applications (WARTIA) . IEEE. págs. 1175-1178. doi : 10.1109 / wartia.2014.6976489 . ISBN 978-1-4799-6989-0. S2CID 742206 . Falta o vacío
|title=
( ayuda ) - ^ Kluver, Daniel; Konstan, Joseph A. (6 de octubre de 2014). "Evaluación del comportamiento del recomendador para nuevos usuarios". Actas de la 8ª Conferencia ACM sobre sistemas de recomendación - Rec Sys '14 . ACM. págs. 121-128. doi : 10.1145 / 2645710.2645742 . ISBN 9781450326681. S2CID 18509558 .
- ^ Zheng, Yong; Mobasher, Bamshad; Burke, Robin (6 de octubre de 2014). "CSLIM". CSLIM: algoritmos de recomendación SLIM contextuales . ACM. págs. 301-304. doi : 10.1145 / 2645710.2645756 . ISBN 9781450326681. S2CID 15931532 .
- ^ Pu, Li; Faltings, Boi (12 de octubre de 2013). "Comprensión y mejora de la factorización de matrices relacionales en sistemas de recomendación" . Actas de la 7ª conferencia ACM sobre sistemas de recomendación - Rec Sys '13 . ACM. págs. 41–48. doi : 10.1145 / 2507157.2507178 . ISBN 9781450324090. S2CID 14106198 .
- ^ Zhao, Changwei; Sun, Suhuan; Han, Linqian; Peng, Qinke (2016). "Factorización de matrices híbridas para sistemas de recomendación en redes sociales" . Mundo de la red neuronal . 26 (6): 559–569. doi : 10.14311 / NNW.2016.26.032 .
- ^ Zhou, Tinghui; Shan, Hanhuai; Banerjee, Arindam; Sapiro, Guillermo (26 de abril de 2012). Factorización de matrices probabilísticas kernelizadas: explotación de gráficos e información lateral . Actas de la Conferencia Internacional SIAM 2012 sobre Minería de Datos . Sociedad de Matemáticas Industriales y Aplicadas. págs. 403–414. doi : 10.1137 / 1.9781611972825.35 . ISBN 978-1-61197-232-0.
- ^ Adams, Ryan Prescott; Dahl, George E .; Murray, Iain (25 de marzo de 2010). "Incorporación de información lateral en factorización matricial probabilística con procesos gaussianos 1003.4944". arXiv : 1003.4944 [ stat.ML ].
- ^ Fang, Yi; Si, Luo (27 de octubre de 2011). "Matriz de cofactorización para recomendación con rica información lateral y retroalimentación implícita". Actas del II Taller Internacional sobre Heterogeneidad y Fusión de la Información en Sistemas de Recomendación - Het Rec '11 . ACM. págs. 65–69. doi : 10.1145 / 2039320.2039330 . ISBN 9781450310277. S2CID 13850687 .
- ^ Él, Xiangnan; Liao, Lizi; Zhang, Hanwang; Nie, Liqiang; Hu, Xia; Chua, Tat-Seng (2017). "Filtrado colaborativo neuronal" . Actas de la 26ª Conferencia Internacional sobre World Wide Web . Comité Directivo de las Conferencias Internacionales de la World Wide Web: 173–182. arXiv : 1708.05031 . doi : 10.1145 / 3038912.3052569 . ISBN 9781450349130. S2CID 13907106 . Consultado el 16 de octubre de 2019 .
- ^ Rendle, Steffen; Krichene, Walid; Zhang, Li; Anderson, John (22 de septiembre de 2020). "Filtrado colaborativo neuronal vs factorización de matriz revisada" . Decimocuarta Conferencia de la ACM sobre sistemas de recomendación : 240–248. doi : 10.1145 / 3383313.3412488 .
- ^ Ludewig, Malte; Mauro, Noemi; Latifi, Sara; Jannach, Dietmar (2019). "Comparación de rendimiento de enfoques neuronales y no neuronales a la recomendación basada en sesiones" . Actas de la 13ª Conferencia de ACM sobre sistemas de recomendación . ACM: 462–466. doi : 10.1145 / 3298689.3347041 . ISBN 9781450362436. Consultado el 16 de octubre de 2019 .