您的位置:首页 > 其它

推荐算法:基于领域的协同滤波

2016-06-06 12:43 330 查看

GroupLens: An Open Architecture for collaborative filtering

Amazon.com Rcommendations item-to-item Collaborative Filtering

本文主要

介绍了Amazon的item-to-item算法

相关研究:

传统的User-based方法存在计算消化大,扩展性差的缺点

传统的基于cluster的方法,存在准确度不够的缺点(通过细化用户群的画像,得到改善)

基于内容的过滤

提出了item-to-item的方法

(未详细展开介绍)

Item-based Collaborative Filtering Recommendation Algorithms

主要内容

分析和提出item-based的算法

研究背景

user-based算法的缺点,扩展性差,计算花费大

数据稀疏

item-based算法

符号

用户:U={u1,......,um}

物品:T={i1,......,in}

Iui:用户U的购买物品列表

相似度

(1)皮尔逊相似度

sim(i,j)=∑u∈U(Rui−R¯i)(Ruj−R¯j)∑u∈U(Rui−R¯i)2√∑u∈U(Ruj−R¯j)2√

Rui=用户u对物品i的评分

R¯i=物品i的平均分

(2) 修正的余弦相似度

sim(i,j)=∑u∈U(Rui−R¯u)(Ruj−R¯u)∑u∈U(Rui−R¯u)2√∑u∈U(Ruj−R¯u)2√

R¯u=用户u的平均打分

用户间的评分差异大于物品见得评分差异,所以item-based算法中,修正余弦相似度效果好。

预测计算

(1) 领域加权和

sim(i,j)表示物品i和物品j的相似度

Nu(i)=用户u已经评分,且和物品i的相似度最高的k个物品

Pui=∑j∈Nu(i)sim(i,j)Ruj∑j∈Nu(i)|sim(i,j)|

(2) 回归

结果

(1) 测试标准

MAE=∑Ni=1|pi−qi|N

(2)k的个数(30左右)

Item-based Top-N Recommendation Algorithms

基于item-based的相似度

// 减少了热门产品的影响

wij=|N(i)∩N(j)||N(i)||N(j)|√

|N(i)|是喜欢物品i的用户数

|N(i)∩N(j)| 是同时喜欢物品i和物品j的用户数

兴趣度的计算:用户u对物品j的兴趣度

puj=∑i∈N(u)∩S(j,k)wjirui

N(u)是用户喜欢的物品集合

S(j,K)是和物品j最相似的k个物品的集合

rui是u对i的兴趣(隐性数据集,如用户对物品有过行为,则rui=1)

Empirical Analysis of Predictive Algorithms for Collaborative Filtering

CF方法:

基于内存的算法:操作整个数据库,计算

基于模型的算法:学习一个模型,然后做预测

基于内存的算法

* 打分问题:

r̂ ui=∑j∈Nu(i)wijruj∑j∈Nu(i)|wij|

Nu(i)是u已经评分且和物品i相似的k个物品

相似度的计算:

基于皮尔逊系数(Person Correlation)

pc(i,j)=∑u∈Uij(rui−r¯i)(ruj−r¯j)∑u∈uij(rui−u¯r)2∑u∈uij(ruj−r¯j)2√

基于修正的余弦相似度

AC(i,j)=∑u∈uij(rui−r¯u)(ruj−r¯u)∑u∈uij(rui−r¯u)2∑u∈uij(ruj−r¯u)2√

其中:用户评分差距大于物品间评分差距,所以item-based中AC的方法效果好。

* 评分预测的模型改进

*不同用户具有不同的评分尺度,用h对评分标准化

r¯ui=h−1[∑j∈Nu(i)wijh(ruj)∑j∈Nu(i)|wij|]

均值中心化

z标准化(更优)

h(rui)=rui−r¯iσi(σu=1N∑Ni=1(xi−μ)2‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾√是物品评分的标准差)

=>

r¯ui=r¯u+σi∑j∈Nu(i)wij(rui−r¯j)/σj∑j∈Nu(i)|wij|

*IUF(反用户频率)

解决:用户活跃度对推荐算法的影响,活跃用户对相似度的影响应该小于不活跃的用户

λi=log|n||ni|

物品i被赋予权重λi, ni是给物品i打过分的用户u的数量

n 是用户的总数量

添加后的相似度:

AC(i,j)=∑u∈uijλi(rui−r¯u)(ruj−r¯u)∑u∈uijλi(rui−r¯u)2∑u∈uijλi(ruj−r¯u)2√

Top-N的推荐

步骤:

计算物品之间的相似度

根据相似度和用户历史行为生成推荐列表

相似度:

wij=|N(i)∩N(j)||N(i)||N(j)|√

|N(i)∩N(j)|是同时喜欢物品i和物品j的用户数

|N(i)|是喜欢物品i的用户数

兴趣度的计算

puj=∑i∈N(u)∩S(j,k)wjirui

N(u)是用户喜欢的物品的集合

s(j,k)是和物品j最相似的k个集合

rui是用户u对物品i的兴趣度(隐反馈数据,如果u对i有过行为,则认为是1)

隐数据集合无法打分标准化

物品相似度的归一化

在item-based方法中

w′ij=wijmaxjwij

=>增加准确度,提高覆盖率和多样性

IUF

wij=∑u∈N(i)∩N(j)1log1+|N(u)||N(i)||N(j)|√

Effective Missing Data Prediction for Collaborative Filtering

最主要的概念:singnificance weighting(重要性加权)

当只有少数评分用于计算的时候,会降低相似度的重要性

当两个人的共同评分的物品数 Tuv小于给定的参数 γ,相似度的权重会受到惩戒

w′ij=min{|uij|,γ}γ∗wij

γ>=25可以明显的提高准确率

Modeling Relationships at multiple scales to improve accuracy of large recommender systems

在模型的方法中待叙
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: