决策树(cont)
互信息与决策树
由随机变量 X X X与 Y Y Y之间互信息的计算公式: I ( X ; Y ) = H ( X ) − H ( X ∣ Y ) I(X;Y) = H(X) - H(X|Y) I(X;Y)=H(X)−H(X∣Y)表示随机变量Y含有X的多少信息。
- 若
H
(
X
∣
Y
)
H(X|Y)
H(X∣Y)较小,则说明给定
Y
Y
Y时
X
X
X的信息量减少。
- 在决策树中 Y Y Y表示某一特定的属性。 Y = y i Y = y_i Y=yi表示该属性的取值为 y i y_i yi。
- 反应在决策树中表现为由随机变量属性 Y Y Y的取值划分 X X X,得到的样本的纯度提升,即信息量减少。这正是我们的目标。
- 于是在划分阶段,每次只需要选择 H ( X ∣ Y ) H(X|Y) H(X∣Y)较小的即I(X;Y)较大的对应的属性。在决策树中,使用样本的频率代替概率即可(称为样本熵)即用样本的类别频率近似随机变量 X X X的概率分布,用该特定属性每个取值的样本姘居近似随机变量 Y Y Y的概率分布。
熵的计算例子
信息增益
由第一部分的分析,如果选择属性
A
A
A进行切分(即
Y
Y
Y的分布对应于属性A的每一取值的频率,属性A的取值一共有k个),信息增益的计算公式为:
G
a
i
n
A
=
E
n
t
r
o
p
y
(
p
)
−
∑
i
=
1
k
n
i
n
E
n
t
r
o
p
y
(
i
)
Gain_{A} = Entropy(p) - \sum_{i = 1}^{k}\frac{n_i}{n}Entropy(i)
GainA=Entropy(p)−i=1∑knniEntropy(i)
其中
E
n
t
r
o
p
y
(
p
)
Entropy(p)
Entropy(p)表示所有样本的熵,
E
n
t
r
o
p
y
(
i
)
Entropy(i)
Entropy(i)表示划分后第
i
i
i个属性取值下所有样本的熵。
- 缺点:倾向于选择切分分支较多的属性。
- 计算实例:
停止准则
- 当一个结点上所有样本属于同一个类别,停止扩展
- 当一个结点上所有样本具有相似的属性值,停止扩展
- 提早结束
问题
- 欠拟合(underfitting)和过拟合(Overfitting)(结点数过多)
- 防止Overfitting的准则- Given two models of similar generalization errors, one
should prefer the simpler model over the more complex
model - For complex models, there is a greater chance that it was
fitted accidentally by errors in data
- Given two models of similar generalization errors, one
假设空间
假设有n个布尔属性,则针对这些属性决策树的假设空间如何?
- n个布尔属性的真值表一共有 2 n 2^n 2n行(因为每个属性均有2个取值T或F)
- 每一行共有2种取值即真假
- 因此共有 2 2 n 2^{2^n} 22n种真值表,每一个真值表与一颗决策树对应。
MDL最小描述长度
- 基本原理是对于一组给定的实例数据 D , 如果要对其进行保存 ,为了节省存储空间, 一般采用某种模型对其进行编码压缩,然后再保存压缩后的数据。同时, 为了以后正确恢复这些实例数据,将所用的模型也保存起来。
- 所以需要保存的数据长度( 比特数) 等于这些实例数据进行编码压缩后的长度加上保存模型所需的数据长度
单变量回归问题
问题:观测一个实数值𝑥,并用此值来预测目标值t;
- n个观测数据组成的训练样本集合 X = ( x 1 , x 2 ⋯ x n ) X = (x_1,x_2\cdots x_n) X=(x1,x2⋯xn),目标值 T = ( t 1 , t 2 ⋯ t n ) T = (t_1,t_2\cdots t_n) T=(t1,t2⋯tn).这里的每个训练样本都是标量。
由泰勒公式,任何曲线在满足一定的条件下都可以用多项式函数近似。
f
(
x
)
=
∑
n
=
0
∞
f
n
(
x
0
)
n
!
(
x
−
x
0
)
n
f(x) = \sum_{n = 0}^{\infty} \frac{f^n(x_0)}{n!}(x - x_0)^n
f(x)=n=0∑∞n!fn(x0)(x−x0)n
因此考虑使用多项式函数拟合曲线。即假设空间为:
y
(
x
;
w
)
=
w
0
+
w
1
x
+
w
2
x
2
+
⋯
+
w
m
x
m
y(x;\mathbf{w}) = w_0 + w_1x+w_2x^2+\cdots+w_mx^m
y(x;w)=w0+w1x+w2x2+⋯+wmxm优化的目标函数为
E
(
w
)
=
1
2
∑
i
=
1
n
(
y
(
x
i
;
w
)
−
t
i
)
2
E(\mathbf{w}) = \frac{1}{2} \sum_{i = 1}^{n}(y(x_i;w) - t_i)^2
E(w)=21i=1∑n(y(xi;w)−ti)2优化目标为$
arg
min
w
E
(
w
)
\mathop{\arg\min}\limits_{\mathbf{w}} E(\mathbf{w})
wargminE(w)
这里
w
=
(
w
0
,
w
1
⋯
w
m
)
T
\mathbf{w} = (w_0,w_1\cdots w_m)^T
w=(w0,w1⋯wm)T
令
X
i
=
(
x
i
0
,
x
i
1
⋯
x
i
m
)
X_i = (x_i^0,x_i^1\cdots x_i^m)
Xi=(xi0,xi1⋯xim),即第i个样本的0-m次幂组成的列向量。再令
X
‾
=
[
X
1
X
2
⋮
X
n
]
\overline{X} = \left[\begin{matrix} X_1 \\ X_2 \\ \vdots \\X_n \end{matrix}\right]
X=⎣⎢⎢⎢⎡X1X2⋮Xn⎦⎥⎥⎥⎤.最后,令
T
=
(
t
1
,
t
2
⋯
t
n
)
T
T = (t_1,t_2 \cdots t_n)^T
T=(t1,t2⋯tn)T。则最终的优化目标可以写作:
arg
min
w
1
2
(
X
‾
w
−
T
)
T
(
X
‾
w
−
T
)
\mathop{\arg\min}\limits_{\mathbf{w}} \frac{1}{2}(\overline{X}\mathbf{w}-T)^T(\overline{X}\mathbf{w}-T)
wargmin21(Xw−T)T(Xw−T)
为了求出上述式子的解析解,只需令
d
E
d
w
=
0
\frac{dE}{d\mathbf{w}} = 0
dwdE=0。
而
E
(
w
)
=
1
2
(
w
T
X
‾
T
−
T
T
)
(
X
‾
w
−
T
)
=
1
2
(
w
T
X
‾
T
X
w
−
2
w
T
X
‾
T
T
+
T
T
T
)
E(w) = \frac{1}{2}(\mathbf{w}^T\overline{X}^T - T^T)(\overline{X}\mathbf{w} - T) \\ = \frac{1}{2}(\mathbf{w}^T\overline{X}^TX\mathbf{w} - 2\mathbf{w}^T\overline{X}^TT+T^TT)
E(w)=21(wTXT−TT)(Xw−T)=21(wTXTXw−2wTXTT+TTT)第二步成立是因为标量的转置和自身相等。
d
E
d
w
=
X
‾
T
X
‾
w
−
X
‾
T
T
\begin{aligned} \frac{dE}{d\mathbf{w}} &= \overline{X}^T\overline{X}\mathbf{w} - \overline{X}^TT \end{aligned}
dwdE=XTXw−XTT得到
w
=
(
X
‾
T
X
‾
)
−
1
X
‾
T
T
\mathbf{w} = (\overline{X}^T\overline{X})^{-1}\overline{X}^TT
w=(XTX)−1XTT
注:有关一些此正规方程优化的补充知识:
- 定理:如果一个函数是凸函数,那么这个函数的最优解 x ∗ x^* x∗的充分必要条件是: ∇ f ( x ∗ ) = 0 \nabla f(x^*) = 0 ∇f(x∗)=0
- 而线性最小二乘目标函数是凸函数。
- 定理:上述的normal equation必有解。有可能有唯一解,有可能有无穷多解。参见线性回归什么时候会fail
- 上述的矩阵是有可能不可逆的,这时可以调用伪逆pinv求出方程的一个特解,这个特解也是使得最小二乘损失最小的解。
- 因为这个特解也满足条件 ∇ f ( x ∗ ) = 0 \nabla f(x^*) = 0 ∇f(x∗)=0,由上面定理可知确实是一个最优解。