离线计算方案改进:产生推荐列表时的歌曲相似度计算应累加,而非替换

缘由

上一次 离线计算失败了,简单说:我产生的推荐列表里没有我删除了原本用户收藏的歌曲。这是因为我单纯的以所有用户收藏的歌曲相似度来排序,只取前10个/20个/30个。考虑的太不全面了。详情请见博客:离线计算,验证推荐的准确性(失败)。

改进的方案

  1. 我可以结合相似用户和相似歌。对于一个用户首先找到相似用户,再把相似用户里面没有被目标用户收藏的歌选出来,作为集合A。再拿到这个用户收藏的歌曲的相似歌,排序作为集合B。A与B用户求交集,再排序。
  2. 利用标签,先抓获那一万首歌曲的标签,利用一下。我暂时没有观察到网站有针对用户的标签,针对歌曲的标签到很全面。我可以找出统计用户收藏歌曲的标签,看是否能总结出用户标签。
  3. 如果用户收藏的歌曲中,有两首歌,他们的相似歌重复了,那么我应该把那首重复的相似歌的相似度相加,而不是选择一个最高的替代。
  4. 本来这整套相似度计算方式就是针对电影的评分系统的。那么我也可以把用户是否收藏这首歌的概率视为0和1,也就是收藏了这首歌的概率为100%或者0%。如果我换一种方式,我来算算我删除了的歌,他们的概率是多少呢?这样,我针对每一个用户就换了一种方式,原来是说产生的推荐列表中会有多少首我删除了的歌,但是现在我来算算我删除了的歌的概率是多少,那么其实这个概率就是相似度。因为相似度最高的歌不证明用户不喜欢,也许用户只是暂时没发现呢?所以我就算算我删除了的歌的概率,先算每首歌的,再算个平均值。
  5. 算一下某一个用户收藏的歌曲的歌手和标签的熵,这样就可以知道这两个属性对歌曲的影响,有没有什么规律可循。
  6. 对那本推荐系统的大书中,所有出现music词的地方作一个总结。

改进歌曲相似度的计算方式

如改进方案中第三点所说: 如果用户收藏的歌曲中,有两首歌,他们的相似歌重复了,那么我应该把那首重复的相似歌的相似度相加,而不是选择一个最高的替代。

所以我现在立刻改进这一点,看是否对产生的结果有所影响。

改动 的代码:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值