决策树的构建
·选择哪个特征进行分类(目标最大纯度/最小杂质)
·选择什么时候停止分裂:
1.一个节点100%都是一类
2.超过最大深度
3.纯度提升过小(小于一定阈值)
4.一个节点上的样本太少(小于一定阈值)
信息熵
熵:描述事件的不确定性;衡量一组数据杂质的度量
p
0
=
1
−
p
1
p_0 = 1-p_1
p0=1−p1
H
(
p
1
)
=
−
p
1
l
o
g
2
(
p
1
)
−
p
0
l
o
g
2
(
p
0
)
H(p_1)=-p_1log_2(p_1)-p_0log_2(p_0)
H(p1)=−p1log2(p1)−p0log2(p0)
H
(
p
1
)
=
−
p
1
l
o
g
2
(
p
1
)
−
(
1
−
p
1
)
l
o
g
2
(
1
−
p
1
)
H(p_1)=-p_1log_2(p_1)-(1-p_1)log_2(1-p_1)
H(p1)=−p1log2(p1)−(1−p1)log2(1−p1)
分裂前信息熵:H(0.5)(10只动物,5只猫,p=0.5)
分裂后左分支:H(0.8)(7只动物,4只猫,p=0.57)
分裂后右分支:H(0.2)(3只动物,1只猫,p=0.33)
分裂后总信息熵:
7
10
H
(
0.8
)
+
3
10
H
(
0.2
)
\frac{7}{10}H(0.8)+\frac{3}{10}H(0.2)
107H(0.8)+103H(0.2)
信息增益:
H
(
0.5
)
−
(
7
10
H
(
0.8
)
+
3
10
H
(
0.2
)
)
H(0.5)-(\frac{7}{10}H(0.8)+\frac{3}{10}H(0.2))
H(0.5)−(107H(0.8)+103H(0.2))
在决策树分裂过程中,尝试不同的阈值进行分割,选择信息增益最大的阈值作为决策树的分割点。
独热编码
将离散特征转化为连续特征
如下,10011,00101,00110等,为独热编码
回归树
通过树的分类进行回归,目标是同一叶子节点内方差最小
分裂前总方差:20.51
分裂后左分支方差:1.47
分裂后右分支:21.87
信息增益:
20.51
−
(
5
10
⋅
1.47
+
5
10
⋅
21.87
)
20.51-(\frac{5}{10}·1.47+\frac{5}{10}·21.87)
20.51−(105⋅1.47+105⋅21.87)
随机森林
将总体样本进行放回抽样,制造不同的训练集(训练集内部也可重复)
利用不同训练集训练出不同的决策树,同一样本在不同的树下可能是不同的结果
进行预测时,根据所有树(森林)的分类结果进行投票,输出分类结果
XGBOOST
根据上一颗树的结果的残差拟合下一颗树
决策树的选择使用
适合处理结构性数据,不适合音频图像文本
训练速度很快
小规模的决策树是人可以进行解释的
神经网络的选择使用
适合各类数据处理
训练速度可能很慢
可以用迁移学习一起工作
容易和其他神经网络串联到一起构建一个系统的机器学习系统