1分钟了解协同过滤,pm都懂了

开发 开发工具
工程架构方向的程序员,看到推荐/搜索/广告等和算法相关的技术,心中或多或少有一丝胆怯。但认真研究之后,发现其实没有这么难。今天的1分钟系列,给大家介绍下推荐系统中的“协同过滤”。

工程架构方向的程序员,看到推荐/搜索/广告等和算法相关的技术,心中或多或少有一丝胆怯。但认真研究之后,发现其实没有这么难。

今天的1分钟系列,给大家介绍下推荐系统中的“协同过滤”,绝无任何公式,保证大伙弄懂。

什么是协同过滤(Collaborative Filtering)?

答:通过找到兴趣相投,或者有共同经验的群体,来向用户推荐感兴趣的信息。

举例,如何协同过滤,来对用户A进行电影推荐?

答:简要步骤如下

  • 找到用户A(user_id_1)的兴趣爱好
  • 找到与用户A(user_id_1)具有相同电影兴趣爱好的用户群体集合Set
  • 找到该群体喜欢的电影集合Set
  • 将这些电影Set推荐给用户A(user_id_1)

具体实施步骤如何?

答:简要步骤如下

(1)画一个大表格,横坐标是所有的movie_id,纵坐标所有的user_id,交叉处代表这个用户喜爱这部电影

如上表:

  • 横坐标,假设有10w部电影,所以横坐标有10w个movie_id,数据来源自数据库
  • 纵坐标,假设有100w个用户,所以纵坐标有100w个user_id,数据也来自数据库
  • 交叉处,“1”代表用户喜爱这部电影,数据来自日志

画外音:什么是“喜欢”,需要人为定义,例如浏览过,查找过,点赞过,反正日志里有这些数据

(2)找到用户A(user_id_1)的兴趣爱好

如上表,可以看到,用户A喜欢电影{m1, m2, m3}

(3)找到与用户A(user_id_1)具有相同电影兴趣爱好的用户群体集合Set

如上表,可以看到,喜欢{m1, m2, m3}的用户,除了u1,还有{u2, u3}

(4)找到该群体喜欢的电影集合Set

如上表,具备相同喜好的用户群里{u2, u3},还喜好的电影集合是{m4, m5}

画外音:“协同”就体现在这里。

(5)未来用户A(use_id_1)来访问网站时,要推荐电影{m4, m5}给ta。

【本文为51CTO专栏作者“58沈剑”原创稿件,转载请联系原作者】

戳这里,看该作者更多好文

责任编辑:赵宁宁 来源: 51CTO专栏
相关推荐

2018-03-23 11:46:49

基于内容的推荐职位推荐集群

2020-10-29 14:03:13

显示器接口CRT

2018-03-12 21:31:24

区块链

2018-03-23 11:56:09

相似性推荐推荐算法推荐

2018-03-12 14:37:50

区块链比特币架构

2017-02-22 14:46:04

Leader-Foll线程

2018-03-23 11:23:14

2021-11-15 12:45:44

协同过滤算法架构

2018-08-27 16:15:20

数据库MyISAMInnoDB

2020-06-28 07:30:00

推荐算法推荐系统

2009-11-05 14:53:54

Visual Stud

2018-05-06 16:26:03

关联规则数据分析关联规则推荐

2021-10-19 07:27:08

HTTP代理网络

2022-12-16 09:55:50

网络架构OSI

2023-09-07 23:52:50

Flink代码

2021-04-30 16:23:58

WebRTC实时音频

2020-10-13 18:22:58

DevOps工具开发

2017-07-06 08:12:02

索引查询SQL

2022-07-18 06:16:07

单点登录系统

2015-11-23 17:34:33

秒借
点赞
收藏

51CTO技术栈公众号