学习笔记十六:多变量决策树

1. 基本概念

1.1 单变量决策树的特点

分类边界的几何理解

若我们把每个属性视为坐标空间中的一个坐标轴,则 d 个属性描述的样本就对应了 d 维空间中的一个数据点,对样本分类则意味着在这个坐标空间中寻找不同类样本之间的分类边界。

轴平行的分类边界

决策树所形成的分类边界有一个明显的特点:轴平行(axis-parallel),即它的分类边界由若干个与坐标轴平行的分段组成。

局限性

但在学习任务的真实分类边界比较复杂时,必须使用很多段划分才能获得较好的近似。此时的决策树会相当复杂,由于要进行大量的属性测试,预测时间开销会很大。

1.2 多变量决策树的概念

基本思想

如果能使用斜的划分边界(oblique classification boundaries),决策树模型将大为简化。

定义

多变量决策树(multivariate decision tree)是一种决策树变体,其非叶结点不再是仅对某个属性进行测试,而是对属性的线性组合进行测试。

线性分类器

每个非叶结点是一个形如 ∑i=1dwiai=t\sum_{i=1}^{d} w_i a_i = t∑i=1dwiai=t 的线性分类器,其中 wiw_iwi 是属性 aia_iai 的权重,wiw_iwi 和 t 可在该结点所含的样本集和属性集上学得。

与单变量决策树的区别

  • 单变量决策树(univariate decision tree):每个非叶结点仅对单个属性进行测试
  • 多变量决策树:每个非叶结点对属性的线性组合进行测试

学习目标

多变量决策树的学习过程中,不是为每个非叶结点寻找一个最优划分属性,而是试图建立一个合适的线性分类器。

2. 多变量决策树方法

2.1 分类边界的对比

单变量决策树的分类边界

单变量决策树形成的分类边界是轴平行的,由若干段与坐标轴平行的线段组成。这种边界虽然可解释性强,但对于复杂的分类边界,需要很多段划分才能近似。

多变量决策树的分类边界

多变量决策树可以使用斜的划分边界,能够用更少的划分来近似复杂的分类边界,从而简化决策树结构。

示例

以西瓜数据集为例:

  • 单变量决策树可能产生相当复杂的树结构,需要大量的属性测试
  • 多变量决策树可以使用线性组合(如 -0.800 × 密度 - 0.044 × 含糖率 ≤ -0.313)进行划分,大大简化了树的结构

2.2 多变量决策树的构建

线性分类器的学习

在多变量决策树中,每个非叶结点需要学习一个线性分类器,即确定权重 wiw_iwi 和阈值 t,使得该线性组合能够有效划分样本。

划分准则

与单变量决策树类似,多变量决策树也需要选择最优的划分方式。不同之处在于,这里选择的是线性分类器的参数,而不是单个属性。

递归构建

多变量决策树的构建过程也是递归的:

  1. 在当前结点学习一个线性分类器
  2. 根据线性分类器将样本划分到不同的子结点
  3. 对每个子结点递归执行上述过程

2.3 多变量决策树的特点

优势

  • 简化树结构:能够用更少的划分来近似复杂的分类边界,从而简化决策树
  • 减少预测时间:由于树结构更简单,预测时需要的属性测试更少,预测时间开销更小
  • 适应复杂边界:能够处理需要斜划分边界的复杂分类问题

劣势

  • 可解释性降低:线性组合不如单个属性直观,可解释性相对较差
  • 学习复杂度增加:需要学习线性分类器的参数,学习过程更复杂
  • 计算开销:学习线性分类器需要更多的计算资源

3. 总结

单变量决策树 形成轴平行的分类边界,每一段划分都直接对应某个属性取值,具有较好的可解释性。但对于复杂的分类边界,需要很多段划分才能近似,导致决策树结构复杂,预测时间开销大。

多变量决策树 使用属性的线性组合进行划分,可以形成斜的划分边界,能够用更少的划分来近似复杂的分类边界,从而简化决策树结构,减少预测时间开销。但多变量决策树的可解释性相对较差,学习过程也更复杂。

在实际应用中,应根据任务需求选择合适的方法:如果可解释性要求高,可以选择单变量决策树;如果分类边界复杂且需要简化树结构,可以选择多变量决策树。

相关推荐
z小猫不吃鱼13 小时前
模型剪枝经典论文精读:Pruning Filters for Efficient ConvNets
算法·机器学习·剪枝
AIGS00115 小时前
企业AI落地:Agent OS 治理框架实践
java·大数据·人工智能·机器学习·人工智能ai大模型应用
z小猫不吃鱼17 小时前
模型剪枝经典论文精读:Channel Pruning for Accelerating Very Deep Neural Networks
算法·机器学习·剪枝
学也学不废17 小时前
Flask问答系统与LAUR模型
人工智能·python·机器学习·分类·数据挖掘
Java小白笔记18 小时前
Codex 桌面应用设置功能完全指南
人工智能·opencv·目标检测·机器学习·计算机视觉·数据挖掘·语音识别
大鱼>18 小时前
Scikit-learn Pipeline:构建可复用的 ML 流水线
python·机器学习·scikit-learn
147API19 小时前
Claude global workspace 研究给智能体测试提了一个醒
人工智能·算法·机器学习
葫三生19 小时前
《论三生原理》与模糊数学的关联、异同、互补关系?
人工智能·科技·算法·机器学习·开源
格林威19 小时前
网口相机 vs USB相机:区别与适用场景(选型不再纠结)
人工智能·数码相机·机器学习·计算机视觉·视觉检测·机器视觉·工业相机
Token炼金师21 小时前
四段式淬炼:预训练、持续预训练、中训练、冷启动 SFT —— 课程学习与训练阶段编排
人工智能·深度学习·机器学习