我是靠谱客的博主 老实水蜜桃,最近开发中收集的这篇文章主要介绍机器学习第二篇----协同过滤,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

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

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

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

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

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

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

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

在这里插入图片描述

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

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

参考文献:

《推荐系统实战》

最后

以上就是老实水蜜桃为你收集整理的机器学习第二篇----协同过滤的全部内容,希望文章能够帮你解决机器学习第二篇----协同过滤所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部