IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 机器学习——决策树 -> 正文阅读

[人工智能]机器学习——决策树

1. 决策树算法思想

1.1 概述

决策树算法:是一种分治算法,目的是构建一个基于属性的树形分类器

  • 每个非叶结点代表一个特征属性上的测试(分割);
  • 每个分支代表这个特征属性在某个值域上的输出;
  • 每个叶结点代表一个类别。

使用决策树进行决策的过程就是从根结点开始,测试待分类项中相应的特征属性,并按照其值选择输出分支,直到达到叶结点,将叶结点存放的类别作为决策结果

1.2 决策树构建

决策树构建:分治思想(递归)。
对于当前结点结束递归的条件:

  1. 当前结点样本均属于同一类别,无需划分;
    在这里插入图片描述
  2. 当前属性集为空,无法划分;
    在这里插入图片描述
  3. 所有样本在当前属性集上取值相同,无法划分;
    在这里插入图片描述
  4. 当前结点包含的样本集合为空,无法划分。
    在这里插入图片描述

算法伪代码:
在这里插入图片描述

注:第2~3行对应于递归结束条件1,第5~6行对应于递归结束条件2和3,第11~12行对应于递归条件4。

9~16行的个人理解:对于最佳划分属性 a ? a_* a??,会为每一个属性值 a ? v a_*^v a?v?生成一个分支。我们现在仅讨论某一个属性值 a ? v a_*^v a?v?,已知通过这个分支后的样本子集为 D v D_v Dv?。如果 D v D_v Dv?为空,这个结点就是叶结点,然后回溯去找 D D D中样本最多的类,作为叶结点的类别;如果 D v D_v Dv?非空,那么就根据样本子集 D v D_v Dv?和属性子集 A ? a ? A-a_* A?a??递归该函数继续划分。

1.3 决策树核心

决策树的核心在于定义最佳划分属性,使得不同类样本被更好的分离。

  • 理想情况:划分后每个分支的样本都属于同一类。
  • 实际情况:想得美!

根据最佳划分属性的选取方式(准则)的不同,人们提出了不同的算法。

2. 决策树算法

2.1 ID3算法

最佳划分属性选取准则:信息增量越大越好。
目标:提升划分后子集的纯度,降低划分后子集的不纯度。纯度↑=信息量↓=信息熵↓。

什么叫纯?看图!怎么度量信息量?信息熵!
在这里插入图片描述

信息熵 E n t ( D ) = ? ∑ k = 1 ∣ y ∣ p k log ? 2 p k Ent(D)=-\sum\limits_{k=1}^{|y|}p_k\log_2p_k Ent(D)=?k=1y?pk?log2?pk?用属性 a a a对数据集 D D D划分后的信息熵 E n t ( D , a ) = ∑ v = 1 ∣ V ∣ ∣ D v ∣ ∣ D ∣ E n t ( D v ) Ent(D,a)=\sum\limits_{v=1}^{|V|}\frac{|D^v|}{|D|}Ent(D^v) Ent(D,a)=v=1V?DDv?Ent(Dv)用属性 a a a对数据集 D D D划分后的信息增益 G a i n ( D , a ) = E n t ( D ) ? E n t ( D , a ) Gain(D,a)=Ent(D)-Ent(D,a) Gain(D,a)=Ent(D)?Ent(D,a)信息增益越大,说明划分效果越好。因此,ID3算法是这样选取最佳划分属性的: a ? = arg?max ? a ∈ A G a i n ( D , a ) a_*=\argmax\limits_{a∈A}Gain(D,a) a??=aAargmax?Gain(D,a)问题:信息增益准则对可取值数目较多的属性有所偏好。例如极端例子为编号属性,由于每个样本的编号都不同,因此每个编号只有一个样本,并对应一个标签,因此纯度很高。

2.2 C4.5算法

最佳划分属性选取准则:信息增益率越大越好。
信息增益率 G a i n _ r a t i o ( D , a ) = G a i n ( D , a ) I V ( a ) Gain\_ratio(D,a)=\frac{Gain(D,a)}{IV(a)} Gain_ratio(D,a)=IV(a)Gain(D,a)?其中 I V ( a ) IV(a) IV(a)称为属性 a a a固有值,属性 a a a的可取值数目越多(也就是 v v v越大), I V ( a ) IV(a) IV(a)通常就越大。其定义如下: I V ( a ) = ? ∑ v = 1 V ∣ D v ∣ ∣ D ∣ log ? 2 ∣ D v ∣ ∣ D ∣ IV(a)=-\sum\limits_{v=1}^V\frac{|D^v|}{|D|}\log_2\frac{|D^v|}{|D|} IV(a)=?v=1V?DDv?log2?DDv?问题:增益率准则对可取值数目较少的属性有所偏好。因此,C4.5先从候选属性中找到信息增益高于平均水平的属性,再从中选择增益率最高的

