推荐系统入门

一 论文/方法

1、paper:Amazon.com:Recommendations:Item-to-Item Collaborative Filtering(I to I)

文章归纳了2003年为止的3种推荐系统,并提出一种新的推荐系统

3种推荐系统对比
名称简介优劣点特点
协同过滤

1、比较用户与用户之间的相似程度。即:A = [Item0,0,……,0,Itemk],B = [Item0,1,……,0,Itemn],如果A和B的余弦值较大,认为A和B相似,维护一个usr to usr的矩阵。

2、排序item,指标为:多少相似的usr买了这款item并进行推荐。

随规模增加,伸缩性(Scalability)较差;

可以给用户推荐新产品,很难解释用户为什么喜欢产品。

每个向量×一个归一化系数:usr买了n件商品,系数为1/n
基于聚类   

1、无监督学习把用户分类成若干类。

2、第二步和上述协同过滤相同。

伸缩性强于前者;但如果需要好的表现,需要online数据,代价高昂。
基于路径如果A用户买了教父的DVD,会(根据作者、艺术家、导演等特征开始推理)把作者的其他作品推荐给他。在数据量小的时候表现好;但无法推测“下一个心头好”,只能推荐已经喜欢过的产品类型

作者提出的协同过滤是Item-to-Item的过滤。这种过滤依然是基于COS值,和前者协同过滤相比,这种协同过滤是把A = [usr1,usr2,0,0,0,0……,usrk],B = [usr0,1,0,0,……,usrn],相比用户,这个的向量长度是用户数目,低于协同过滤的向量长度(物品数量)。维护一个item to item的离线矩阵。

比如A产品和B产品相似,用户买过A产品,那么给用户推荐B产品。缺点:无法给用户推荐新产品。

2、KNN(K-nearest neighbor)协同过滤算法

                

3、Item - based  Collaborative Filtering Recommendation Algorithm

        文章提出两个指标,两个指标在现实场景中都具有真实的意义。

        Prediction-根据每个用户,对item的喜好程度,定义一个矩阵or向量。如,item = [0,4,2,1,....5] 代表usr0对其喜好程度为0,usr1对其喜好程度为4,以此类推。

        Recommendation-给每个用户推荐他尚未买过的K件商品。

        整个系统分两步骤:

        步骤一:计算item相似程度。给了3种计算方法:

                                

         法1:直接计算cos值。i和j向量代表所有usr在item_i和item_j的喜好程度,是个Rating score形成的向量。

 

         法2:Ru,i代表第u个用户在第i个产品的喜好程度。这其实也是个cos值的公式,但i向量是原i向量- avg(Ri),j向量是原j向量-avg(Rj)

 

        法3:仍然是cos值公式,i向量是原i向量- avg(Ru),j向量是原j向量-avg(Ru)

       步骤二:计算Prediction

        提供两种办法:

        法1:用户对第i个物品的Prediction计算方法为,(i物品和所有物品的相似程度*所有物品的Rating score)/(i和所有物品的相似程度)

         法1是一种加权计算方法,把其他物品的喜好程度按权重加分在本物品上。

        法2:是法1的改进,不再直接使用R_u,N,而是使用法2的公式对R_u,N进行线性回归后计算出数值。α和β是由rating向量确定的参数,e是错误率。

        步骤三:真实场景中的模型修正。对每个item,步骤1里similarity是找k个最相似的进行后续计算。

        个人思考:可以找K个最相似的,或者按某个阈值找若干个,或者由于数据的问题无法找到合适的推荐。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值