推荐算法的基本理解

推荐算法的本质,是一个极其高效的信息过滤系统

个性化推荐算法,好比为每个人量身定制了一位信息「快递员」,能够更高效、更准确地把合适的信息推送到用户面前,从而满足不同用户千差万别的需求。


推荐算法的技术基础

graph LR subgraph INPUT [输入数据:三大维度] direction TB A["用户特征<br/>User Features<br/>(历史行为/画像)"] B["内容特征<br/>Item Features<br/>(视频类型/属性)"] C["环境特征<br/>Context<br/>(时间/地点/网络)"] end subgraph MODEL [推荐模型黑盒] D(("数学建模<br/>运算核心")) end subgraph OUTPUT [预测结果] E["预测概率<br/>Probability"] F{"用户行为<br/>Action?"} end A & B & C --> D D --> E E -->|概率高| F F -->|是| G[点击/点赞/转发] F -->|否| H[划走/忽略] style D fill:#f9f,stroke:#333,stroke-width:2px style INPUT fill:#e1f5fe,stroke:#01579b style OUTPUT fill:#fff9c4,stroke:#fbc02d

这张图展示了机器学习如何利用“三维数据”来预测“用户行为”

从技术视角来看,推荐算法的基础是机器学习和深度学习

机器学习是人工智能的核心技术之一。尽管其定义方式多种多样,但本质都可以归结为:
通过已有数据进行数学建模,挖掘数据中的规律,并在此基础上对未知数据进行预测。

推荐算法正是机器学习技术的重要应用领域之一,其核心目标是:
通过分析用户的行为数据,构建个性化的推荐模型。

这些行为通常包括但不限于:点击、浏览、点赞、评论、转发、收藏、观看时长等。

在实际系统中,推荐模型会综合以下三类信息进行预测:

  • 用户的历史行为
  • 内容(对象)的特征
  • 当前的上下文环境

从而判断:用户可能会对什么样的内容,产生什么样的行为。


一、早期推荐系统:协同过滤

graph TD subgraph Group1 [用户行为对比] UserA(小明 👦) UserB(小红 👧) end subgraph Videos [视频库] VA[视频 A] VB[视频 B] VC[视频 C] VD[视频 D] end %% 小明的行为 UserA -.->|看过| VA UserA -.->|看过| VB UserA -.->|看过| VC %% 小红的行为 UserB -.->|看过| VA UserB -.->|看过| VC UserB -.->|看过| VD %% 共同点 linkStyle 0,1,3,4 stroke:#999,stroke-width:2px; %% 推荐逻辑 Logic{发现两人都看过<br/>视频 A 和 C<br/>判定:兴趣相似} UserA & UserB --- Logic %% 推荐结果 Rec1[推荐给小明!] -->|因为小红看过| VD Rec2[推荐给小红!] -->|因为小明看过| VB Logic -.-> Rec1 Logic -.-> Rec2 Rec1 -.-> UserA Rec2 -.-> UserB style Logic fill:#ffccbc,stroke:#ff5722 style Rec1 fill:#c8e6c9,stroke:#388e3c style Rec2 fill:#c8e6c9,stroke:#388e3c

这张图用直观的线条展示“把相似的人喜欢的东西推荐给你”

最早期、也是最经典的推荐系统思想之一,是协同过滤

它的原理其实非常直观。
假设有如下场景:

  • 小明看了视频 A、B、C
  • 小红看了视频 A、C、D

系统发现:小明和小红都看过 A 和 C,于是认为他们的兴趣相似,那么可以推断:

  • 把视频 D 推荐给小明(因为兴趣相似的小红喜欢 D)
  • 把视频 B 推荐给小红(因为兴趣相似的小明喜欢 B)

这就是协同过滤的基本思想:
找到与你兴趣相似的用户,再把他们喜欢的内容推荐给你。

需要注意的是,在这个过程中,系统完全不需要理解视频的具体内容,只关心一件事:

“谁看过什么”

二、推荐算法的升级:神经网络

graph LR subgraph L1 [输入层 Input Layer] I1(爱看美剧) I2(喜欢猫) I3(晚上刷手机) end subgraph L2 [中间/隐藏层 Hidden Layer] direction TB H1((神经元 1)) H2((神经元 2)) H3((神经元 3)) Note[特征交叉与抽象<br/>喜欢猫+美剧 -> 喜欢欧美萌宠?] end subgraph L3 [输出层 Output Layer] O1(预测得分) end I1 & I2 & I3 --> H1 & H2 & H3 H1 & H2 & H3 --> O1 style L1 fill:#e3f2fd style L2 fill:#f3e5f5 style L3 fill:#e8f5e9 style Note fill:#fff,stroke-dasharray: 5 5

