推荐系统

推荐系统应用

  • 广告推荐
  • 豆瓣电影推荐
  • 电商推荐

日常生活中的2种简单的推荐方法

  • 第一种就是非定制的推荐系统;
  • 第二种就是定制化的推荐系统。

非定制的推荐系统

简单来说就是,什么最热卖,什么关注的人多,就推荐你什么。

定制化推荐系统

 

协同过滤:(基于统计的算法)

目的:找相似,可以是找相似的人,也可以找相似的东西。

  • 比如,我们找到相似的一群人,我们就能用其中一些人喜欢的东西,推荐给另一个人;

  • 找相似的东西的,如果一个人喜欢一样东西,那么我再推荐她另一样东西,因为这两样东西很相似。

要实现协同过滤,需要的步骤?

1.收集用户的偏好

2.找到相似的用户或物品

3.计算推荐

用户和物品之间是如何建立关系的?

相似度计算:KNN

(1)欧几里得距离:

(2)皮尔逊相关系数

它是由两个变量的协方差除以两个变量的标准差得到的。 

(3)cosine相似性

 邻居的选择:

A.固定数量的邻居 

 5个

B.基于相似度门槛的邻居:

注:b方案比较好。

基于用户的协同过滤

  • 相似度计算最好使用皮尔逊相似度
  • 考虑共同打分物品的数目,如,乘上min(n,N)/N (n:共同打分数  N:指定阈值)
  • 对打分进行归一化处理
  • 设定一个相似度阈值

 

一个人也就买十几件商品,但是商品是上百万的。

基于物品的协同过滤:

 

基于物品的协同过滤优势:

·计算性能高,通常用户数量远大于物品数量。

·可以预先保留,物品并不善变。

用户冷启动问题:

 ·引导用户把自己的一些属性表达出来

·利用现有的开放数据平台

·根据用户注册属性

·推荐排行榜单

物品冷启动问题:

·文本分析(描述)

·主机模型

·打标签

·推荐排行榜单

隐语义模型 :

  • 从数据出发,进行个性化推荐
  • 用户和物品之间有隐含的联系
  • 隐含因子人理解有点费劲,让计算机理解就好。
  • 将用户和物品通过中介隐含因子联系起来

1、利用隐语义模型主要解决了以下问题

  • 分类的可靠性。分类来自对用户行为的统计,代表了用户对物品分类的看法。

  • 可控制分类的粒度。允许我们自己指定有多少个隐类。

  • 将一个物品多类化。通过统计用户行为来决定某物品在每个类中的权重。

2、通过举例理解隐语义模型

 

其中P矩阵是user-class矩阵,矩阵值Pij表示的是user i对class j的兴趣度;Q矩阵式class-item矩阵,矩阵值Qij表示的是item j在class i中的权重,权重越高越能作为该类的代表

ToyExample

 User-Item Matrix

è¿éåå¾çæè¿°

ToyExample的分解U、V

 Class-User Matrix

è¿éåå¾çæè¿°

 Class-Item Matrix

è¿éåå¾çæè¿°

 注意:每次得到的U、V可能有所不同,原因是初始值是随机的。

ToyExample的预测

 Predicted User-Item Matrix

 è¿éåå¾çæè¿°

3.隐语义模型定义: 

U用户,I物品

隐语义模型求解 

 

隐语义模型负样本选择: 

  • 对每个用户,要保证正负样本的平衡(数目相似)
  • 选取那些很热门,而用户却没有行为的用户
  • 对于用户--物品集K{(u,i)}其中如果(u,i)是正样本,则有rui = 1,负样本则rui = 0

隐语义模型参数选择:

  •  隐特征的个数F,通常F=100
  • 学习速率alpha,别太大
  • 正则化参数lambda,别太大
  • 负样本/正样本比例ratio

评估标准:

 

(真实值-预测值)除以所有的

协同过滤VS隐语义 

  • 原理:协同过滤基于统计,隐语义基于建模
  • 空间复杂度,隐语义模型较小 
  • 实时推荐依旧难,目前离线计算多

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值