当前位置:网站首页>论文解读——Factorization Meets the Neighborhood: a Multifaceted Collaborative Filtering Model
论文解读——Factorization Meets the Neighborhood: a Multifaceted Collaborative Filtering Model
2022-06-22 11:38:00 【百载文枢江左】
简介
本文是Koren在KDD08会议的文章,其核心思想主要是
- CF中的邻域模型和隐因子模型可以进行融合,得到更好的效果
- 隐性反馈可以被引入模型之中,达到更好的效果
主要内容
1 协同过滤CF不需要领域知识、不需要收集大量数据,并能发现一些复杂和意料之外的模型的优势,使其十分流行。
2 CF主要包括领域模型和隐因子模型,两者各有优缺点。领域模型由于重点关注最近的邻居,因而擅长于发现局部关系,但是难以捕捉数据集中全部的弱信号,而隐因子模型则能有效估计出大部分项目或所有项目的整体结构,但是不能发现一小部分项目间的强关联。
3 包括购买历史、浏览历史、搜索历史,甚至是鼠标移动,都可以用作隐性反馈加入到模型中。
4 模型方面,作者首先提出了Baseline算法,然后开始分领域模型和隐因子模型进行介绍。
5 邻域模型方面,作者首先介绍了和论文解读——Performance of Recommender Algorithms on Top-N Recommendation Tasks中一样的领域模型,该模型是基于领域思想的经典表达,只能直接根据数据进行计算,无法进行调整,同时没有考虑所有邻居,且当用户的评分很少时会失去作用,于是作者使用了一个插值因子 θ i j u \theta_{ij}^u θiju来解决这一问题,于是模型变成了
r ^ u i = b u i + ∑ j ∈ S k ( i ; u ) θ i j u ( r u j − b u j ) \hat r_{ui}=b_{ui}+ \sum_{j\in S^k(i;u)}\theta_{ij}^u(r_{uj}-b_{uj}) r^ui=bui+j∈Sk(i;u)∑θiju(ruj−buj),该模型详见。
在此模型上,再加入用户的隐式反馈便是作者在文中提出的领域模型,该模型可以使用优化模型或者最小二乘进行计算。
6 在隐因子模型方面,首先提出了Asymmetric-SVD即非对称SVD,非对称体现在使用项目特征来表示用户特征,
r ^ u i = b u i + q i T ( ∣ R ( u ) ∣ − 1 2 ∑ j ∈ R ( u ) ( r u j − b u j ) x j + ∣ N ( u ) ∣ − 1 2 ∑ j ∈ N ( u ) y j ) \hat{r}_{ui} = b_{ui} + q_i^T\left(\vert R(u) \vert ^{-\frac{1}{2}}\sum_{j\in R(u)}(r_{uj}-b_{uj})x_j+\vert N(u) \vert^{-\frac{1}{2}}\sum_{j\in N(u)}y_j\right) r^ui=bui+qiT⎝⎛∣R(u)∣−21j∈R(u)∑(ruj−buj)xj+∣N(u)∣−21j∈N(u)∑yj⎠⎞
常见的P向量被一些项目特征进行表示,故称为非对称,该模型的优点在于更少的参数(不需要训练P矩阵了)、不涉及到用户偏好故可以对新用户新用户推荐、可解释性(通过项目进行解释)和有效使用了隐性反馈。
后面加进了常见的P,那就是SVD++了,可以参考另一篇博文推荐系统surprise库教程。
7 作者将两个模型进行了融合,就是后两个评分预测公式融合了一下。
边栏推荐
- Struggle, programmer chapter 38 in the old days, when the road turned to the edge of the forest, I suddenly saw
- IO之ByteStream案例
- New progress in the construction of meituan's Flink based real-time data warehouse platform
- Redis - 10. Master slave replication
- Successful cases | an Chaoyun helped the second hospital of Lanzhou University build a new IT infrastructure platform to improve the utilization of medical information resources
- Summary of SQL injection bypass methods
- Markov chain, hidden Markov model
- IO buffered stream case
- Redis - 10、主从复制
- Noun analysis: ETL
猜你喜欢

New progress in the construction of meituan's Flink based real-time data warehouse platform

Matlab的KNN分類使用(附源碼),實現像素分類(自己設置訓練集比例),打印測試精度

Redis - 4、新的3种数据类型
![Exchange the nodes in the linked list in pairs [the principle of one-way linked list without chain]](/img/67/8e9f3c396a8f529a616964b69cc47f.png)
Exchange the nodes in the linked list in pairs [the principle of one-way linked list without chain]

Authenticated cookies, sessions, JWT

Differences between SPI and API

把蔚来告上法庭,奥迪急什么?

报错:unresolved variable $bus 及 “TypeError: Cannot read property ‘$on‘ of undefined“

Solution to 55e of Niuke challenge

《梦华录》成吸金王:广告主投500万排不上队,腾讯视频赢麻了?
随机推荐
传统零售加速向新零售演进升级,零售数字化势在必行
IO之Reader案例
求100-200之间全部的素数
Differences between SPI and API
Redis - 5. Jedis operation redis6
Redis - 11. Cluster
马尔可夫链(Markov Chain),隐马尔可夫模型
Overview of SAP marketing cloud functions (II)
MATLAB中cellstr函数的使用
【高频笔试题】513. 找树左下角的值
[an Xun cup 2019]iamthinking
In C # development, the third-party components lambdaparser, dynamicexpresso and z.expressions are used to dynamically parse / evaluate string expressions
CF736 D2
New progress in the construction of meituan's Flink based real-time data warehouse platform
Loot、USDT
云上人和物联科技加入龙蜥社区,携手打造软硬件服务生态
CF751 C. Optimal Insertion
Configure the GPU version of pytorch and torchvision, and learn the GPU version of torch step
Niuke challenge 53e problem solution & Notes on learning with flowers and trees
酷开电视adb