决策树基于树结构进行决策(??):
学习过程:通过对训练样本的分析来确定划分属性(内部节点的属性)
预测过程:将待测数据从根结点开始,沿着划分属性所构成的“判定测试序列”下行,直到叶子节点
常见决策树:
总体流程:分而治之
停止条件:
图片
信息熵:度量样本纯度,假定当前样本集合D中第k类样本所占比例为\(p_k\),则D的信息熵如下式
\[
Ent(D) = -\sum_{k=1}^{\left| y \right|}p_{k}log_{2}p_{k}
\]
信息增益:以信息熵为基础,计算当前划分对信息熵所造成的变化(ID3使用)
设离散属性a的取值:\(\{a^1,a^2,..,a^V\}\)
\(D^v\):D中在a上取值为\(a^v\)的样本集合
以属性a对数据集D进行划分产生的信息增益\(Gai n(D,a)\)
\[
Gain(D,a)=Ent(D)-\sum_{v=1}^{V}\frac{\left|D^{v}\right|}{\left|D\right|}Ent(D^{v})
\]
\(Ent(D)\)划分前的信息熵
\(\frac{\left|D^{v}\right|}{\left|D\right|}\)划分后的信息熵
第N个分支的样本越多越重要
信息增益存在问题:偏好可取值数目较多的属性,例如编号
信息增益率(C4.5)
\[
Gain\_radio(D,a) = \frac{Gain(D,a)}{IV(a)}
\]
\[ IV(a)=-\sum_{v=1}^{V}\frac{\left|D^{v}\right|}{\left|D\right|}log_2{\frac{\left|D^{v}\right|}{\left|D\right|}} \]
属性a可取数值数目越大(V越大),\(IV(a)\)的数值越大,降低这种偏好
启发式:从候选属性找出信息增益高于平均水平的,再从中选取信息增益率最高的
\(Gini\)指数(CART):反映了从D中随机抽取两个样例,其类别标记不一致的概率
\[
Gini(D)=\sum_{k=1}^{|y|}\sum_{k^{‘}\neq k}p_kp_{k^{'}}=1-\sum^{|y|}_{k=1}p_kp_{k^{'}}
\]
选取令Gini指数最小的属性
Gini指数、熵、分类误差率三者的关系:
\[ -\sum_{k=1}^{K}p_kln{p_k}\approx\sum_{k=1}^{K}p_k(1-p_k) \]
\(f(x)=-lnx\)在\(x=1\)处泰勒展开,忽略高阶无穷小,\(f(x)\approx1-x\)
信息论的视角理解:对于多分叉树的情况,机器学习——破解密码
决策树 | 特点 | |
---|---|---|
ID3 | 取值多的属性会导致数据数据更纯,对应的信息增益大 | 训练得到一颗庞大且浅的树,不合理 |
C4.5 | 采用信息增益率代替信息增益 | |
CART | 利用基尼系数替代熵 | 最小化纯度,而不是最大化信息增益 |
剪枝:
剪枝依据:剪枝前后决策树的优劣,(留出法)验证集判断
基本策略:
预剪枝 | 后剪枝 |
---|---|
训练、测试时间降低 | 训练时间增加,测试时间降低 |
过拟合风险降低,欠拟合增加 | 过拟合风险降低,欠拟合基本不变 |
后剪枝的泛化能力优于预剪枝 |
原文:https://www.cnblogs.com/xm08030623/p/12348918.html