这张图展示从“原始特征”到“抽象理解”再到“输出”的过程

随着数据规模和业务复杂度的提升,传统方法逐渐遇到瓶颈,推荐系统开始引入神经网络和深度学习

深度学习的核心是人工神经网络,它模仿人类大脑的结构,由大量相互连接的“神经元”组成。

工作流程可以简化为三层结构:

1. 输入层

负责接收原始特征,例如:

  • 用户喜欢看美国电影
  • 用户喜欢猫
  • 用户常在晚上刷视频

2. 中间层(隐藏层)

对特征进行组合与抽象,例如:

  • 喜欢猫 → 可能也喜欢狗
  • 喜欢毛茸茸的动物 → 可能喜欢萌宠内容

3. 输出层

根据计算结果,输出最可能匹配用户兴趣的视频或内容。

神经网络的优势在于:
它不仅能记住“你喜欢什么”,还能学会“你为什么喜欢”。


三、抖音的 Wide & Deep 推荐模型

graph TD Input[原始特征输入] subgraph WidePath [Wide 部分:记忆] direction TB W1[特征直接连接] W2[记住明确规则<br/>例:看猫 -> 推猫] end subgraph DeepPath [Deep 部分:泛化] direction TB D1[Embedding 向量化] D2[深度神经网络 DNN] D3[挖掘潜在关联<br/>例:圆滚滚 -> 推小浣熊] end Input --> WidePath Input --> DeepPath Combine((加权融合)) WidePath --> Combine DeepPath --> Combine Final[最终推荐评分] Combine --> Final style WidePath fill:#fff3e0,stroke:#ff9800 style DeepPath fill:#e8eaf6,stroke:#3f51b5 style Combine fill:#ff5252,color:#fff

这是抖音推荐的核心逻辑图,左边负责“守旧”,右边负责“创新”。

抖音的主力推荐模型之一是 Wide & Deep 模型
可以把它理解为系统同时配备了两个“助手”,各司其职。

1. Wide 部分:记忆明确兴趣

Wide 模型就像一位了解你多年的老朋友:

  • 它清楚记得你所有明确、反复出现的兴趣
  • 例如:“这个用户特别爱看猫咪视频,而且几乎每次都会点赞”

因此,它会稳定、直接地向你推荐这类你明显偏好的内容。

2. Deep 部分:挖掘潜在兴趣

Deep 模型更像一位懂心理学的朋友:

  • 它不只看表面行为,而是分析行为背后的模式
  • 比如:

    虽然你从没看过小浣熊视频,但你喜欢的萌宠视频往往具有“圆滚滚、会洗东西”等特征

于是系统会推断:你可能也会喜欢小浣熊视频。

3. Wide + Deep 的结合

这两种方式结合在一起,使推荐系统既能:

  • 满足你明确、已知的兴趣
  • 又能不断挖掘和扩展你尚未意识到的潜在兴趣

这也是为什么抖音不会让你只看到同一类内容,而是能不断推荐出意料之外,却又恰好喜欢的视频


四、双塔召回模型:从海量视频中找到你喜欢的

graph TD subgraph LeftTower [左塔:用户塔 User Tower] U_Info["用户画像<br/>User Profile"] U_Net[深度网络处理] U_Vec["生成:用户向量<br/>User Embedding<br/>(你的数字身份证)"] end subgraph RightTower [右塔:内容塔 Item Tower] I_Info["视频特征<br/>Video Features"] I_Net[深度网络处理] I_Vec["生成:视频向量<br/>Item Embedding<br/>(视频的数字身份证)"] end U_Info --> U_Net --> U_Vec I_Info --> I_Net --> I_Vec Match{"计算相似度<br/>(向量内积)"} U_Vec --> Match I_Vec --> Match Result["Top N 候选集<br/>(从亿级视频中选出几百个)"] Match --> Result style LeftTower fill:#e0f7fa,stroke:#006064 style RightTower fill:#fce4ec,stroke:#880e4f style Match fill:#fff176,stroke:#f57f17,stroke-width:4px

展示海量视频如何通过“数字身份证”(向量)进行快速匹配。

