惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Secure Thoughts
P
Privacy International News Feed
T
Tenable Blog
L
Lohrmann on Cybersecurity
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
Threat Research - Cisco Blogs
S
Securelist
C
CXSECURITY Database RSS Feed - CXSecurity.com
Cisco Talos Blog
Cisco Talos Blog
T
The Exploit Database - CXSecurity.com
S
Schneier on Security
P
Privacy & Cybersecurity Law Blog
Vercel News
Vercel News
Cyberwarzone
Cyberwarzone
月光博客
月光博客
T
The Blog of Author Tim Ferriss
Scott Helme
Scott Helme
爱范儿
爱范儿
Stack Overflow Blog
Stack Overflow Blog
C
Cisco Blogs
aimingoo的专栏
aimingoo的专栏
博客园 - 司徒正美
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
P
Proofpoint News Feed
A
Arctic Wolf
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
L
LangChain Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
阮一峰的网络日志
阮一峰的网络日志
Simon Willison's Weblog
Simon Willison's Weblog
T
Tor Project blog
Security Latest
Security Latest
Blog — PlanetScale
Blog — PlanetScale
G
GRAHAM CLULEY
V
Vulnerabilities – Threatpost
博客园 - 三生石上(FineUI控件)
I
InfoQ
Spread Privacy
Spread Privacy
B
Blog RSS Feed
Microsoft Azure Blog
Microsoft Azure Blog
S
SegmentFault 最新的问题
云风的 BLOG
云风的 BLOG
Last Week in AI
Last Week in AI
MongoDB | Blog
MongoDB | Blog
C
CERT Recently Published Vulnerability Notes
A
About on SuperTechFans
博客园_首页
Engineering at Meta
Engineering at Meta
Project Zero
Project Zero
Latest news
Latest news

博客园 - stardsd

AI for AI:Recursive Self Improvement(RSI) DRAM(High Bandwidth Memory)与HBM(Dynamic Random Access Memory) Daytona——为Agent提供可长期存在、可持续开发、可恢复状态的 Workspace Browserbase:AI Agent 的“云浏览器” Composio:AI Agent 的工具连接层 E2B介绍与示例 人工智能前沿研究报告 智能体攻防 计算语言学(computational linguistics) 状态空间模型(State Space Model, SSM) 神经符号集成(Neuro-Symbolic Integration) 动态计算分配(Dynamic Compute Allocation)技术:MoD 从LLM到SLM:小型语言模型 Claud Code 源码设计哲学总结 Claud Code源代码主提示词(prompts)中文版 REPL的实现以及Agent的REPL-Plan模式 LLM 大语言模型研究进展与趋势报告 DeepSeek DualPath 论文解读 Test Time Scaling (TTS) Web 4.0:Agentic Web CL-bench:上下文学习的评测 梅宏院士:符号主义与连接主义的结合应该成为下一代AI的发展方向 训推误差(training-inference mismatch)与重要性采样(Importance Sampling,IS) 如何设计GRPO系算法的reasoning reward + pair采样策略 GRPO(Group Relative Policy Optimization) 算法的演进脉络以及DAPO、VAPO、SRPO、GFPO的区别与联系 VLM评估体系指标对比:CIDEr vs CLIPScore vs GPT-based Eval CIDEr公式:多模态评价指标 VLM的视觉词汇表扩充(Vary:扩展大型视觉语言模型的视觉词汇量) CLIP视觉词汇表与Q-Former Agent Skill 解析 斯科特·佩奇(Scott E. Page)多样性预测定理(Diversity Prediction Theorem) AI合成数据、模型坍缩与数据焦虑问题:合成数据的扩展定律(Scaling Law)
TDM(Tree-based Deep Model,树模型)
stardsd · 2026-02-03 · via 博客园 - stardsd

从“直觉 → 结构 → 训练 → 推理 → 新 item 挂载”一步步来,用通俗语言 + 必要公式TDM(Tree-based Deep Model,树模型)彻底讲透。

一、结论

TDM 是一种把“海量 item 的多分类问题”,变成“在一棵树上逐层二分类/多分类”的算法,用树结构把计算复杂度从 O(N) 降到 O(log N)。

它解决的是一个非常现实的问题:

item 太多了,模型算不过来。

二、TDM 想解决什么问题?(动机)

假设你在做推荐系统:

  • item 数量:
    \( N = 10^6 \text{(100 万)} \)
  • 用户 u 来了,你要预测:
    \( P(i \mid u) \quad \forall i \in {1,\dots,N} \)

❌ 传统做法(不可行)

Softmax:

