机器学习:决策树及ID3,C4.5,CART算法描述

概念理解

熵:

在这里插入图片描述

条件熵:

H ( y A ) H(y|A) : A 是特征,y是目标或者分类,“条件”可以理解为 A对y的限制,假如:feature A有m个featureValue, H ( y A ) H(y|A) 就是在取feature A有m个featureValue的值下,y的不确定和。 H ( y A ) H(y|A) 理解为y被A限制后的不确定性,A对y分类的影响

信息增益,互信息:

g ( y , A ) = H ( y ) H ( y A ) g(y,A) = H(y) - H(y|A)
可以看成条件熵的相反,这个可以看成A对y分类的影响,简单理解就是y在引入A之后的不确定度。

假如以 g ( y , A ) g(y,A) 作为y分类的标准,那么y就选择 g ( y , A ) g(y,A) 的feature A, 那么这种策略就倾向于选择featureValue个数m越多的feature A,直观一点就是分类越多,y的确定性就会增加。

信息增益比

假如一直选择featureValue个数m越多的feature ,决策树就会成为一个又胖又矮的树,不管在哪里矮胖肯定不受欢迎,我们喜欢高瘦的,但是又不能太高,我们需要一个具有美感的 x x 叉树。
在此引入了对m的惩罚,信息增益比:
g R ( y , A ) = g ( y , A ) / I V ( A ) g_R(y,A) = g(y,A) / IV(A)
I V ( A ) IV(A) 为y关于A的熵,类似于交叉熵,和m有关。
在这里插入图片描述

基尼指数

可以看出基尼指数是和熵定义类似的,基尼指数越小,y的不确定度越小。
在这里插入图片描述
在这里插入图片描述

ID3算法描述

使用信息增益为划分依据
在这里插入图片描述

C4.5算法描述

以信息增益比为划分依据,修改第4步
在这里插入图片描述

CART (Classification and Regression Tree)算法描述:

以基尼指数为划分依据
在这里插入图片描述

三种算法优势及劣势:

ID3:

优点:
ID3中选择熵减少程度最大的特征来划分数据,也就是“最大信息熵增益”原则,是一种贪心策略,策略简单,
一般情况下都是有效果的。
缺点:
从划分的策略信息增益定义,这种策略总是选择特征值个数m多的特征来划分,导致决策树又矮又胖。
处理离散型的数据会出现上述问题,处理连续性不会出现上述问题,
处理混合型数据会倾向于选择离散型特征划分问题

改进:C4.5

C4.5:

优点:针对ID3总是选择特征值个数m多的特征,引入信息增益比来惩罚m,
缺点:信息增益比=互信息/y对feature的熵,C4.5会选择使“y对feature的熵”最小的策略,就是选择m小的划分,
假如二分的话,,就会分成很不均匀的两份,然后这个二叉树会非常深,又瘦又高,这种树中看不中用,泛化
能力非常差,就是我们常说的过拟合。

改进:划分feature选择策略,选出互信息比平均互信息高的feature(基本上m就不会少),
然后在这些features里选择信息增益比最高的feature,这是一种启发式策略,很直接但是又快又有效。

CART:

优点:
CART是一棵二叉树,采用二元切分法,每次把数据切成两份,分别进入左子树、右子树。
相比ID3和C4.5,CART应用要多一些,既可以用于分类也可以用于回归。
缺点:等我发现了再补充。

猜你喜欢

转载自blog.csdn.net/weixin_40759186/article/details/85277014