推荐系统实践 - 03利用用户注册信息

–未经授权,禁止转载–

1 冷启动问题

冷启动问题(cold start):在没有大量用户数据的情况下设计推荐系统并让用户对推荐结果满意

冷启动问题分类:

  • 用户冷启动:如何给新用户做个性化推荐
  • 物品冷启动:如何将新物品推荐给用户
  • 系统冷启动:如何在新开发的网站上设计推荐系统

冷启动问题解决方案:

  • 非个性化的推荐。如热门排行榜。从而积累用户行为数据
  • 利用用户注册信息。如性别、年龄等数据做粗粒度推荐
  • 利用用户社交网络信息。通过用户在社交网站上好友的信息做推荐(需要授权)
  • 利用用户反馈。通过在登陆时收集用户对一些物品的兴趣信息,推荐相似物品
  • 利用物品内容信息。对于新物品,推荐给相似物品的用户
  • 利用专家标注。通过高效方法建立物品的相关度表。

2 利用用户注册信息

用户注册信息分为:

  • 人口统计学信息。如年龄、性别、职业、民族、学历、居住地等
  • 用户兴趣描述。以问卷、选项等方式收集用户兴趣描述
  • 其他网站导入行为数据。在授权情况下获取用户在豆瓣、微博等社交网络上的行为数据。

本节主要介绍从人口统计学信息做粗粒度推荐。推荐过程如下:
    获取用户注册信息,根据用户注册信息对用户进行分类,给用户推荐他所属分类中用户喜欢的物品。同时,可以考虑组合特征,如性别年龄作为一个特征,或性别职业作为一个特征。(需要注意用户是否都具备相应的特征,如职业是否必填。)
    如,给一位28岁的男性医生推荐电视剧。则查询性别-电视剧相关表、年龄-电视剧相关表、职业-电视剧相关表,分别查询男性最喜欢的电视剧、28岁用户最喜欢的电视剧、医生最喜欢的电视剧。将三张列表按照一定的权重相加,得到最终列表。

基于用户注册信息的推荐算法核心是计算每种特征的用户对物品的喜好程度(喜欢的物品列表的量化)。 p ( f , i ) p(f, i) p(f,i)定义为物品 i i i在具有特征f的用户中的热门程度。 N ( i ) N(i) N(i)表示喜欢物品i的用户集合, U ( f ) U(f) U(f)表示具有特征f的用户集合。 p ( f , i ) p(f, i) p(f,i)公式如下:
p ( f , i ) = ∣ N ( i ) ∩ U ( f ) ∣ p(f, i)=|N(i)\cap{}U(f)| p(f,i)=N(i)U(f)

但是,如果物品i是热门商品,那么 p ( f , i ) p(f,i) p(f,i)就会趋近于 U ( f ) U(f) U(f) p ( f , i ) p(f,i) p(f,i)较高。而给用户推荐热门物品并不是推荐系统的主要任务。推荐系统应该推荐用户不容易发现的物品。基于此,可以将 p ( f , i ) p(f, i) p(f,i)定义为喜欢物品i的用户中,具有特征f的比例。公式如下:
p ( f , i ) = ∣ N ( i ) ∩ U ( f ) ∣ ∣ N ( i ) ∣ + α p(f, i)=\frac{|N(i)\cap{}U(f)|}{|N(i)|+\alpha} p(f,i)=N(i)+αN(i)U(f)

其中,参数 α \alpha α的目的是解决数据稀疏问题,比如说物品i只被1个用户喜欢过,且这个用户属于特征 f f f,则 p ( f , i ) = 1 p(f, i)=1 p(f,i)=1。但是推荐该物品意义不大,因此在分母加一个比较大的数,避免上述情况产生较大权重。

3 利用用户对物品的反馈信息

基于收集用户对物品的评分来进行冷启动的算法,核心问题是如何选择让用户进行反馈的物品。
启动用户兴趣的物品需要具备的特征:

  • 热门。要选择用户知道的物品让用户进行反馈
  • 具有代表性和区分性加粗样式。不能选择大众化或老少咸宜的物品,要选择能够区分用户个性化兴趣的物品。
  • 具有多样性。为了匹配多样的兴趣,需要提供有较高覆盖率的物品集合

利用反馈信息进行冷启动的算法原理:首先在所有用户中找出最具区分度的物品i,将用户分为三类:喜欢物品i的用户,不喜欢物品i的用户和不知道物品i的用户(即没有对物品i评分的用户)。然后在每类用户中再找到最具区分度的物品,将用户分为九类。一直继续下去,最终通过用户对一系列物品的看法将用户分类。

喜欢物品A和不喜欢物品A的用户对其他物品的喜好越不一致,那就说明物品A的区分度越大。比如物品A很具区分度,即喜欢A的用户对其他物品的打分比较相近(如对香菜的评分都接近1);不喜欢A的用户对其他物品的打分也比较相近(如对香菜的评分都接近0)。这时候喜欢A和不喜欢A的用户对其他物品(香菜)打分的方差都很接近0,说明喜欢A和不喜欢A的这两类用户的喜好不一致,很容易进一步判断这两类用户的喜好。如果是区分度不高的物品,对其他物品打分可能有高有低,则群体的喜好差异不明显。(这里我的思路有点乱,欢迎讨论)

区分度公式:令 σ u ∈ N + ( i ) \sigma_{u\in{N^{+}(i)}} σuN+(i)为喜欢物品i的用户对其他物品评分的方差, σ u ∈ N − ( i ) \sigma_{u\in{N^{-}(i)}} σuN(i)为不喜欢物品i的用户对其他物品评分的方差, σ u ∈ N ‾ ( i ) \sigma_{u\in{\overline{N}(i)}} σuN(i)为没有对物品i评分的用户对其他物品评分的方差。可以通过下面的公式度量物品的区分度 D ( i ) D(i) D(i)。:
D ( i ) = σ u ∈ N + (

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值