\( P(i \mid u) = \frac{e^{f(u,i)}}{\sum_{j=1}^N e^{f(u,j)}} \)

计算复杂度:

\( O(N) \)

👉 直接爆炸

三、TDM 的核心思想(一句话就懂)

别一次性在 100 万个 item 里选,先选“哪一大类”,再选“哪一小类”,最后选到具体 item。

这就是一棵树。

四、TDM 树长什么样?

1️⃣ 树结构

  • 每个 叶子节点 = 一个 item
  • 每个 非叶子节点 = 一组 item 的集合

例如:

               Root
          /               \
      Node A             Node B
     /       \           /       \
  item1    item2     Node C     item6
                      /   \
                  item3  item4

2️⃣ 树的数学表示

  • 树深度:(L)
  • 每个 item 对应一条路径:

\( \pi(i) = (n_0, n_1, \dots, n_L) \)

其中:

  • (n_0):根
  • (n_L):item 对应叶子

五、TDM 的概率分解(最关键的公式)

这是 TDM 的灵魂

传统目标:

\( P(i \mid u) \)

TDM 把它拆成:

\(P(i \mid u) = \prod_{l=1}^{L} P(n_l \mid u, n_{l-1})\)

解释人话版:

  • 用户 u

  • 从根开始

  • 每一层只判断:

    “在当前节点下,我该往哪个子节点走?”

对比一下复杂度

  • 原来:
    \( O(N) \)
  • 现在:
    \( O(L \cdot B) \approx O(\log N) \)

(B 是每层分支数)

六、每一层在干嘛?(模型结构)

在第 (l) 层:

  • 输入:

    • 用户向量$ ( \mathbf{u} )$
    • 当前节点向量 \(( \mathbf{v}*{n*{l-1}} )\)
  • 输出:

    • 子节点的概率分布

一个典型打分函数:

\( s(u, n) = \mathbf{u}^\top \mathbf{v}_n \)

Softmax(在兄弟节点内):

\(P(n_l \mid u, n_{l-1})=\frac{e^{s(u,n_l)}}{\sum_{c \in \text{Children}(n_{l-1})} e^{s(u,c)}}\)

👉 注意:
softmax 只在“兄弟节点”里算,不是全局。

七、TDM 是怎么训练的?

1️⃣ 训练数据

每条样本是:

\( (u, i) \)

但我们把它变成:

\( (u, \pi(i)) \)

也就是:

  • 用户
  • item 对应的整条树路径

2️⃣ Loss 函数(路径级)

\(\mathcal{L}= \sum_{l=1}^{L} \log P(n_l \mid u, n_{l-1})\)

直觉解释:

  • 每一层都要“走对”
  • 走错一层,item 就找不到了

3️⃣ 为什么训练稳定?

  • 每一层是 小 softmax
  • 梯度干净
  • 不会被百万 item 稀释

八、推理阶段(在线召回)

从根开始:

  1. 在 root 选 top-K 子节点
  2. 对每个子节点继续往下走
  3. Beam Search / 贪心

复杂度:

\( O(K \cdot L) \)

👉 非常适合在线服务。

九、新 item 怎么挂载?

“TDM 树里边新 item 挂载:找特征最相似的叶子节点路径,相当于给这个新 item 一个更合理的起点”

这句话 完全正确

新 item 挂载的做法

1️⃣ 先算 item embedding

\( \mathbf{e}_{new} \)

2️⃣ 从 root 开始找最相似路径

在第 (l) 层:

$n_l^*=\arg\max_{c \in \text{Children}(n_{l-1})} \mathbf{e}_{new}^\top \mathbf{v}_c $

3️⃣ 一直走到叶子

这条路径:

\( \pi(i_{new}) \)

就是新 item 的初始位置。

为什么这一步非常重要?

  • 冷启动 item:

    • 如果随机挂
    • 召回几乎为 0
  • 语义挂载:

    • 继承“相似 item 的流量路径”
    • 召回立刻可用

十、TDM vs 你熟悉的那些东西(统一视角)

NLP 扩词表 新 token 找相似 embedding 初始化 CLIP 视觉词汇 新视觉概念落到语义空间 Q-Former 从已有 token 中挑 TDM 在树结构里给新 item 找“合理位置”
场景 本质

一句话统一:

不要从随机点开始学习,要从“语义正确的位置”开始。

十一、一句话“面试 / 评审级总结”

你可以直接这么说:

TDM 将大规模 item 召回建模为树路径预测问题,通过概率分解把 O(N) 的分类复杂度降为 O(log N),并允许新 item 通过语义相似路径挂载,实现高效、可扩展的推荐召回。