机器学习——推荐算法

推荐算法

推荐系统的核心问题是为用户推荐与其兴趣相似度比较高的商品。 此时需要一个函数f(x)来计算候选商品与用户之间的相似度,并向用户推荐相似度比较高的商品。为了能够预测出函数f(x),可以利用的历史数据主要有:用户的历史行为数据、与该用户相关的其他用户信息、商品之间的相似性、文本的描述等等。

假设集合C表示所有的用户,集合S表示所有需要推荐的商品。函数f表示商品x到用户
c之间的有效性的效用函数:

在这里插入图片描述

其中,R是一个全体的排序集合,对于每一个用户c∈C,希望从商品的集合中选择出商品,即s∈S,以使得应用函数f的值最大。

1 协同过滤算法

协同过滤算法是最基本的推荐算法,CF算法从用户的历史行为数据中挖掘出用户的兴趣,为用户推荐其感兴趣的项。 根据挖掘方法的不同,协同过滤算法可以分为基于用户的协同过滤算法和基于项的协同过滤算法。

1.1 算法概述

基于用户的协同过滤算法是基于一个这样的假设:跟你喜好相似的人喜欢的东西你也很有可能喜欢。所以基于用户的协同过滤的主要任务是找出用户的最近邻居,从而根据最近邻居的喜好做出未知项的评分预测。

  1. 用户评分:可以分为显性评分和隐性评分两种。显性评分就是直接给项目评分,隐性评分就是通过评价或者购买的行为给项目评分。
  2. 寻找最近邻居:这一步就是为了寻找与你距离最近的用户,测算距离一般采用三种算法,即皮尔森相关系数、余弦相似性和调整余弦相似性。
  3. 推荐:产生了最近邻居集合后,就根据这个集合对未知项进行评分预测。把评分最高的N个项推荐给用户。

这种算法存在性能上的瓶颈,当用户数越来越多的时候,寻找最近邻居的复杂度也会大幅度增加。因而这种算法不能满足即时推荐的要求,基于项的协同过滤就解决了这一问题。

基于项的协同过滤与基于用户的算法相似,只不过第二步改为计算项之间的相似度。由于项之间的相似度比较稳定,可以在线下进行,所以解决了基于用户的协调过滤存在的问题。

未完待续

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值