机器学习 周志华 决策树的笔记与个人理解
决策树大概定义
决策树:是一个树结构(可以是二叉树或非二叉树)。其每个非叶节点表示一个特征属性上的测试,每个分支代表这个特征属性在某个值域上的输出,而每个叶节点存放一个类别。
特征:就是树里面的非叶节点
结果:就是树里面的叶节点
信息增益 信息增益比,基尼比,用来衡量利用某个属性来划分后的集合纯度(不确定性)
XX算法:用来生成决策树的,就是用的评价指标不同
自己理解的决策树
我理解的是利用某个属性划分样本集,使得划分后的子样本集合里面某一类的个数等于
(接近)于子样本集合的总元素个数的不断迭代过程
用哪个属性来划分呢?
答:用使我们当前样本集合的不确定性降低的最多的那个属性(特征)
怎么去评价(评判)使我们当前样本集合的不确定性降低程度呢,或者说用啥指标来度量?
答: 信息熵,信息增益,基尼指数
信息增益
什么是信息增益?
其实从概念来讲,就一句话,信息增益表示由于特征A而使得数据集的分类不确定性减少的程度,信息增益大的特征具有更强的分类能力。
为什么有信息熵,信息增益,基尼指数
信息熵,基尼指数:定量上都是对样本集合的不确定程度的度量,只是定性上公式不同
信息熵,信息增益:为什么提出信息增益?信息熵偏好取值多的属性,从公式出发,前一项是固定的,要使信息增益越大那么就要后一项越小,
最极端情况下后一项里面每项都是0,这个的物理含义是属性a可能取值有集合中样本个数种。即把样本集合D分成了集合中样本数个子集合。举个例子,假如有17个西瓜,有一个属性a(a有17个不同的取值)刚好把这17个西瓜分为17个子集,每个子集一个样本,只有一个样本,自然信息熵为0。
\(\operatorname{Gain}(D, a)=\operatorname{Ent}(D)-\sum_{v=1}^{V} \frac{\left|D^{v}\right|}{|D|} \operatorname{Ent}\left(D^{v}\right)\)
剪枝
我觉得很奇怪,每次都要用这个两颗树去测试一下测试集,如果剪枝后的数效果好那就剪枝,如果不好,那就不剪枝。有点浪费时间,就算在测试集上表现好了,也不见得在实际新的样本数据上表现好。
每次剪枝虽然都在提高测试集精度,但都是在降低训练集精度。当然剪枝是为了降低数的复杂度,精度和复杂度需要取舍,说不定这也是个多目标优化问题???
ID3 、C4.5 、CATR区别
其实就是评价指标不一样
ID3:信息增益
C4.5 : 信息增益比
CATR:基尼比
浙公网安备 33010602011771号