0
点赞
收藏
分享

微信扫一扫

【算法练习Day2】有序数组的平方&&长度最小子数组&&螺旋矩阵II

谁知我新 2023-09-24 阅读 38

决策树(decision tree)是一种基本的分类与回归方法。本章主要讨论用于分类的决策树。决策树模型呈树形结构,在分类问题中,表示基于特征对实例进行分类的过程。

它可以认为是if-then规则的集合,也可以认为是定义在特征空间与类空间上的条件概率分布。

其主要优点:1.模型具有可读性;2.分类速度快

阶段操作
学习时利用训练数据,根据损失函数最小化的原则建立决策树模型
预测时对新的数据,利用决策树模型进行分类

决策树学习通常包括3个步骤:特征选择->决策树的生成->决策树的修剪

5.1决策树模型与学习

5.1.1决策树模型

定义5.1(决策树):分类决策树模型是一种描述对实例进行分类的树形结构。决策树由结点(node)和有向边(directed edge)组成。结点有两种类型:内部结点(internalnode)和叶结点(leaf node)。内部结点表示一个特征或属性,叶结点表示一个
在这里插入图片描述

5.1.2决策树与if-then规则

5.1.3决策树与条件概率分布

5.1.4决策树学习

决策树学习用损失函数表示这一目标。如下所述,决策树学习的损失函数通常是正则化的极大似然函数。决策树学习的策略是以损失函数为目标函数的最小化。
当损失函数确定后,学习问题就变为在损失函数意义下选择最优决策树的问题。因为从所有可能的决策树中选取最优决策树是NP完全问题,所以现实中决策树学习算法通常采用启发式方法,近似求解这一最优化问题,这样得到的决策树是次最优(sub-optimal)的。

决策树学习算法包含特征选择、决策树的生成与决策树的剪枝过程。由于决策树表示一个条件概率分布,所以深浅不同的决策树对应着不同复杂度的概率模型。决策树的生成对应于模型的局部选择,决策树的剪枝对应于模型的全局选择。决策树的生成只考虑局部最优,相对地,决策树的剪枝则考虑全局最优

决策学习常用的算法有ID3、C4.5与CART,下面结合这些算法分别叙述决策树学习的特征选择、决策树的生成和剪枝过程。

5.2特征选择

5.2.1特征选择问题

通常特征选择的准则是信息增益信息增益比

5.2.2信息增益

