当前位置:首页 > 短视频综合 > 正文

你是如何沉迷在短视频里的?——简要剖析推荐算法中的协同过滤

2021-01-07 13:38:09 暂无评论 短视频综合


作者:稀饭


本文2350字,数理推导较少,泛读需6分钟,精读需15分钟



你是不是经常会被你男朋友的甜言蜜语和送的小礼物所打动?别担心,也许他只是根据你闺蜜的性格特点使用了协同过滤技巧。

 

熟悉我的人应该知道,我认可推荐算法的使用,反对推荐算法在资本加持下的滥用,因为推荐算法非常容易产生被动成瘾性,榨干你的时间和钱包。但今天这篇文章不去讨论推荐算法的使用是否符合道德,而是简要去给大家科普一下推荐算法中的经典操作 —— 协同过滤。

 

可能现在的抖音快手早已不局限于协同过滤这种简单的推荐算法,但协同过滤一直都是推荐算法的经典内容。简单来说,协同过滤就是基于某种规则,过滤掉你不感兴趣的内容,而留下你感兴趣的内容,最后把这些内容发给你就行了,朴素且枯燥。协同过滤会根据你过去的历史行为,分析你的兴趣点,并在其他人当中找到和你有类似兴趣的人,并综合你们之间的特点,找到可以推荐给你的内容,并根据喜好程度预测,根据评分从高到低将内容推送给你。

 

在没有短视频之前,协同过滤的使用往往常见于网络电商,比如亚马逊的网络书店,顾客在选购一本自己感兴趣的书籍的时候,往往会看到“购买此书的顾客也同时购买了XX”。

 

但协同过滤要和关联规则进行区别。在学习关联规则的时候,老师往往会讲一个“啤酒与尿布”的故事,用来说明超市货物的摆放利用了关联规则的方法。表面上看,协同过滤和关联规则都是发现某种规律,以实现“AB的概率绑定”,但它们之间仍然有区别,总结如下:



下面介绍协同过滤中常见的算法:

 

1基于用户的协同过滤

 

是最古老的推荐算法之一,该算法的诞生标志着推荐系统的产生。基于用户的协同过滤算法的思想极其简单,生活当中都经常使用。比如,当我们想看一部电视剧却不知道有什么电视剧可以看的时候,找到身边的好基友或者好闺蜜,问一问就行了。其原理就是“物以类聚、人以群分”,人们会倾向于从兴趣或类型相似的人那里得到推荐。

 

基于用户的协同过滤的推荐算法主要分两个步骤:

Step 1 找到和目标用户兴趣相似的用户集合;

Step 2 找到这个集合中用户喜欢且目标用户未涉及的物品推荐给目标用户。

 

基于用户的协同过滤算法的核心是所选择的用户集合规模。用户集合规模不能太大也不能太小,如果太小会导致推荐算法的准确率和召回率比较低;规模太大则会导致模型过拟合,越来越偏向于全局热门的产品,推荐结果对实际可能的覆盖率也就越低。

 

2基于物品的协同过滤

 

基于物品的协同过滤是另一种使用频率更高的推荐算法。它比基于用户的协同过滤更常用,常用的原因在于用户的数量远小于物品的数量,且物品的数据相对稳定,用户的兴趣变化更频繁。基于物品来计算相似度(协同过滤算法流程中的一个重要指标)不但计算量不大,且不需要频繁地更新。

 

基于物品的协同过滤也分两步骤进行:

Step 1 计算物品之间的相似度;

Step 2 将和用户喜欢的物品最相似且用户没有涉及的物品推荐给用户。

 

基于物品的协同过滤算法的核心参数是物品数量的规模,合适的规模对获得算法的最高精度结果非常重要,不能太大也不能太小。

 

在了解的最常见的两类协同过滤算法之后,可以继续了解一下它们各自的适用场景。基于用户的协同过滤,更适合“用户稳定性>物品稳定性”的场景,比如门户网站的新闻推荐(不知道今日头条会不会使用此类推荐算法),是因为新闻更新频率很快且相似性易变;基于物品的协同过滤,则更适合“物品稳定性>用户稳定性”的场景,比如电商的物品推荐,是因为电商中物品的数量远小于用户的数量,且物品更新慢于用户,相似性更稳定。

 

此外,近几年开始流行的矩阵分解技术也可以用于协同过滤。在矩阵分解可用的场景下,基于矩阵分解的协同过滤的效果一般要好于常见的基于用户、基于物品的协同过滤。但矩阵分解技术也有缺点,它的数学原理复杂度较高,模型的可解释性也不太行,不能很好地给协同过滤得出的结果一个好理解的解释。在一些对可解释性要求较高的推荐场景中,并不适合使用基于矩阵分解技术的协同过滤。

 

再介绍一下协同过滤算法的一些评估指标。协同过滤算法究竟能不能“让人沉迷”,其评估的本质是判断用户对推荐结果的“满意度”。常用的评价指标如下:

 

1误差率



2覆盖率



3多样性



除了上面3个最常见的协同过滤算法质量评价指标外,还有一些指标可以用于协同过滤算法的评价:

1新颖性。新颖的推荐是给用户推荐他们之间并没有听过的物品。判断新颖性比较简单的方法是观察推荐结果的平均流行度,因为越不热门的物品可能让用户越觉得新颖;

2信任度。同样的推荐结果,以用户信任的方式推荐给他们,就更能让他们产生足够的购买或使用的欲望。增加透明度可以增加用户对推荐结果的信任程度,其中最简单的办法就是提供推荐解释,让用户了解推荐系统的运行机制(但实际中很少看到有这样做的商家吧);

3惊喜度。如果推荐结果和用户以前的兴趣不怎么相似,但却让用户觉得比较满意,那么就可以说推荐结果的惊喜度比较高。惊喜度和新颖性是有区别的,因为推荐的新颖性仅仅取决于用户有没有了解过这个推荐结果。

 

总而言之,协同过滤作为最经典的推荐算法,在很多场景下有它使用的价值。我们可以使用协同过滤来完成很多推荐工作,便利人们的生活。但仍然要在文章末尾强调的是,推荐算法是涉及人性的东西,而且需要大量的个人信息,某些甚至属于隐私。资本的逐利性会放大推荐算法黑暗的一面,为攫取利润而服务。抵抗推荐算法的操控,除了之前在公众号里提出的“化被动为主动”的观点外,了解算法的运行机制,也有助于我们控制算法对人性弱点的利用,协同过滤就是最经典的一类推荐算法。虽然现在实际商业场景中的推荐算法远远没有这么简单,其内核往往都是基于协同过滤的原理进行改造。我们不需要深究协同过滤背后的数理知识,弄清楚它的运作原理,明白自己是如何被推荐算法所操控的,就有益于我们理性地看待这个充满推荐算法的世界




文章转载自微信公众号稀饭居然不在家

博客主人破茧短视频培训
破茧短视频为你分享抖音、快手等短视频平台的视频拍摄、剪辑和运营技巧,另有短视频培训学习教程,海量干货助你玩转短视频运营!。
  • 51952 文章总数
  • 4875991访问次数
  • 2205建站天数