本系列共四篇,为林轩田机器学习基础篇学习笔记。主要内容可以总结概括为:线性模型通过非线性的变换可以得到非线性的模型,增强了模型对数据的拟合能力,但这样导致了在机器学习领域中一个很常见的问题,过拟合。为了解决这个问题引入了正则化因子(规则化因子)。而为了解决正则化因子的选择,模型的选择以及超参数的选择等问题引入了 validation v a l i d a t i o n 的相关方法。
- 机器学习笔记- Nonlinear Transformation N o n l i n e a r T r a n s f o r m a t i o n
- 机器学习笔记- Hazard of Overfitting H a z a r d o f O v e r f i t t i n g
- 机器学习笔记- Regularization R e g u l a r i z a t i o n
- 机器学习笔记- Validation V a l i d a t i o n
1 - Regularized Hypothesis Set
上一篇中说到,在机器学习中最大的危险是过拟合。 当使用的模型的复杂度过高,资料量不多,资料存在噪声或者是目标函数很复杂的时候都有可能会出现过拟合的情况。 Regularization R e g u l a r i z a t i o n 可以看成是对付过拟合的一个方法。首先会介绍其数学推导,然后将其延伸到不同的方法上。
1.1 - 正则化
右图是一个典型的过拟合的情形,资料量大小为 5 5 ,当我们使用一个四次甚至是更高次的多项式去拟合的时候,红色的线很低,完美的穿过了所有的点,但是 Eout E o u t 很高,离 target function t a r g e t f u n c t i o n 即那条蓝色的线很远。所以很显然发生了过拟合。我们想要做的是将右图中的红色的线变为左图中的红线 regularized fit r e g u l a r i z e d f i t 。 很明显,左图中红线相比右图中的红线平滑了很多, 所以比较贴近 target function t a r g e t f u n c t i o n 。
左图中的红线是比较低次的多项式拟合的结果,右边的红线是比较高次的多项式拟合的结果。
从上图看到使用高次的多项式(大的
Hypothesis Set
H
y
p
o
t
h
e
s
i
s
S
e
t
)会出现过拟合的情形,使用低次多项式可能可以避免过拟合,而高次多项式(大的
Hypothesis Set
H
y
p
o
t
h
e
s
i
s
S
e
t
)包含低次多项式(小的
Hypothesis Set
H
y
p
o
t
h
e
s
i
s
S
e
t
),如下图所示,所以我们考虑从大的
Hypothesis Set
H
y
p
o
t
h
e
s
i
s
S
e
t
退回到小的
Hypothesis Set
H
y
p
o
t
h
e
s
i
s
S
e
t
中的话,这样可能就不会有
overfitting
o
v
e
r
f
i
t
t
i
n
g
的发生。
- regularization r e g u l a r i z a t i o n 的思想来自早期做 function approximation function approximation ,当需要逼近某个函数(其实 regression r e g r e s s i o n 也是在逼近某个函数)的时候,通常很多问题是 ill-postd ill-postd 的,也就是很多函数都满足解的条件, 导致不知道该选哪个作为最终的解,这个时候就需要加一些限制条件。同样我们现在做 regression r e g r e s s i o n 也是一个解太多的问题,因为能够穿过这些点的函数有无穷多个, regularization r e g u l a r i z a t i o n 就是要加一些限制从中得到最好的结果。
如何从高次的多项式变为低次的多项式呢,这里以二维空间中的线性回归+ Q Q 次多项式的特征转换 ΦQ(x)=(1,x,x2,x3,⋯,xQ) Φ Q ( x ) = ( 1 , x , x 2 , x 3 , ⋯ , x Q ) 为学习问题,以从十次的多项式变为二次的多项式为例来进行讨论。
十次多项式的假设集为:
Hypothesis w in H10:w0+w1x+w2x2+w3x3+⋯+w10x10
H
y
p
o
t
h
e
s
i
s
w
i
n
H
10
:
w
0
+
w
1
x
+
w
2
x
2
+
w
3
x
3
+
⋯
+
w
10
x
10
二次多项式的假设集为:
Hypothesis w in H2:w0+w1x+w2x2
H
y
p
o
t
h
e
s
i
s
w
i
n
H
2
:
w
0
+
w
1
x
+
w
2
x
2
我们看得出来,所有的 2 2 次多项式就等价于次多项式加上一些条件,这些条件可以表示为 w3=w4=⋯=w10=0 w 3 = w 4 = ⋯ = w 10 = 0 。那么上面讲到的想要从十次多项式退回到二次多项式就可以通过这样的方式做到,即,加限制条件 :w3=w4=⋯=w10=0 : w 3 = w 4 = ⋯ = w 10 = 0 。
考虑两个问题:
找一个最好的十次多项式来使得 Ein E i n 最小,也就是找一个最好的 11 11 个维度的向量 w w 来使得最小。
- 这个问题的假设集是: H10={w∈R11} H 10 = { w ∈ R 11 } ,
- 其最佳化问题为:
minw∈R11Ein(w) m i n w ∈ R 11 E i n ( w ),
第二个问题是:找一个最好的二次多项式来使得 Ein E i n 最小,但是考虑的假设集和上一个问题一样,都是考虑找最好的 11 11 维度的向量 w w 来最小化,但是有条件限制, w3=w4=⋯=w10=0 w 3 = w 4 = ⋯ = w 10 = 0 。
- 这个问题的假设集是: H10={w∈R11,while w3=w4=⋯=w10=0} H 10 = { w ∈ R 11 , w h i l e w 3 = w 4 = ⋯ = w 10 = 0 } ,
- 其最佳化问题为:
minw∈R11Ein(w)s.t.w3=w4=⋯=w10=0 m i n w ∈ R 11 E i n ( w ) s . t . w 3 = w 4 = ⋯ = w 10 = 0
之所以这样做是为了之后的推导更加顺理成章一点(因为第二个问题很明显饶了一个没有必要的圈子)。
现在我们把上述的第二个问题的条件放宽松一点:原来我们要求的是 w3=w4=⋯=w10=0 w 3 = w 4 = ⋯ = w 10 = 0 ,现在我们要求只要有大于 8 8 个权重等于 就可以了。这样的话就不一定是二次多项式,而可能是一个高于二次的多项式了。 不过由于这个高次的多项式中只有很少的系数不为 0 0 , 那么可能就拥有了和二次多项式一样的简单性质。那么原来的问题和新的问题分别表示如下:
原问题:
条件放宽松之后的新问题:
现在我们可以得到以下的包含关系:
这也就是说:
H′2 H 2 ′ 会比 H2 H 2 更加的灵活 (flexible) ( f l e x i b l e ) 一点,模型复杂度更高一点,但是没有 H10 H 10 那么复杂( powerful powerful )以至于那么容易过拟合。虽然这个新的最佳化问题有很多的好处,比如不那么容易过拟合,解是稀疏的。但是由于在其条件中存在 boolean operation boolean operation 这样离散的函数,所以这个问题的求解也被证明是个 NP N P 难问题。
为了可以求解,进一步将问题的条件放宽松。
原来的问题是:
进一步放宽松之后的问题如下:(如果要求
w
w
只能有小于等于个不为
0
0
,可以近似等价的要求所有的的平方和小于一个数)
关于 H(C) H ( C ) :
- H(C) H ( C ) 会和 H′2 H 2 ′ 有重合的部分,但是不一定是等同的关系。
- 当 C C 大于的时候, H(C) H ( C ) 之间存在包含的关系, H(0)⊂H(1.126)⊂H(1126)⊂⋯⊂H(∞)=H10 H ( 0 ) ⊂ H ( 1.126 ) ⊂ H ( 1126 ) ⊂ ⋯ ⊂ H ( ∞ ) = H 10
我们把 H(C) H ( C ) 这样的 hypothesis set hypothesis set 称为是正则化的 hypothesis hypothesis , 也就是加上条件的 hypothesis hypothesis 。如果可以在这样的 hypothesis hypothesis 下找到一个好的 w w ,我们将这样的称为是 wreg w r e g ,也就是在我们的正则下找到的假设函数。
2 - Weight Decay Regularization
2.1 - 岭回归(正则化的线性回归)
通过上一小节的分析得到了带有条件的线性回归问题, 如下:
将这个问题表示为向量和矩阵的形式:
限制条件 wTw≤C w T w ≤ C 在几何上代表我们想要的 w w 在一个球里面:球心在原点,球的半径是。 所以我们想要找到的只是在这些球里面的所有的 w w 中,哪个是最好的。
2.2 - 通过直观分析求解
如果是求解无约束的最优化问题,沿着目标函数的梯度的反方向不断的更新变量可以到达目标函数的最小值。如图,位于当前的一个位置,梯度的反方向 −▽Ein − ▽ E i n 如图中的蓝色箭头所示,所以只要沿着这个方向走,就能最终走到不加限制条件的线性回归的最佳解 wlin w l i n 。但是现在我们需要在约束下求解最优化问题,其中的约束为: w w 需要在半径为的球内,如图中红色的圆所示。所以就算你知道 wlin w l i n 在什么方向,但是这样的限制下你也不可能去到那里。 并且可以想象大部分的情况下,约束条件下的最优解都会在球的边缘上。
假设现在有一个 w w 已经在球的边界上了, 那么如何判断该是不是最佳解 wreg w r e g 呢?
球的表达式为 wTw=C w T w = C ,所以球的法向量为 w w 。从图中可以看出最佳的, 即 wreg w r e g ,应该满足的条件是: wreg w r e g 处的梯度的反方向应该平行于球的法向量。若梯度的反方向不平行于球的法向量,那么梯度的反方向一定有平行于球的切面的分量,如图中绿色的箭头所示, 那么就说明还存在更好的 w w 能更加的接近。
综上:我们想要的解
wreg
w
r
e
g
要满足如下的性质:(目标函数的梯度方向要和球的法线方向
w
w
平行,其中的参数是为了后续操作的方便而 添加的常量)
如果
λ
λ
是已知的 并且
λ>0
λ
>
0
,针对线性回归问题上式可以整理为:
(1)
(
1
)
为只有一个变量
wreg
w
r
e
g
的线性方程。可以得到最佳的解为:
只要 λ>0 λ > 0 , ZTZ+λI Z T Z + λ I 就是可逆的, 因为 ZTZ Z T Z 是半正定的,加 λI λ I 之后变为正定的。
这个模型被称为是 ridge regression ridge regression ,也就是加了正则化项的线性回归。
上述给出的仅仅是针对 linear regression linear regression 问题的解。如果是其他的问题呢?例如怎么求解 logistic regression logistic regression 加上 regularization r e g u l a r i z a t i o n 的解呢?
2.3 - 利用kkt求解
在求解最优化问题中,拉格朗日乘子法 (Lagrange Multiplier) ( Lagrange Multiplier ) 和 KKT(Karush Kuhn Tucker) KKT(Karush Kuhn Tucker) 条件是两种最常用的方法。在有等式约束时使用拉格朗日乘子法,在有不等约束时使用 KKT K K T 条件。这里提到的最优化问题通常是指对于给定的某一函数,求其在指定作用域上的全局最小值问题。
一般情况下,最优化问题会碰到一下三种情况:
2.3.1 - 无约束条件
这是最简单的情况,解决方法通常是函数对变量求导,令求导函数等于0的点可能是极值点。将结果带回原函数进行验证即可。
2.3.2 - 等式约束条件
此时使用的方法是拉格朗日乘子法,首先定义拉格朗日函数 F(x) F ( x ) :
然后求解拉格朗日函数对各个变量的偏导数,并令其为0:
方程组的解就可能是最优解。
2.3.3 - 不等式约束条件
定义不等式约束下的拉格朗日函数:
求解方法是 KKT KKT 条件, KKT KKT 条件是说最优值必须满足以下条件:
- L(a,b,x) L ( a , b , x ) 对 x x 求导为零
- a∗g(x)=0 a ∗ g ( x ) = 0
所以对于带有正则条件的线性回归问题的求解过程如下:
首先构造拉格朗日函数如下:
根据上述提到的 KKT KKT 条件中的第一个可知最优解满足 ∂L∂w=0 ∂ L ∂ w = 0
2.4 - 带正则的损失函数
根据高等数学的知识可以知道,求解
等价于想要最小化:
所以当我们想要求解 (3) ( 3 ) 的最小化问题的时候,就是要求解 (2) ( 2 ) 。我们将 wTw w T w 称为 regularizer r e g u l a r i z e r , 将 (3) ( 3 ) 称为 augmented error augmented error 。
如果 λ λ 是已知的话, 原来求解有约束的最优化问题就变为求解无约束的最优化问题,并且这样的问题我们是可以求解的。
- 原来的有约束的问题是长这样的:求解一个有约束的最小化
Ein
E
i
n
问题。
minw∈RQ+1s.t.Ein(w)∑q=0Qw2q≤C(50)(51)(4) (4) (50) m i n w ∈ R Q + 1 E i n ( w ) (51) s . t . ∑ q = 0 Q w q 2 ≤ C - 现在如果可以知道
λ
λ
的大小,就可以求解如下的无约束的最优化问题:
minwEin(w)+λNwTw(5) (5) m i n w E i n ( w ) + λ N w T w
一开始我们想要最优化的问题是 (4) ( 4 ) ,而对于一个特定的 C C 总存在一个使得这两个最优化问题是等价的。(优化里的知识不懂,望赐教)
原来的问题我们需要提前设定参数 C C , 现在的问题通过设置来代替 C C 达到同样的效果。
2.5 - 实例分析
从图中可以看出, 只要加一点的, 即加一点点的 regularization r e g u l a r i z a t i o n 就可以得到很好的结果。
λ λ 越大 ⟷ ⟷ 更倾向于使得 w w 越短越好(可以理解为在惩罚很大的 w w )对应于更小的 C C
因为加上后我们其实是会得到比较短的 w w ,所以通常这样的被称为 weight decay regularization w e i g h t d e c a y r e g u l a r i z a t i o n 。
这样的 regularization r e g u l a r i z a t i o n 的方式可以搭配其他的模型, 例如 logistic regression l o g i s t i c r e g r e s s i o n ,也可以搭配其他的 feature transform f e a t u r e t r a n s f o r m ,不仅仅是 polynomial transform p o l y n o m i a l t r a n s f o r m 。
2.6 - Legendre polynomials
这里提一个小小的细节,刚刚说这样的 regularization r e g u l a r i z a t i o n 可以和任何形式的 feature transform f e a t u r e t r a n s f o r m 搭配使用。但是在使用 polynomial transform p o l y n o m i a l t r a n s f o r m 的时候,会有一些缺陷。如果样本特征的取值范围是 [−1,1] [ − 1 , 1 ] 的话,那么该值的 Q Q 次方将会是一个很小很小的数,这样的数值喂给计算机除了有精确度的问题之外,还有一个问题需要考虑:如果这个经过转换之后的特征确实有用,那么它想要发挥作用的话,可能就需要一个很大的权重值。这和 regularization r e g u l a r i z a t i o n 想要“压缩” w w 似乎是有点冲突的,因为这样看起来过度的惩罚了这些高维度的特征所需要的大的权重。(高维度想要打的权重,正则化不让)。
为了解决这个问题,首先需要在多项式空间中找到一组垂直的基底函数,这些函数彼此的內积为。这些基底被称为是 legendre polynomial l e g e n d r e p o l y n o m i a l 。只需要记得当使用 polynomial transform p o l y n o m i a l t r a n s f o r m 做 regression r e g r e s s i o n ,并且加正则化项的的时候,使用 legendre polynomial l e g e n d r e p o l y n o m i a l 会得到更好的效果:
下面给出的是前 5 5 个。
3 - Regularization and VC Theory
总结一下 regularization r e g u l a r i z a t i o n 问题的提出和解决方案:一开始我们是想解决一个有约束的最小化问题如下:
因为 C C 和的对应关系,我们将其转换为了一个无约束的最优化问题,也就是求解如下的 augmented error a u g m e n t e d e r r o r 的最小化问题:
原始问题所对应的 VC V C 的保证是:
regularizer wTw=Ω(w)
r
e
g
u
l
a
r
i
z
e
r
w
T
w
=
Ω
(
w
)
可以看做是一个假设函数的复杂度。
Ω(H)
Ω
(
H
)
代表的是整个假设集的复杂度。
如果
λNΩ(w)
λ
N
Ω
(
w
)
能够很好的代表
Ω(w)
Ω
(
w
)
的话,那么
Eaug
E
a
u
g
可能是比
Ein
E
i
n
更好的一个
Eout
E
o
u
t
的“代理”。或者说,我们去最小化
Eaug
E
a
u
g
比去最小化
Ein
E
i
n
更接近是在最小化
Eout
E
o
u
t
。(原来我们是想要最小化
Ein
E
i
n
来保证
Eout
E
o
u
t
最小,但是现在发现最小化
Eaug
E
a
u
g
看起来能更好的最小化
Eout
E
o
u
t
, 因为
Eaug
E
a
u
g
考虑了复杂度,并且最小化
Eaug
E
a
u
g
的时候时无约束的,可以在更大的假设集中做出选择。不知道理解的对不对)。
4 - 更多的正则项
前面介绍的 regularization r e g u l a r i z a t i o n 都是基于 weight decay regularizer w e i g h t d e c a y r e g u l a r i z e r ,即 wTw w T w 。那么对于更一般的问题来说,到底应该加什么样子的 regularizer r e g u l a r i z e r 对于结果是好的呢?
4.1 - general regularizers
下面给出在添加正则化项时可以考虑的一些依据,
- 根据
target function
t
a
r
g
e
t
f
u
n
c
t
i
o
n
的特征
如果 target function t a r g e t f u n c t i o n 是个偶函数或者是很接近偶函数的话,所以我们考虑约束奇数次方的 w w ,使得奇数次方的的值变小就更加符合对于 target function t a r g e t f u n c t i o n 的认识。通过添加相应的 regularizer r e g u l a r i z e r 可以达到这个目的: ∑|[q is odd]|w2q ∑ | [ q i s o d d ] | w q 2 - 选用可以帮助我们选择出比较平滑和简单的假设函数的
regularizer
r
e
g
u
l
a
r
i
z
e
r
regularization r e g u l a r i z a t i o n 是用来对付 overfitting o v e r f i t t i n g 的一种方法,而 overfitting o v e r f i t t i n g 的成因是因为有 noise n o i s e 的存在。不管是 stochastic noise s t o c h a s t i c n o i s e 还是 deterministic noise d e t e r m i n i s t i c n o i s e 都是造成资料“不平滑”的原因。而 target function t a r g e t f u n c t i o n 相对于 noise n o i s e 来说是比较平滑的,所以我们应该选择比较平滑的 hypothesis h y p o t h e s i s 。例如 L1 regularizer L 1 r e g u l a r i z e r 会帮助找出简单的函数。 - 找容易最优化的
regularizer
r
e
g
u
l
a
r
i
z
e
r
例如 weight decay regularizer w e i g h t d e c a y r e g u l a r i z e r ,即 L2 norm L 2 n o r m 就是这样的。
4.2 - L2 and L1 regularizer
L2 Regularizer:Ω(w)=∑Qq=0w2q=∥w∥2 L 2 R e g u l a r i z e r : Ω ( w ) = ∑ q = 0 Q w q 2 = ‖ w ‖ 2
L2 Regularizer L 2 R e g u l a r i z e r 处处可微,所以容易做最佳化,
L1 Regularizer:Ω(w)=∑Qq=0|wq|=∥w∥1 L 1 R e g u l a r i z e r : Ω ( w ) = ∑ q = 0 Q | w q | = ‖ w ‖ 1
L1 Regularizer L 1 R e g u l a r i z e r 依然是 convex c o n v e x 的,但是因为有一些角存在,所以并不是处处可微的。从图中可以看出, L1 L 1 的解通常是稀疏的,因为最优解出现在目标函数的等高线(如图中蓝色线)和约束条件的边界(如图中红色线)相切的点上,而这一点通常位于红色边界的顶点处。
4.3 - The optimal λ λ
当决定了 regularizer r e g u l a r i z e r 之后,另一个需要考虑的问题是参数 λ λ 的选取。下面结合两个实验结果进行分析
- 当
stochastic noise σ2=0,0.25,0.5
s
t
o
c
h
a
s
t
i
c
n
o
i
s
e
σ
2
=
0
,
0.25
,
0.5
的时候,计算不同的
λ
λ
下
Eout
E
o
u
t
的取值
- 当
deterministic noise Qf=15,30,100
d
e
t
e
r
m
i
n
i
s
t
i
c
n
o
i
s
e
Q
f
=
15
,
30
,
100
的时候,计算不同的
λ
λ
下
Eout
E
o
u
t
的取值
可以看出来当 noise n o i s e 越多的时候, 我们需要更大的 regularizar r e g u l a r i z a r ,因此需要更大的 λ λ 。但是实际上我们并不知道在数据中有多少的 noise n o i s e ,所以一般来说我们需要在不同的 λ λ 中做选择来让 regularizer r e g u l a r i z e r 发挥最大的效果。那么问题来了, 怎么进行参数的选择呢?在下一篇 validation v a l i d a t i o n 中将会系列的给出在 machine learning m a c h i n e l e a r n i n g 中做参数选择的方法。
5 - Summary
这一篇的主要内容是正则化 regularization r e g u l a r i z a t i o n , regularized hypothesis set r e g u l a r i z e d h y p o t h e s i s s e t 其实就是在原来的 hypothesis set h y p o t h e s i s s e t 的基础上加上了条件,将加上这样的条件的问题的求解转换为一个 augmented error a u g m e n t e d e r r o r 的最优化问题。 regularizer r e g u l a r i z e r 是一个非常常用的工具,我们可以根据对 target function t a r g e t f u n c t i o n 的认识等等将正则化项添加到目标函数中。