抖音每天产生数以亿计的视频,系统需要在极短时间内找到你可能喜欢的内容。

这就用到了双塔召回模型,它可以理解为一个超高效的“内容速配系统”。

双塔模型的核心思想

模型中有两座“塔”:

  • 用户塔:分析你的兴趣与行为特征
  • 内容塔:分析每个视频的内容与属性特征

可以把它类比为:

  • 给你和每个视频都制作了一张特殊的“数字身份证”
  • 你的“身份证”记录了:

    • 兴趣偏好
    • 活跃时间
    • 互动习惯等
  • 视频的“身份证”记录了:

    • 内容类型
    • 风格特点
    • 主题属性等

系统会快速比较这些“数字身份证”,找出与你最匹配的视频。
(双塔模型实际上是,是同时训练的两个相似度embedding模型)

举个例子

如果你的“数字身份证”显示:

  • 经常点赞宠物视频
  • 喜欢在傍晚刷搞笑内容

系统就能在极短时间内,从上亿条视频中筛选出与你最匹配的几百个候选视频,再交给更精细的排序模型进行处理。

这也是为什么:
每次刷抖音,看到的内容往往都非常符合你的喜好。

其他平台

一、 快手:老铁经济与“去中心化”

如果说抖音是“内容为王”(谁拍得好看,就给谁流量),那么快手就是“关系为王”(谁和粉丝关系铁,就给谁流量)。

1. 核心差异:单列 vs 双列(虽然现在也有融合)

  • 抖音(沉浸式单列):你被动接收。系统拥有绝对的分发权。预测核心是:“你会在这个视频停留多久?”
  • 快手(双列选择模式):你需要主动点击封面。用户拥有选择权。预测核心是:“你会点开哪个封面?”(CTR 点击率权重极高)

2. 算法价值观:普惠与基尼系数

快手的流量分配引入了经济学中的“基尼系数”概念进行调控。

  • 抖音:头部效应强,Top 1% 的视频占据了 80% 的流量(爆款逻辑)。
  • 快手:强制压制头部流量,把流量分给长尾的中小创作者。

    • 推测逻辑:在召回阶段,快手会故意捞取一些“非爆款、但很真实”的视频,给予曝光机会。

3. 社交粘性

快手的 Deep 模型中,“关注关系”“评论互动”的权重比抖音高得多。

  • 推论:你在快手关注了一个人,系统会想尽办法把他的视频推给你(私域流量强);而在抖音,你关注了某人,如果他新发的视频质量差,你可能根本刷不到。

二、 小红书:搜索导向与“种草”逻辑

小红书的本质不是“娱乐”,而是“生活指南”。它的推荐算法具有极强的工具属性和长尾效应

1. 核心指标:CES 评分体系

小红书内部流传一个 CES 评分标准,这与抖音单纯看“完播率”不同:

  • C (Click):点击率(因为是双列瀑布流,封面图极其重要)。
  • E (Engagement):互动(点赞、评论)。
  • S (Save)收藏(这是小红书的命门)

    • 推测逻辑:在小红书算法中,“收藏”的权重可能等同于甚至高于“点赞”。因为收藏代表了“有用”、“种草”,是商业转化的前奏。

2. 视觉与搜索的强关联

小红书的推荐模型中,CV(计算机视觉)技术占比极重。

  • 视觉特征:系统会极度细致地分析图片风格(如:法式穿搭、极简装修、奶油风)。
  • 搜索词嵌入:你的搜索行为会直接且长效地影响推荐流。

    • 例子:你在抖音搜“装修”,可能刷两天就没了;在小红书搜“装修”,它会认为你正处于装修期,未来一个月都会给你推相关内容。

三、 微博:热点引爆与社交围观

微博是一个“广场舆论场”,它的推荐不仅仅是基于兴趣,更是基于时效性社交节点

1. 混合推荐机制

微博的 Feed 流是所有平台里最复杂的混合体:

  • 时间序:关注人的动态(虽然现在也被打乱了,但基础还在)。
  • 社交分发:你关注的大 V 转发了什么,你的朋友点赞了什么。
  • 兴趣推荐:基于你历史浏览的算法推荐。

2. 病毒式传播模型

