决策树与树集成模型
content:
从LR到决策树
1、总体流程与核心问题
怎么长
分而治之 在中间节点寻找最优的划分的属性
停止条件
1 到达值;2、条件相同但值不同3、样本集为空
2、熵、信息增益、信息增益率
熵:度量样本纯度
假定在样本集合D中第k类样本占比为Pk则D的信息熵为:
|y|是类别数量哈
E
n
t
(
D
)
=
−
∑
k
=
1
∣
y
∣
p
k
l
o
g
2
p
k
Ent(D) = -\sum\limits_{k = 1}^{|y|}p_klog_2p_k
Ent(D)=−k=1∑∣y∣pklog2pk
Ent(D)越小 D纯度越高
均分则纯度最低
信息增益:计算当前划分对熵造成的变化
ID3算法——基于最优信息增益选择划分属性
离散属性a的取值:
{
a
1
,
a
2
,
.
.
.
,
a
v
}
\{a^1,a^2,...,a^v\}
{a1,a2,...,av}
D中在a取a^v的样本合计 D^v
|D|是类别数量哈——加权哈
G
a
i
n
(
D
,
a
)
=
E
n
t
(
D
)
−
∑
v
=
1
V
∣
D
v
∣
∣
D
∣
E
n
t
(
D
v
)
Gain(D,a) = Ent(D) - \sum\limits_{v=1}^{V}\frac{|D^v|}{|D|}Ent(D^v)
Gain(D,a)=Ent(D)−v=1∑V∣D∣∣Dv∣Ent(Dv)
最大化信息增益
信息增益率:
C4.5中使用
使用原因:信息增益常对于可取值数目较多的属性有有所偏好 like ID属性
信息增益率:
G
a
i
n
_
r
a
t
i
o
(
D
,
a
)
=
G
a
i
n
(
D
,
a
)
I
V
(
a
)
Gain\_ratio(D,a)=\frac{Gain(D,a)}{IV(a)}
Gain_ratio(D,a)=IV(a)Gain(D,a)
其中 V 为a的可能取值
I
V
(
a
)
=
−
∑
v
=
1
V
∣
D
v
∣
∣
D
∣
l
o
g
2
∣
D
v
∣
∣
D
∣
IV(a) = -\sum\limits_{v = 1}^{V}\frac{|D^v|}{|D|}log_2\frac{|D^v|}{|D|}
IV(a)=−v=1∑V∣D∣∣Dv∣log2∣D∣∣Dv∣
最大化信息增益率
基尼指数;
CART(二叉树)中使用
G
i
n
i
(
D
)
=
1
−
∑
k
=
1
∣
y
∣
p
k
2
Gini(D)=1 - \sum\limits_{k=1}^{|y|}p_k^2
Gini(D)=1−k=1∑∣y∣pk2
Gini(D)越小,set D的纯度最高
依据属性a划分D后的的基尼指数:
G
i
n
i
_
i
n
d
e
x
(
D
,
a
)
=
∑
v
=
1
V
∣
D
v
∣
∣
D
∣
G
i
n
i
(
D
v
)
Gini\_index(D,a) = \sum\limits_{v=1}^{V}\frac{|D^v|}{|D|}Gini(D^v)
Gini_index(D,a)=v=1∑V∣D∣∣Dv∣Gini(Dv)
最小化不纯度
回归树
实际上是对空间的划分
1、构建回归树
2 steps:
1、把整个特征空间X分成J个无重叠的区域R_1 to R_j
2、每个区域使用均值代替
R
S
S
=
∑
j
=
1
J
∑
i
∈
R
j
(
y
i
−
y
~
R
j
)
2
RSS = \sum\limits_{j=1}^{J}\sum{_{i\in R_j}}(yi - \widetilde{y}_{R_j})^2
RSS=j=1∑J∑i∈Rj(yi−y
Rj)2
2、最优回归树
我们希望找到使得RSS最小的划分方法
采用探索式的递归二分 针对某一维的特征切分
- 自顶向下的贪婪式递归:
从所有样本开始、从当前位置划分、每一次划分只考虑当前最优 - 以划分后的RSS的值来衡量划分结果
R 1 ( j , s ) = { x ∣ x J < s } R 2 ( j , s ) = { x ∣ x J ≥ s } R S S = ∑ x ∈ R 1 ( j , s ) ( y i − y ~ R 1 ) 2 + ∑ x ∈ R 2 ( j , s ) ( y i − y ~ R 2 ) 2 R_1(j,s)=\{x|x_J<s\} \\ R_2(j,s)=\{x|x_J\ge s\} \\ RSS=\sum{_{x\in R_1(j,s)}}(yi - \widetilde{y}_{R_1})^2+\sum{_{x\in R_2(j,s)}}(yi - \widetilde{y}_{R_2})^2 R1(j,s)={x∣xJ<s}R2(j,s)={x∣xJ≥s}RSS=∑x∈R1(j,s)(yi−y R1)2+∑x∈R2(j,s)(yi−y R2)2
回归树剪枝:有过拟合风险
添加正则化项
∑
m
=
1
∣
T
∣
∑
x
∈
R
m
(
y
i
−
y
~
R
m
)
2
+
α
∣
T
∣
α
固定后,上式最小最佳
∣
T
∣
是回归树的叶子节点个数
α
−
超参数
−
可以由交叉验证选择
\sum\limits_{m=1}^{|T|}\sum{_{x\in R_m}}(yi - \widetilde{y}_{R_m})^2+\alpha|T|\\ \alpha固定后,上式最小最佳 \\|T|是回归树的叶子节点个数\\ \alpha -超参数-可以由交叉验证选择
m=1∑∣T∣∑x∈Rm(yi−y
Rm)2+α∣T∣α固定后,上式最小最佳∣T∣是回归树的叶子节点个数α−超参数−可以由交叉验证选择
从决策树倒随机森林
1、采样与bootstrap
对于输入的样本集合D |D|=M
随机有放回的抽取m个样本形成采样集D1
重复得到T个采样集合 使用采样集训练T个学习器
分类:投票;回归:平均
2、bagging与随机森林
随机森林:在对样本采样的同时 对特征也进行采样
使用CART作为基学习器