4、层级结构建模:树形层级、DAG层级、层级先验的数学表达
在层级预测任务中,数据稀疏问题往往伴随着层级结构的非均匀分布。本章聚焦于如何将层级结构转化为可计算的数学模型,涵盖树形层级、有向无环图(DAG)层级以及层级先验的数学表达,为后续的调和权重学习奠定结构基础。
4.1 树形层级结构建模
树形层级是最常见的层级结构,每个节点有且仅有一个父节点,形成严格的层次关系。在数学上,树形层级可以用以下方式表达:
- 节点集合:\( \mathcal{V} = \{v_1, v_2, \dots, v_n\} \),其中根节点 \( v_0 \) 代表最粗粒度类别。
- 边集合:\( \mathcal{E} \subseteq \mathcal{V} \times \mathcal{V} \),表示父子关系,满足 \( |\text{parent}(v)| = 1 \) 对除根节点外的所有节点成立。
- 层级深度:\( d(v) \) 表示从根节点到节点 \( v \) 的路径长度,根节点深度为 0。
关键性质:树形层级满足唯一路径约束,即任意两个节点之间的路径是唯一的。这一性质使得概率传播和误差回溯具有确定性的计算顺序。
在调和权重学习中,树形层级通常通过层级编码矩阵 \( \mathbf{H} \in \{0,1\}^{L \times N} \) 来表示,其中 \( L \) 为层级数,\( N \) 为叶子节点数。矩阵元素 \( h_{l,i} = 1 \) 表示叶子节点 \( i \) 属于第 \( l \) 层对应的父节点。
| 层级深度 | 节点类型 | 数学表示 | 典型应用 |
|---|---|---|---|
| 0 | 根节点 | \( v_0 \) | 全部类别 |
| 1 | 中间节点 | \( v_{1,1}, v_{1,2}, \dots \) | 大类划分 |
| 2 | 叶子节点 | \( v_{2,1}, v_{2,2}, \dots \) | 细粒度类别 |
4.2 DAG层级结构建模
有向无环图(DAG)层级允许一个节点拥有多个父节点,适用于多标签分类、多层级归属等复杂场景。DAG层级的数学表达比树形更灵活:
- 节点集合:\( \mathcal{V} = \{v_1, v_2, \dots, v_n\} \),无根节点限制。
- 有向边集合:\( \mathcal{E} \subseteq \mathcal{V} \times \mathcal{V} \),表示从粗粒度到细粒度的方向,且图中不存在有向环。
- 偏序关系:若存在从 \( v_i \) 到 \( v_j \) 的路径,则 \( v_i \preceq v_j \),表示 \( v_i \) 是 \( v_j \) 的祖先。
实践要点:在DAG层级中,调和权重需要同时考虑多个父节点的贡献。常用的处理方式是通过祖先聚合矩阵 \( \mathbf{A} \in \{0,1\}^{N \times N} \) 来编码所有祖先-后代关系,其中 \( a_{i,j} = 1 \) 表示节点 \( i \) 是节点 \( j \) 的祖先。
DAG层级与树形层级的关键区别在于:
| 特性 | 树形层级 | DAG层级 |
|---|---|---|
| 父节点数量 | 唯一(1个) | 多个(≥1个) |
| 路径唯一性 | 是 | 否 |
| 编码矩阵复杂度 | \( O(L \times N) \) | \( O(N^2) \) 最坏情况 |
| 权重传播方向 | 自顶向下 | 多路径汇聚 |
4.3 层级先验的数学表达
层级先验(Hierarchical Prior)是将层级结构信息融入模型的正则化或约束条件。常见的数学表达形式包括:
4.3.1 基于距离的层级先验
假设层级中两个节点 \( v_i \) 和 \( v_j \) 的语义相似度与它们在层级中的距离成反比:
层级距离:d(v_i, v_j) = 从 v_i 到 v_j 的最短路径长度
先验权重:w_{i,j} = exp(-λ · d(v_i, v_j))
其中 λ 为衰减系数,控制层级距离的影响强度
4.3.2 基于祖先共享的层级先验
利用共同祖先的数量来衡量节点间的先验关联:
共同祖先集合:Anc(v_i) ∩ Anc(v_j)
先验相似度:s(v_i, v_j) = |Anc(v_i) ∩ Anc(v_j)| / |Anc(v_i) ∪ Anc(v_j)|
该指标在树形层级中退化为 Jaccard 相似度
4.3.3 层级拉普拉斯先验
将层级结构编码为图拉普拉斯矩阵,用于正则化模型参数:
层级邻接矩阵:W ∈ ℝ^{N×N}, W_{i,j} = 1 若 v_i 是 v_j 的父节点
层级度矩阵:D = diag(∑_j W_{i,j})
层级拉普拉斯矩阵:L = D - W
正则化项:Ω(θ) = θ^T L θ = ∑_{i,j} W_{i,j} (θ_i - θ_j)^2
该先验鼓励相邻层级节点的参数保持平滑变化
注意事项:层级拉普拉斯先验要求层级图是连通的,否则孤立节点将不受正则化约束。在实际应用中,建议对每个连通分量单独计算拉普拉斯矩阵,或添加全局连通性约束。
4.4 层级结构的选择策略
在实际项目中,选择树形还是DAG层级取决于数据特性和业务需求:
- 严格分类体系(如生物分类、产品目录):优先使用树形层级,计算简单且解释性强。
- 多标签归属体系(如文档主题、基因功能):使用DAG层级,允许一个细粒度类别属于多个粗粒度类别。
- 层级先验的融合:在调和权重学习中,将层级先验作为正则项加入损失函数,可以有效缓解数据稀疏带来的过拟合问题。
数学统一视角:无论是树形还是DAG,层级结构都可以统一表示为偏序集(Partially Ordered Set, Poset)。在偏序集框架下,层级先验的数学表达具有通用性,只需定义偏序关系 \( \preceq \) 即可统一处理树形和DAG结构。