微博的算法像病毒传染模型

  • 关键节点(Hubs):大 V、明星是超级传播节点。
  • 权重逻辑

    • 转发(Repost) > 评论 > 点赞
    • 转发意味着“我愿意把这个信息广播给我的粉丝”,这是微博舆论发酵的核心。
  • 时效衰减:微博对“新鲜度”极其敏感。Wide & Deep 模型中的“时间特征”权重极大,昨天的热点今天绝不会推(除非还在发酵)。

四、 知乎:知识权重与威尔逊区间

知乎是“问答社区”,它的算法必须解决一个问题:如何找出高质量的回答,而不是只是哗众取宠的回答?

1. 威尔逊得分(Wilson Score)

知乎的排序算法极其经典,它不是简单的“赞同数 - 反对数”。

  • 它引入了威尔逊区间算法来修正数据。
  • 原理:只有 10 个人点赞且 100% 好评的回答,排名可能不如 10000 人点赞但只有 90% 好评的回答。它在平衡“赞同比例”和“样本数量”。

2. 长尾与“挖坟”机制

  • 抖音:视频生命周期通常只有 24-48 小时。
  • 知乎:生命周期以“年”为单位。
  • 推测逻辑:知乎的召回模型中,“搜索匹配度”“内容获得感”是核心。只要这个问题有人搜,五年前的高赞回答依然会排在第一位。

3. 用户权重(User Rank)

知乎非常看重“谁在点赞”

  • 专业领域的回答,如果被该领域的“优秀回答者”点赞,权重会加倍。这是一个基于权威度的加权算法,防止小白用户把错误的回答顶上去。

📱 各大主流平台推荐算法核心对比表

平台核心逻辑 (算法价值观)流量分配机制关键考核指标 (北极星指标)内容生命周期形象比喻
🎵 抖音内容为王
算法拥有绝对分发权
中心化 (爆款逻辑)
Top 1% 内容占据 80% 流量,强者恒强。
完播率、停留时长
其次是点赞、复播。
短 (24-48小时)
像快餐,追求即时刺激。
📺 私人定制电视
“猜你喜欢,让你停不下来”
📹 快手关系为王
重视人与人的连接
去中心化 (普惠逻辑)
引入基尼系数,强制分给中长尾用户流量。
互动率、关注转化
评论区氛围权重很高。
中等
老铁关系越铁,内容活得越久。
🏘️ 熟人社区
“老铁双击666,大家都是朋友”
📕 小红书有用性 + 审美
种草与生活方式
搜索 + 发现
视觉特征(CV)权重极高,长尾效应明显。
收藏 (Save)
其次是截图、搜索。属于 CES 评分体系。
长 (数月甚至更久)
具有极强的工具属性,随时会被搜到。
🛍️ 精致橱窗 / 指南
“标记我的生活,给你种草”
📢 微博热点 + 社交
舆论场的爆发力
时效性 + 社交裂变
大V节点传播,时间衰减极快。
转发 (Repost)
转发意味着愿意传播,是热搜的关键。
极短 (数小时)
除了吃瓜,很少有人翻昨天的微博。
广场上的大喇叭
“随时随地发现新鲜事”
🎓 知乎专业度 + 获得感
知识的沉淀
权威加权 + 搜索
高权重用户点赞更管用,防止劣币驱逐良币。
威尔逊得分
(赞同票比例 vs 样本数),而非单纯看绝对值。
超长 (以年为单位)
优质回答像书一样,越久越香。
📚 图书馆
“有问题,就会有答案”

💡 核心洞察总结

  1. 抖音 vs 快手

    • 抖音是把视频推给人(看视频本身);
    • 快手是把人推给人(看视频背后的创作者)。
    • 结果:抖音粉丝不值钱(有千万粉丝也可能没流量),快手粉丝很值钱(私域粘性强)。
  2. 小红书的特殊性

    • 其他平台怕你截图(截了图就不看App了),小红书喜欢你截图(说明内容真的有用)。
    • 它的算法核心在于“存留价值”,而非“瞬间快感”。
  3. 知乎的护城河

    • 只有知乎的算法敢让“点赞数少”的内容排在“点赞数多”的前面(基于赞同比例和反对票),这是为了保证专业性和客观性,对抗情绪化宣泄。

总结

算法没有秘密,秘密在于权重参数的调整

  • 想让用户杀时间,就学抖音(重完播)。
  • 想建立社区信任,就学快手(重关系)。
  • 想做导购转化,就学小红书(重收藏)。
  • 想做舆论爆发,就学微博(重转发)。
  • 想做沉淀价值,就学知乎(重赞同比例)。