机器学习第二篇----协同过滤

中秋假期期间,又一次拜读了《推荐系统实战》一书,把一些收获分享给大家。

提到推荐系统,就不得不提“协同过滤” :

协同过滤简单来说是利用某兴趣相投、拥有共同经验之群体的喜好来推荐用户感兴趣的信息,个人通过合作的机制给予信息相当程度的回应(如评分)并记录下来以达到过滤的目的进而帮助别人筛选信息,回应不一定局限于特别感兴趣的,特别不感兴趣信息的纪录也相当重要。(来自百度百科)。

上述解释再通俗一点来讲,就是大家齐心协力过滤出来最合适的物品(社交就是人)推荐给最有意向的人。

推荐系统中最常用的算法是“基于邻域的协同过滤算法”,基于邻域的算法分为两大类,一类是基于用户的协同过滤算法,另一类是 基于物品的协同过滤算法。

  1. 基于用户的协同过滤算法(userCF)
    基于用户的协同过滤算法主要包括两个步骤。
    (1) 找到和目标用户兴趣相似的用户集合。
    (2) 找到这个集合中的用户喜欢的,且目标用户没有听说过的物品推荐给目标用户。
    步骤1中相似用户的计算涉及到相似度的计算,其中相似度最基本的算法是余玄相似度(很多情况下是最基础最好用的),需要对用户的各个指标向量化(特征向量化是最麻烦的,首先需要选特征,这就和业务密切相关,其次需要分清特征的主次),然后计算相似度。
    计算相似度的算法还有其他的算法,比如基于位置的曼哈顿距离,还有杰卡得(Jaccard)距离等等,计算距离公式的选取,往往会根据业务来确定,公式选取会直接影响推荐结果
    步骤二中,需要计算相似用户和被推荐用户的差集

  2. 基于物品的协同过滤算法(itemCF)
    基于物品的协同过滤算法主要分为两步。
    (1) 计算物品之间的相似度。
    (2) 根据物品的相似度和用户的历史行为给用户生成推荐列表。

步骤一中的相似度的计算使用如下公式

在这里插入图片描述

这个公式惩罚了物品j的权重,如果物品j很热门,很多人都喜欢,
那么Wij就会很大,接近1,因此这个公式减轻了热门物品会和很多物品相似的可能性

  1. 两种算法的比较
    在这里插入图片描述

参考文献:

《推荐系统实战》

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值