加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 正文

协同过滤算法:在抖音狂给1000个小姐姐点赞的事被老婆发现了!

发布时间:2020-03-20 08:13:09 所属栏目:创业 来源:做站长
导读:产品经理要不要懂技术?要的!本系列文章将从最简单的概念开始,逐步讲解推荐系统的发展历程和最新实践。以产品经理的视角,阐述推荐系统涉及的算法,技术和架构。本章是第二章,将系统性地通过图文的方式介绍协同过滤算法。 我有个兄弟,是抖音的点赞狂魔
副标题[/!--empirenews.page--]

产品经理要不要懂技术?要的!本系列文章将从最简单的概念开始,逐步讲解推荐系统的发展历程和最新实践。以产品经理的视角,阐述推荐系统涉及的算法,技术和架构。本章是第二章,将系统性地通过图文的方式介绍协同过滤算法。

协同过滤算法:在抖音狂给1000个小姐姐点赞的事被老婆发现了!

我有个兄弟,是抖音的点赞狂魔,他的点赞次数高达6924次,而且他大多数的赞都是给那些青春靓丽的小姐姐们,如下图。看他的抖音推荐内容,都是满目的小姐姐唱啊跳啊不亦乐乎,他也觉得甚爽。不过,好景不长,没多久他就跟我说:“我再也不敢再点了,我老婆已经发现我给小姐姐们点了上1000个赞,而且知道我点赞的视频,也会推荐给她”。

协同过滤算法:在抖音狂给1000个小姐姐点赞的事被老婆发现了!

把好友看过的视频推荐给用户,这就是协同过滤。准确地说,叫用户协同过滤(User Collaborative Filtering)。

一、协同过滤概述(Collaborative Filtering)

协同过滤(简称CF)是推荐系统最重要的思想之一。在早期,协同过滤几乎等同于推荐系统。协同过滤思想产生于1994年,被用于邮件系统上。2001年,亚马逊用协同过滤算法来推荐相似商品。

协同过滤的思想比较简单,主要有三种:

  1. 用户协同过滤(UserCF):相似的用户可能喜欢相同物品。如加了好友的两个用户,或者点击行为类似的用户被视为相似用户。如我兄弟和她的太太互加了抖音好友,他们两人各自喜欢的视频,可能会产生互相推荐。
  2. 物品协同过滤(ItemCF):相似的物品可能被同个用户喜欢。这个就是著名的世界杯期间沃尔玛尿布和啤酒的故事了。这里因为世界杯期间,奶爸要喝啤酒看球,又要带娃,啤酒和尿布同时被奶爸所需要,也就是相似商品,可以放在一起销售。
  3. 模型协同过滤:使用矩阵分解模型来学习用户和物品的协同过滤信息。一般这种协同过滤模型有:SVD,SVD++等。这种协同过滤要比前两个来得抽象些,这里先不解释,后面详述。

下面按照物品协同过滤,用户协同过滤和模型协同过滤的顺序,详细解释这几种算法。

二、物品协同过滤的计算

2003年,亚马逊发表了一篇论文,阐述了他们如何用物品协同过滤算法(Item-to-Item Collaborative Filtering),搭建他们“看了又看”功能。

如下图:

协同过滤算法:在抖音狂给1000个小姐姐点赞的事被老婆发现了!

这是17年前的截图,图跟纸质老照片那样变得斑驳。图中是在购物车关联页面的相关推荐。那么,这个协同过滤推荐是如何做计算出来的呢?

前面第一章说到,人工智能实践过程三个步骤:数据,学习和决策。这里也将用同样的步骤,以图书销售推荐为例,解释物品协同过滤的过程。为了简单化,假设某图书销售平台总共有6本书销售,有6个用户购买。

(1)数据

用户的评分数据,分值1-5分。每个用户对图书的评分如下图矩阵所示。

协同过滤算法:在抖音狂给1000个小姐姐点赞的事被老婆发现了!

(2)学习算法

前面说到ItemCF的定义是,相似的物品可能被同个用户喜欢。反过来讲,就是被同个用户喜欢的物品是相似商品。如上图中,图书1和图书2两本书,被用户A同时喜欢,这两本书具有相似性。而图书5和图书6,没有被同个用户同时喜欢,不具有相似性。

协同过滤算法:在抖音狂给1000个小姐姐点赞的事被老婆发现了!

如果用余弦相似度计算图书1和图书2的相似度,也叫做cosine距离,计算过程为:

协同过滤算法:在抖音狂给1000个小姐姐点赞的事被老婆发现了!

回想高中时候的课本我们就可以知道,上面的similarity计算公式,实际上就是计算书籍1的评分向量(4,5,4,0,0,0)和书籍2的评分向量(3,0,3,3,4,0)的 cos 夹角。

用同样的方式,可以算出图书1跟其他五本图书相似度分别为0.27, 0 .79,0.32,0.99和0。对每两本书计算完这个相似度后,就可以获得全部图书的相似矩阵。

协同过滤算法:在抖音狂给1000个小姐姐点赞的事被老婆发现了!

一个平台不仅仅有6本图书6个用户,我们再扩展到一般的情况。计算物品的相似度,实际是计算每两个物品评分向量的cosine距离,评分向量的每一维,代表了一个用户,下图中,表格的第一行代表了所有用户对物品A的评分。当有100万个用户时,也就是计算每两个100万维向量的距离。这样就导致计算量很大,而且很多平台不仅仅只有100万用户,因而这个低效的计算方式需要改进。

协同过滤算法:在抖音狂给1000个小姐姐点赞的事被老婆发现了!

(3)预测决策

有了评分矩阵之后,预测决策一般有两种场景。

一种是根据相似度排序推荐最近邻物品。类似于“看了还看”,“买了还买”场景。在这里的例子中,我们知道图书1和其他图书的相似度排序分别是图书5,图书3,图书4和图书2。当用户点击了图书1时,就可以按照相似顺序从高到低推荐。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读