La factorización matricial es una clase de algoritmos de filtrado colaborativo utilizados en sistemas de recomendación . Estos algoritmos 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 popularizó durante el concurso de Netflix debido a su efectividad, como informó Simon Funk en su publicación de blog de 2006, [ 2 ] donde compartió sus hallazgos con la comunidad investigadora. Los resultados de predicción pueden mejorarse asignando diferentes ponderaciones 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 multitud de enfoques de factorización matricial para sistemas de recomendación. Algunos de los más utilizados y sencillos se enumeran en las siguientes secciones.
Funk MF
El algoritmo original propuesto por Simon Funk en su publicación de blog [ 2 ] factorizó la matriz de calificaciones usuario-ítem como el producto de dos matrices de menor dimensión, la primera con una fila para cada usuario, mientras que la segunda con una columna para cada ítem. La fila o columna asociada a un usuario o ítem específico se denomina factor latente . [ 4 ] Cabe señalar que, en Funk MF no se aplica la descomposición en valores singulares , sino que se trata de un modelo de aprendizaje automático similar a SVD . [ 2 ] Las calificaciones predichas se pueden calcular como, dóndees la matriz de calificación usuario-ítem,contiene los factores latentes del usuario ylos factores latentes del artículo.
Específicamente, la calificación prevista que el usuario u le dará al artículo i se calcula de la siguiente manera:
Es posible ajustar 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 de mayor popularidad (por ejemplo, recomienda los elementos con más interacciones sin ninguna personalización). Aumentar el número de factores latentes mejorará la personalización, 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 tanto, utiliza calificaciones numéricas explícitas como interacciones usuario-elemento.
En definitiva, Funk MF minimiza la siguiente función objetivo:
Dóndese define como la norma de Frobenius, mientras que las otras normas podrían ser Frobenius u otra norma dependiendo del problema de recomendación específico. [ 8 ]
SVD++
Si bien Funk MF es capaz de proporcionar recomendaciones de muy buena calidad, su capacidad de usar solo calificaciones numéricas explícitas como interacciones usuario-elemento constituye una limitación. Los sistemas de recomendación modernos deberían aprovechar todas las interacciones disponibles, tanto explícitas (p. ej., calificaciones numéricas) como implícitas (p. ej., me gusta, compras, elementos omitidos, marcadores). 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 artículo i se calcula de la siguiente manera:
Dóndese refiere a la calificación promedio general de todos los artículos yySe refiere a la desviación observada del elemento i y del usuario u respectivamente con respecto al promedio. [ 11 ] Sin embargo, SVD++ tiene algunas desventajas, siendo el principal inconveniente que este método no se basa en modelos. Esto significa que si se agrega un nuevo usuario, el algoritmo es incapaz de modelarlo a menos que se vuelva a entrenar 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 manejar eficientemente a los nuevos usuarios o elementos y se deben implementar estrategias específicas para abordar esta desventaja. [ 12 ]
Una posible solución a este problema de arranque en frío consiste en modificar SVD++ para convertirlo en un algoritmo basado en modelos , lo que permitiría gestionar 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 otra manera. Los factores latentes del usuario representan la preferencia de ese usuario por los factores latentes del ítem correspondiente, por lo que los factores latentes del usuario pueden estimarse a través de las interacciones pasadas del usuario. Si el sistema puede recopilar algunas interacciones para el nuevo usuario, es posible estimar sus factores latentes. Cabe señalar que esto no resuelve completamente el problema del arranque en frío , ya que el recomendador aún requiere algunas interacciones confiables para los nuevos usuarios, pero al menos no hay necesidad de recalcular todo el modelo cada vez. Se ha demostrado que esta formulación es casi equivalente a un modelo SLIM, [ 13 ] que es un recomendador basado en un modelo ítem-ítem .
Con esta formulación, el recomendador de ítems equivalente seríaPor lo tanto, la matriz de similitud es simétrica.
SVD asimétrica
El SVD asimétrico busca combinar las ventajas del SVD++ siendo un algoritmo basado en modelos, lo que permite considerar nuevos usuarios con pocas calificaciones sin necesidad de reentrenar todo el modelo. A diferencia del SVD basado 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. [ 14 ]
La calificación prevista que el usuario u le dará al artículo i se calcula de la siguiente manera:
Con esta formulación, el recomendador de ítems equivalente seríaDado que las matrices Q y W son diferentes, la matriz de similitud es asimétrica, de ahí el nombre del modelo.
Enfermedad de pequeños vasos específica del grupo
Un SVD específico para grupos 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, cuando llega un nuevo usuario o elemento, podemos asignarle una etiqueta de grupo y aproximar su factor latente mediante 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 artículo i se calcula de la siguiente manera:
Aquíyrepresentan la etiqueta de grupo del usuario u y del elemento i , respectivamente, que son idénticas entre los miembros del mismo grupo. Y S y T son matrices de efectos de grupo. Por ejemplo, para un nuevo usuariocuyo factor latenteSi 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 aprovechar la creciente cantidad y variedad de datos de interacción y casos de uso disponibles. Los algoritmos híbridos de factorización matricial son capaces de fusionar interacciones explícitas e implícitas [ 15 ] o tanto contenido como datos colaborativos [ 16 ] [ 17 ] [ 18 ].
MF de aprendizaje profundo
En los últimos años se han propuesto varias técnicas neuronales y de aprendizaje profundo , algunas de las cuales generalizan los algoritmos tradicionales de factorización de matrices mediante una arquitectura neuronal no lineal. [ 19 ] Si bien el aprendizaje profundo se ha aplicado a muchos escenarios diferentes (conciencia del contexto, conciencia de la secuencia, etiquetado social, etc.), su efectividad real cuando se utiliza en un escenario simple de filtrado colaborativo se ha puesto en duda. El análisis sistemático de publicaciones que aplican métodos neuronales o de aprendizaje profundo al problema de recomendación top-k, publicadas en las principales conferencias (SIGIR, KDD, WWW, RecSys, IJCAI), ha demostrado que en promedio menos del 40% de los artículos son reproducibles, con tan solo un 14% en algunas conferencias. En total, los estudios identifican 26 artículos, de los cuales solo 12 pudieron reproducirse y 11 de ellos fueron superados por líneas base mucho más antiguas y simples debidamente ajustadas. Los artículos también destacan una serie de problemas potenciales en la investigación actual y hacen un llamado a mejorar las prácticas científicas en esa área. [ 20 ] [ 21 ] También se han detectado problemas similares en sistemas de recomendación conscientes de la secuencia. [ 22 ]
Véase también
Referencias
- ↑ Koren, Yehuda; Bell, Robert; Volinsky, Chris (agosto de 2009). "Técnicas de factorización matricial para sistemas de recomendación". Computer . 42 (8): 30– 37. Bibcode : 2009Compr..42h..30K . CiteSeerX 10.1.1.147.8295 . doi : 10.1109/MC.2009.263 . S2CID 58370896 .
- 1 2 3 Funk, Simon. "Actualización de Netflix: Prueba esto en casa" .
- ↑ ChenHung-Hsuan; ChenPu (2019-01-09). "Diferenciación de pesos de regularización: un mecanismo simple para aliviar el arranque en frío en sistemas de recomendación". ACM Transactions on Knowledge Discovery from Data . 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 regresión». 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 sistemas de recomendación: un análisis de los efectos de la precisión, la popularidad y la diversidad de ventas». Modelado, adaptación y personalización del usuario . Notas de clase en informática. Vol. 7899. Springer Berlin Heidelberg. pp. 25–37 . CiteSeerX 10.1.1.465.96 . doi : 10.1007/978-3-642-38844-6_3 . ISBN 978-3-642-38843-9.
- 1 2 Bi, Xuan; Qu, Annie; Wang, Junhui; Shen, Xiaotong (2017). "Un sistema de recomendación específico para grupos" . Journal of the American Statistical Association . 112 (519): 1344– 1353. doi : 10.1080/01621459.2016.1219261 . S2CID 125187672 .
- ↑ Zhu, Yunzhang; Shen, Xiaotong; Ye, Changqing (2016). "Predicción personalizada y búsqueda de escasez en modelos de factores latentes" (PDF) . Journal of the American Statistical Association . 111 (513): 241– 252. doi : 10.1080/01621459.2016.1219261 . S2CID 125187672 .
- ↑ Paterek, Arkadiusz (2007). "Mejora de la descomposición en valores singulares regularizada para el filtrado colaborativo" (PDF) . Actas de la Copa y Taller KDD .
- ↑ Cao, Jian; Hu, Hengkui; Luo, Tianyan; Wang, Jia; Huang, May; Wang, Karl; Wu, Zhonghai; Zhang, Xing (2015). Diseño e implementación distribuidos del algoritmo SVD++ para un sistema de recomendación personalizado de comercio electrónico . Communications in Computer and Information Science. Vol. 572. Springer Singapore. pp. 30–44 . doi : 10.1007/978-981-10-0421-6_4 . ISBN 978-981-10-0420-9.
- ↑ Jia, Yancheng (septiembre de 2014). "Preferencias de marca de los usuarios basadas 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 .
- ↑ Koren, Yehuda; Bell, Robert; Volinsky, Chris (agosto de 2009). "Técnicas de factorización matricial para sistemas de recomendación" (PDF) . Computer : 45.
- ↑ Kluver, Daniel; Konstan, Joseph A. (6 de octubre de 2014). «Evaluación del comportamiento de los sistemas de recomendación 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" . Neural Network World . 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 matricial probabilística kernelizada: aprovechamiento de grafos e información adicional». Actas de la Conferencia Internacional SIAM de 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 secundaria en la factorización matricial probabilística con procesos gaussianos 1003.4944". arXiv : 1003.4944 [ stat.ML ].
- ↑ Fang, Yi; Si, Luo (27 de octubre de 2011). «Cofactorización matricial para la recomendación con información complementaria enriquecida y retroalimentación implícita». Actas del 2.º 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 .
- ↑ He, Xiangnan; Liao, Lizi; Zhang, Hanwang; Nie, Liqiang; Hu, Xia; Chua, Tat-Seng (2017). "Filtrado colaborativo neuronal" . Actas de la 26.ª Conferencia Internacional sobre la World Wide Web . Comité Directivo de las Conferencias Internacionales sobre la World Wide Web. págs. 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 frente a factorización matricial: una revisión». Decimocuarta Conferencia ACM sobre Sistemas de Recomendación . págs. 240–248 . arXiv : 2005.09683 . doi : 10.1145/3383313.3412488 . ISBN 9781450375832.
- ↑ Dacrema; Ferrari (2021). "Un análisis problemático de la reproducibilidad y el progreso en la investigación de sistemas de recomendación". ACM Transactions on Information Systems . 39 (2): 39.2. arXiv : 1911.07698 . doi : 10.1145/3434185 . S2CID 208138060 .
- ↑ Ludewig, Malte; Mauro, Noemi; Latifi, Sara; Jannach, Dietmar (2019). "Comparación del rendimiento de enfoques neuronales y no neuronales para la recomendación basada en sesiones". Actas de la 13.ª Conferencia ACM sobre Sistemas de Recomendación . ACM. págs. 462–466 . doi : 10.1145/3298689.3347041 . ISBN 9781450362436.
- Inteligencia colectiva
- Sistemas de información
- Sistemas de recomendación