为了便于说明,先给出熵与条件熵的定义
在信息论与概率统计中,熵(entropy)是表示随机变量不确定性的度量。设X是一个取有限个值的离散随机变量,其概率分布为
P ( X = x i ) = p i , i = 1 , 2 , . . . , n P(X=x_i)=p_i,i=1,2,...,n P(X=xi)=pi,i=1,2,...,n
则随机变量X的熵定义为(若 p i = 0 p_i=0 pi=0,则定义 0 l o g 0 = 0 0log0=0 0log0=0
H ( X ) = − ∑ i = 1 n p i l o g p i H(X)=-\sum\limits_{i=1}^n p_i log p_i H(X)=i=1npilogpi
由于熵只依赖于X的分布,而与X的取值无关,所以也可将X的熵记作H§,即
H ( p ) = − ∑ i = 1 n p i l o g p i H(p)=-\sum\limits_{i=1}^n p_i log p_i H(p)=i=1npilogpi
熵越大,随机变量的不确定性就越大。从定义可验证
0 ≤ H ( p ) ≤ l o g n 0≤H(p)≤log n 0H(p)logn

设有随机变量 ( X , Y ) (X,Y) (X,Y),其联合概率分布为
P ( X = x i , Y = y j ) = p i j , i = 1 , 2 , . . . , n ; j = 1 , 2 , . . . , m P(X=x_i,Y=y_j)=p_{ij},i=1,2,...,n;j=1,2,...,m P(X=xi,Y=yj)=pij,i=1,2,...,n;j=1,2,...,m
条件熵H(Y|X)表示在已知随机变量X的条件下随机变量Y的不确定性。随机变量X给定的条件下随机变量Y的条件熵(conditional entropy)H(Y|X),定义为X给定条件下Y的条件概率分布的熵对X的数学期望
H ( Y ∣ X ) = ∑ i = 1 n p i H ( Y ∣ X = x i ) H(Y|X)=\sum\limits_{i=1}^n p_iH(Y|X=x_i) H(YX)=i=1npiH(YX=xi)
这里, p i = P ( X = x i ) , i = 1 , 2 , . . . , n p_i=P(X=x_i),i=1,2,...,n pi=P(X=xi),i=1,2,...,n

当熵和条件熵中的概率由数据估计(特别是极大似然估计)得到时,所对应的熵与条件熵分别称为经验熵(empirical entropy)和经验条件熵(empirical conditional entropy)。此时,若有0概率,令0log0=0

信息增益(information gain)表示得知特征X的信息而使得类Y的信息不确定性减少的程度
定义5.2(信息增益)特征A对训练数据集D的信息增益 g ( D , A ) g(D,A) g(D,A),定义为集合D的经验熵 H ( D ) H(D) H(D)与特征A给定条件下D的经验条件熵 H ( D ∣ A ) H(D|A) H(DA)之差,即
g ( D , A ) = H ( D ) − H ( D ∣ A ) g(D,A)=H(D)-H(D|A) g(D,A)=H(D)H(DA)
一般地,熵H(Y)与条件熵H(Y|X)之差称为互信息(mutual information)。决策树学习中的信息增益等价于训练数据集中类与特征的互信息。

根据信息增益准则的特征选择方法是:对训练数据集(或子集)D,计算其每个特征的信息增益,并比较它们的大小,选择信息增益最大的特征。

5.2.3信息增益比

以信息增益作为划分训练数据集的特征,存在偏向于选择取值较多的特征的问题。

信息增益的计算方式涉及到条件熵(Conditional Entropy),其计算公式为:

H ( D ∣ A ) = ∑ i = 1 n ∣ D i ∣ ∣ D ∣ ⋅ H ( D i ) H(D|A) = \sum_{i=1}^n \frac{|D_i|}{|D|} \cdot H(D_i) H(DA)=i=1nDDiH(Di)

其中, H ( D ∣ A ) H(D|A) H(DA) 是在特征 A A A 条件下数据集 D D D 的条件熵, D i D_i Di 是特征 A A A 的每个取值对应的子数据集, ∣ D i ∣ |D_i| Di 表示子数据集的大小, ∣ D ∣ |D| D 表示总数据集的大小。

注意到在计算条件熵时,分母 ∣ D ∣ |D| D 是不变的,但分子 ∣ D i ∣ |D_i| Di 取决于特征 A A A 的取值个数。如果特征 A A A 的取值较多,那么就会有更多的 ∣ D i ∣ |D_i| Di 需要相加,这会导致条件熵的计算中有更多的项。

这个问题的关键在于,条件熵的值越低,信息增益越高。因此,如果特征 A A A 具有更多的取值,它可能会导致更多的子分支,每个子分支对应一个取值,而每个子分支的条件熵通常较低,因为数据更容易在这个子分支中进行分类。这会使得信息增益在计算时受到特征取值数量的影响,偏向于选择取值较多的特征。

为了克服这个问题,可以考虑使用一些改进的特征选择准则,例如信息增益比(Information Gain Ratio)或基尼不纯度(Gini impurity)。这些准则在计算中会考虑到特征取值的数量,以减轻信息增益对取值较多特征的偏向,使得特征选择更加平衡。

5.3决策树的生成

5.3.1 ID3算法

5.3.2 C4.5的生成算法

5.4决策树的剪枝

5.5 CART算法

5.5.1 CART生成

5.5.2 CART剪枝

举报

相关推荐

0 条评论