ID3和C4.5都基于信息论的熵模型,涉及大量对数运算。

2.3 CART算法

最佳划分属性选取准则:基尼指数越小越好。
基尼指数: G i n i ( D ) = ∑ k = 1 ∣ y ∣ ∑ k ′ ≠ k p k p k ′ = 1 ? ∑ k = 1 ∣ y ∣ p k 2 Gini(D)=\sum\limits_{k=1}^{|y|}\sum\limits_{k'≠k}p_kp_k'=1-\sum\limits_{k=1}^{|y|}p_k^2 Gini(D)=k=1y?k?=k?pk?pk?=1?k=1y?pk2?基尼指数反映了从数据集中随机抽取两个样本,其类别标记不一致的概率,基尼指数越小,数据集 D D D的纯度越高。
属性 a a a的基尼指数: G i n i _ i n d e x ( D , a ) = ∑ v = 1 ∣ V ∣ ∣ D ∣ v ∣ D ∣ G i n i ( D v ) Gini\_index(D,a)=\sum\limits_{v=1}^{|V|}\frac{|D|^v}{|D|}Gini(D^v) Gini_index(D,a)=v=1V?DDv?Gini(Dv)CART算法是这样选取最佳划分属性的: a ? = arg?min ? a ∈ A G i n i _ i n d e x ( D , a ) a_*=\argmin\limits_{a∈A}Gini\_index(D,a) a??=aAargmin?Gini_index(D,a)

3. 决策树剪枝

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4. 连续值与缺失值处理

4.1 连续值处理

基本思路:连续属性离散化
常见方法:二分法 n n n个属性值可形成 n ? 1 n-1 n?1个候选划分,即可当做 n ? 1 n-1 n?1个离散属性值处理。
二分法流程:

  • 给定样本集 D D D和连续属性 a a a,假定 a a a D D D上出现了 n n n个不同的取值,则将属性值由小到大排序为 { a 1 , a 2 , . . . , a n } \{a^1,a^2,...,a^n\} {a1,a2,...,an}
  • 基于候选划分点集合 T a = { a i + a i + 1 2 ∣ 1 ≤ i ≤ n ? 1 } T_a=\{\frac{a^i+a^{i+1}}{2}|1≤i≤n-1\} Ta?={2ai+ai+1?1in?1}中的每个划分点 t t t,将 D D D分为 D ? D^- D? ≤ t ≤t t的属性值集合)和 D + D^+ D+ ≥ t ≥t t的属性值集合);
  • 根据最大化信息增益的规则选取最优划分点,即: G a i n ( D , a ) = max ? t ∈ T a G a i n ( D , a , t ) = max ? t ∈ T a E n t ( D ) ? ∑ λ ∈ { ? , + } ∣ D t λ ∣ ∣ D ∣ E n t ( D t λ ) Gain(D,a)=\max\limits_{t∈T_a}Gain(D,a,t)=\max\limits_{t∈T_a}Ent(D)-\sum\limits_{\lambda∈\{-,+\}}\frac{|D_t^{\lambda}|}{|D|}Ent(D_t^{\lambda}) Gain(D,a)=tTa?max?Gain(D,a,t)=tTa?max?Ent(D)?λ{?,+}?DDtλ??Ent(Dtλ?)

4.2 缺失值处理

如果简单丢弃有缺失值的样本,无疑是对信息的浪费。
问题:有属性值缺失,如何选择划分属性?给定划分属性,如果样本在该属性上的值缺失,如何进行划分?
基本思路:样本赋权,权重划分

5. 多变量决策树

d d d维样本进行分类等价于在 d d d为空间中寻找不同类样本之间的分类边界。

单变量决策树

单变量决策树:在每个非叶结点仅考虑一个划分属性,因此产生“轴平行”分类面。
在这里插入图片描述
问题:当学习任务所对应的分类边界很复杂时,需要非常多段划分才能获得较好的近似。这会导致决策树相当复杂,且时间开销巨大。能否产生“”分类面?
在这里插入图片描述

多变量决策树

多变量决策树:每个非叶结点不仅考虑一个属性。例如“斜决策树” 不是为每个非叶结点寻找最优划分属性,而是建立一个线性分类器。
在这里插入图片描述

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-12-03 13:02:40  更:2021-12-03 13:03:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年10日历 -2024/10/25 6:22:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码