从范数到正则化

2019-05-14  本文已影响0人  变身的大恶魔

范数是一个在数学领域中常用的工具,同时也是学习机器学习原理中经常碰到的概念。本文将从范数的定义出发,逐步带你理解其在机器学习中的应用。

首先需要明确的是,范数是一个函数,在机器学习中我们通常用它来衡量向量的大小。L^p​范数定义为:
\left \| x \right \|_p = \left ( \sum_{i}\left | x^i \right |^p \right )^{1/p}

1.常见的范数

下面简要介绍一些常见的范数,到这一步暂且只需要记住它们的形式。

1.1 L^2范数

p = 2时,L^2范数也被称为欧几里得范数,表示从远点出发到向量x确定的点的欧几里得距离。这个范数在机器学习中应用的非常频繁,我们先记住它的简化表示:\left \| x \right \|
\left \| x \right \| = \left ( \sum_{i}\left | x^i \right |^2 \right )^{1/2}

1.2 平方L^2范数

顾名思义就是L^2​范数的平方,好处就是它显然比L^2​范数容易计算,可以简单的通过点积x^Tx​计算。

1.3 L^1范数

有些情况下平方L^2范数不是很受欢迎,因为它在原点附近增长得十分缓慢。有时候区分恰好是零和非零但值很小的元素是很重要的,这时候就可以使用各位置斜率相同L^1范数:
\left \| x \right \|_1 = \sum_{i}\left | x^i \right |

1.4 L^\infty范数

L^\infty范数也被称为最大范数,表示向量中具有最大幅值的元素的绝对值:
\left \| x \right \|_\infty = \underset{i}{max}\left | x_i \right |

2.深度学习中的正则化

2.1偏差(bias)和方差(variance)

在介绍深度学习中的正则化之前,我们先要从机器学习的场景出发思考,是什么问题促使我们需要用正则化这个工具呢?​

偏差和方差通常可以用来判断模型拟合数据的情况,看下面这张图,\bigcirc\times代表两种不同的样本点。

第一个坐标系中由于分类器接近于线性,拟合数据的能力比较差,表现出欠拟合,对应高偏差high bias;第三个坐标系对于训练数据过拟合,对应高方差high variance;而中间的坐标系则是恰到好处的,我们比较希望得到的泛化能力较强的模型。

因此:

我们可以将正则化理解为“对学习算法的修改——目的是为了减少泛化误差,以偏差的增加换取方差的减少,从而抑制过拟合。”

2.2正则化如何抑制过拟合

我们将目标函数定义为J(\theta ;X,y),正则化后的目标函数为\tilde{J}(\theta ;X,y),\theta = w + b。通常只对权重w做正则化惩罚而不针对偏置项b,为了简单起见,我们假设没有偏置项:
\tilde{J}(w ;X,y) = J(w ;X,y) + \alpha 正则项

\alpha \in [0,\infty)是权衡正则化强度的超参。

2.2.1 L^2正则化

L^2​范数正则化也被称为权重衰减,这时
正则项 = \frac{1}{2}\left \| w \right \|_{2}^{2}
带入正则化后的目标函数
\tilde{J}(w ;X,y) = J(w ;X,y) + \frac{\alpha}{2}\left \| w \right \|_{2}^{2}
从上文1.2 平方L^2​范数的介绍中得到\left \| w \right \|_{2}^{2} = w^Tw​,因此
\tilde{J}(w ;X,y) = J(w ;X,y) + \frac{\alpha}{2}w^Tw
与之对应的梯度为:
\bigtriangledown _w\tilde{J}(w ;X,y) = \bigtriangledown _wJ(w ;X,y) + \alpha w
使用梯度下降更新权重,\euro为学习率:
w\leftarrow w - \epsilon (\bigtriangledown _wJ(w ;X,y) + \alpha w)
即:
w\leftarrow (1-\euro\alpha)w - \epsilon (\bigtriangledown _wJ(w ;X,y) )
可以看出加入权重衰减后会引起学习规则的修改,在每步梯度更新之前都会先收缩权重向量——将权重向量前边乘上一个小于1的权重因子(1-\epsilon \alpha),也就是说,正则化惩罚系数\alpha升高会将权重w拉向0。可以从两个角度进一步理解一下这个操作:

a.在神经网络中,当一些权重趋近于0时,则可以理解为去掉了一些逻辑单元,简化后的网络虽然小但深度很大。从而将高方差的模型往高偏差的方向拉,直到获取一个恰到好处的模型。

b.假设神经网络每层的激活函数为g(z) = tanh(z),z = w^{[l] }\varepsilon^{[l-1] }+b,正则化惩罚系数\alpha 升高 \rightarrow w减小 \rightarrow z 减小,从而使得g(z)从①③的非线性状态区域进入②接近于线性状态的区域,导致每层几乎是线性的(线性函数叠加仍然为线性),起到抑制过拟合的效果。

上一篇下一篇

猜你喜欢

热点阅读