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

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. 总结

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

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

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

相关推荐
小瑞瑞acd3 小时前
【小瑞瑞精讲】卷积神经网络(CNN):从入门到精通,计算机如何“看”懂世界?
人工智能·python·深度学习·神经网络·机器学习
民乐团扒谱机4 小时前
【微实验】机器学习之集成学习 GBDT和XGBoost 附 matlab仿真代码 复制即可运行
人工智能·机器学习·matlab·集成学习·xgboost·gbdt·梯度提升树
Σίσυφος19004 小时前
PCL法向量估计 之 RANSAC 平面估计法向量
算法·机器学习·平面
CHHYQMGDCDZu5 小时前
工业互联网WMS系统源码。 前端基于Vue2.6,后端基于.NetCore3.1,前后端分离
决策树
rcc86285 小时前
AI应用核心技能:从入门到精通的实战指南
人工智能·机器学习
霖大侠5 小时前
【无标题】
人工智能·深度学习·机器学习
B站_计算机毕业设计之家5 小时前
猫眼电影数据可视化与智能分析平台 | Python Flask框架 Echarts 推荐算法 爬虫 大数据 毕业设计源码
python·机器学习·信息可视化·flask·毕业设计·echarts·推荐算法
deephub6 小时前
机器学习特征工程:分类变量的数值化处理方法
python·机器学习·特征工程·分类变量
墩墩冰6 小时前
计算机图形学 实现直线段的反走样
人工智能·机器学习
B站_计算机毕业设计之家6 小时前
豆瓣电影数据可视化分析系统 | Python Flask框架 requests Echarts 大数据 人工智能 毕业设计源码(建议收藏)✅
大数据·python·机器学习·数据挖掘·flask·毕业设计·echarts