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


产品经理要不要懂技术?要的!本系列文章将从最简单的概念开始 , 逐步讲解推荐系统的发展历程和最新实践 。 以产品经理的视角 , 阐述推荐系统涉及的算法 , 技术和架构 。 本章是第二章 , 将系统性地通过图文的方式介绍协同过滤算法 。
「」协同过滤算法:在抖音狂给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个小姐姐点赞的事被老婆发现了


推荐阅读