
懂你的推荐算法,推荐逻辑是怎样的?
作为一个喜欢思考人生的美男子,我时常感慨,现在这个年代,人们上网获取信息的成本真的好低。智能手机,人手一台,打开3G就能上网,百度一搜,什 么都有。当然百度上搜出来的大多数可能并不是你想要的,但这并不妨碍上面的论点成立。也正是因为成本太低,人们反而不愿意主动取获取信息,于是各种各样的 推荐系统有了大展身手的机会。
推荐在生活中是一个再平常不过的事情,你失业了,有人会给你推荐工作,你失恋了,有人会给你推荐姑娘。但是在我们这个机器远没有人类聪明的时代,这 些事情要是交给机器去做,你就得设计出一套机器能理解的算法出来,这就是所谓的推荐算法。大家看到算法两个字不要慌,以为我又要搬一个大东西出来吓唬人。 你可以把算法看做现实生活中的办事流程,它规定了你第一步干什么,第二步干什么,只要你按它说的做,就可以把事情办好。举个例子,你现在要做一个电影推荐 APP,我们来看下整个过程是怎样的。
在推荐算法中,我们第一步要有一大堆要推荐的东西。也就是说,你的电影首先要足够多,才能满足不同用户的需求。算法再精准,最后发现推导出来的结 果,在你的数据库中并没有,就悲剧了。第二步是要有用户的行为数据。这个也是越多越详细越好。这时候你要把看了哪部电影,看完没有,评价怎么样悄悄的记下 来,上传到后台服务器。经过长期的积累,这些数据将为你以后的精准推荐奠定基础。
有了上面的数据基础,我们就可以进入正题了。推荐算法有不少,我们今天介绍一种最基本的叫做协同过滤算法。它的核心思想是物以类聚,人以群分。具体 可以分为基于用户的协同过滤算法和基于物品的协同过滤算法。我一直觉得专业领域起这种高大上的名字,是用来过滤智商的,因为很多人看到这里就不打算往下看 了,哈哈。
先看第一种基于用户的协同过滤。可以简单理解为我虽然不认识你,但是我通过查看你的朋友圈都是些什么人,根据人以群分的道理,他们喜欢的很可能就是你喜欢的。
假设从历史数据上来看,用户A喜欢《捉妖记》、《大圣归来》,用户B喜欢《栀子花开》、《小时代》,用户C喜欢《捉妖记》。那我们就可以简单认为 AC二人口味相似,可以归到一个朋友圈里,C极有可能也喜欢A所喜欢的《大圣归来》。这是最简单的情况,实际上仅仅用喜不喜欢来评价感兴趣程度是远远不够 的,用户不可能看完还填个调查表选择yes or no,但是会通过一些其他行为比如影评、是否收藏来反应他们的喜欢程度。机器只能理解量化的东西,所以在算法中,这些行为会转化成相应的分数。比如完整看 完的,给3分;看完还给了正面评价的,给5分;看到一半就怒删的,给负10分。这样每个用户都会有一个电影评分表,在计算两个用户相似度的时候,把这些数 据代入下面这种专门计算相似度的公式,就能得到二人口味的相似程度。
现在我们要给用户D推荐电影,分别计算AD、BD、CD的相似度,找到跟D最相似的用户,然后把他喜欢的,都推荐给D,就行了。(下面的公式叫做余弦相似度公式,通过计算n维空间中两个向量的夹角余弦,来表示相似度,大家感受一下就好,感兴趣的可以去问google。)
第二种是基于物品的协同过滤。基本思想是假设甲乙是相似的物品,那么喜欢甲的人,很可能也喜欢乙。还是上面的例子,现在假设用户E喜欢《栀子花开》 和《小时代》,那我们可以推导出,喜欢《栀子花开》的用户(B和E)都喜欢《小时代》,那基本可以确定两部电影是相似的,下回来个用户F,他喜欢《栀子花 开》,那我顺便就把《小时代》推荐给他,他可能比较容易接受。
大家可能要问,我的APP第一天上线,没有这些所谓的用户行为数据怎么推荐啊。这就是推荐算法面临的冷启动问题。这时候可以用基于内容的算法了。你 可以事先把所有电影归个类,战争片归到一起,喜剧片归到一起,动画片归到一起。用户H看了一部喜剧片,你就把所有喜剧片推荐给他。显而易见,这种算法简单 粗暴,当然命中率也最低。
真正的推荐系统会综合运用各种算法,加之机器学习和人工调优的不断改进,所以是非常复杂的。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
R 语言:数据科学与科研领域的核心工具及优势解析 一、引言 在数据驱动决策的时代,无论是科研人员验证实验假设(如前文中的 T ...
2025-09-08T 检验在假设检验中的应用与实践 一、引言 在科研数据分析、医学实验验证、经济指标对比等领域,常常需要判断 “样本间的差异是 ...
2025-09-08在商业竞争日益激烈的当下,“用数据说话” 已从企业的 “加分项” 变为 “生存必需”。然而,零散的数据分析无法持续为业务赋能 ...
2025-09-08随机森林算法的核心特点:原理、优势与应用解析 在机器学习领域,随机森林(Random Forest)作为集成学习(Ensemble Learning) ...
2025-09-05Excel 区域名定义:从基础到进阶的高效应用指南 在 Excel 数据处理中,频繁引用单元格区域(如A2:A100、B3:D20)不仅容易出错, ...
2025-09-05CDA 数据分析师:以六大分析方法构建数据驱动业务的核心能力 在数据驱动决策成为企业共识的当下,CDA(Certified Data Analyst) ...
2025-09-05SQL 日期截取:从基础方法到业务实战的全维度解析 在数据处理与业务分析中,日期数据是连接 “业务行为” 与 “时间维度” 的核 ...
2025-09-04在卷积神经网络(CNN)的发展历程中,解决 “梯度消失”“特征复用不足”“模型参数冗余” 一直是核心命题。2017 年提出的密集连 ...
2025-09-04CDA 数据分析师:驾驭数据范式,释放数据价值 在数字化转型浪潮席卷全球的当下,数据已成为企业核心生产要素。而 CDA(Certified ...
2025-09-04K-Means 聚类:无监督学习中数据分群的核心算法 在数据分析领域,当我们面对海量无标签数据(如用户行为记录、商品属性数据、图 ...
2025-09-03特征值、特征向量与主成分:数据降维背后的线性代数逻辑 在机器学习、数据分析与信号处理领域,“降维” 是破解高维数据复杂性的 ...
2025-09-03CDA 数据分析师与数据分析:解锁数据价值的关键 在数字经济高速发展的今天,数据已成为企业核心资产与社会发展的重要驱动力。无 ...
2025-09-03解析 loss.backward ():深度学习中梯度汇总与同步的自动触发核心 在深度学习模型训练流程中,loss.backward()是连接 “前向计算 ...
2025-09-02要解答 “画 K-S 图时横轴是等距还是等频” 的问题,需先明确 K-S 图的核心用途(检验样本分布与理论分布的一致性),再结合横轴 ...
2025-09-02CDA 数据分析师:助力企业破解数据需求与数据分析需求难题 在数字化浪潮席卷全球的当下,数据已成为企业核心战略资产。无论是市 ...
2025-09-02Power BI 度量值实战:基于每月收入与税金占比计算累计税金分摊金额 在企业财务分析中,税金分摊是成本核算与利润统计的核心环节 ...
2025-09-01巧用 ALTER TABLE rent ADD INDEX:租房系统数据库性能优化实践 在租房管理系统中,rent表是核心业务表之一,通常存储租赁订单信 ...
2025-09-01CDA 数据分析师:企业数字化转型的核心引擎 —— 从能力落地到价值跃迁 当数字化转型从 “选择题” 变为企业生存的 “必答题”, ...
2025-09-01数据清洗工具全景指南:从入门到进阶的实操路径 在数据驱动决策的链条中,“数据清洗” 是决定后续分析与建模有效性的 “第一道 ...
2025-08-29机器学习中的参数优化:以预测结果为核心的闭环调优路径 在机器学习模型落地中,“参数” 是连接 “数据” 与 “预测结果” 的关 ...
2025-08-29