神经网络与深度学习笔记(六)神经网络与深度学习笔记(六)L2正则化 - 图4正则化

前言

神经网络与深度学习笔记(六)L2正则化 - 图5

前面提到过高方差问题主要的两种方式:

  • 获取更多的数据去训练。然而这种方式局限在于,数据并不是总是很容易获得的或者数据获取的代价很大。
  • 正则化。这就是这篇文章需要来讨论的主题。

最小化代价函数正则化

使用 神经网络与深度学习笔记(六)L2正则化 - 图6 正则化的最小化代价函数:

神经网络与深度学习笔记(六)L2正则化 - 图7%7D%20%20%5Cjmath(w%2Cb)%20%3D%20%5Cfrac%7B1%7D%7Bm%7D%5Csum%7Bi%3D1%7D%5Em%5Cjmath(%5Chat%20y%5E%7B(i)%7D%2Cy%5E%7B(i)%7D)%20%2B%20%5Cfrac%7B%5Clambda%7D%7B2m%7D%20%5CArrowvert%20w%5CArrowvert%5E%7B2%7D%7B2%7D%0A#card=math&code=min%7B%28w%2Cb%29%7D%20%20%5Cjmath%28w%2Cb%29%20%3D%20%5Cfrac%7B1%7D%7Bm%7D%5Csum%7Bi%3D1%7D%5Em%5Cjmath%28%5Chat%20y%5E%7B%28i%29%7D%2Cy%5E%7B%28i%29%7D%29%20%2B%20%5Cfrac%7B%5Clambda%7D%7B2m%7D%20%5CArrowvert%20w%5CArrowvert%5E%7B2%7D_%7B2%7D%0A)

其中,神经网络与深度学习笔记(六)L2正则化 - 图8 称为正则化参数。在编程过程中,常常把 神经网络与深度学习笔记(六)L2正则化 - 图9 写为lambd,以防止和Python语言中的关键字lamba起冲突。这一参数通常需要调优,使用开发集或者交叉验证集来验证。

那么:

神经网络与深度学习笔记(六)L2正则化 - 图10

到底是啥意思?

实际上,神经网络与深度学习笔记(六)L2正则化 - 图11 被称为 神经网络与深度学习笔记(六)L2正则化 - 图12 正则化,又称为参数 神经网络与深度学习笔记(六)L2正则化 - 图13 的欧几里得范数,神经网络与深度学习笔记(六)L2正则化 - 图14 范数等

神经网络与深度学习笔记(六)L2正则化 - 图15

既然有 神经网络与深度学习笔记(六)L2正则化 - 图16 范数,那么 神经网络与深度学习笔记(六)L2正则化 - 图17 范数是啥?

神经网络与深度学习笔记(六)L2正则化 - 图18 范数即为:

神经网络与深度学习笔记(六)L2正则化 - 图19

与此对应的 神经网络与深度学习笔记(六)L2正则化 - 图20 正则化

神经网络与深度学习笔记(六)L2正则化 - 图21

使用 神经网络与深度学习笔记(六)L2正则化 - 图22 正则化的最小代价函数为:

神经网络与深度学习笔记(六)L2正则化 - 图23%7D%20%20%5Cjmath(w%2Cb)%20%3D%20%5Cfrac%7B1%7D%7Bm%7D%5Csum%7Bi%3D1%7D%5Em%5Cjmath(%5Chat%20y%5E%7B(i)%7D%2Cy%5E%7B(i)%7D)%20%2B%20%5Cfrac%7B%5Clambda%7D%7B2m%7D%20%5Clvert%20%5Clvert%20w%5Clvert%20%5Clvert%7B1%7D%0A#card=math&code=min%7B%28w%2Cb%29%7D%20%20%5Cjmath%28w%2Cb%29%20%3D%20%5Cfrac%7B1%7D%7Bm%7D%5Csum%7Bi%3D1%7D%5Em%5Cjmath%28%5Chat%20y%5E%7B%28i%29%7D%2Cy%5E%7B%28i%29%7D%29%20%2B%20%5Cfrac%7B%5Clambda%7D%7B2m%7D%20%5Clvert%20%5Clvert%20w%5Clvert%20%5Clvert_%7B1%7D%0A)

然而使用 神经网络与深度学习笔记(六)L2正则化 - 图24 正则化的效果并不是太明显,主要是因为使用后会导致 神经网络与深度学习笔记(六)L2正则化 - 图25 稀疏,神经网络与深度学习笔记(六)L2正则化 - 图26 矢量中会有很多 0,虽然模型会有一定的压缩但是效果不大。

这就是为什么通常使用 神经网络与深度学习笔记(六)L2正则化 - 图27 正则化而不是 神经网络与深度学习笔记(六)L2正则化 - 图28 正则化的原因。

那么, 神经网络与深度学习笔记(六)L2正则化 - 图29 参数是否可以正则化呢?比如: 神经网络与深度学习笔记(六)L2正则化 - 图30

答案也是效果不大。

因为参数实际上大多数集中在 神经网络与深度学习笔记(六)L2正则化 - 图31 中,而不是 神经网络与深度学习笔记(六)L2正则化 - 图32 ,即使对 神经网络与深度学习笔记(六)L2正则化 - 图33 进行了正则化,神经网络与深度学习笔记(六)L2正则化 - 图34 对模型的影响效果也不是太大

在神经网络中的 神经网络与深度学习笔记(六)L2正则化 - 图35 正则化

神经网络与深度学习笔记(六)L2正则化 - 图36%20%26%3D%20%5Cfrac%7B1%7D%7Bm%7D%20%5Csum%7Bi%3D1%7D%5E%7Bm%7DL(%5Chat%20y%5E%7B(i)%7D%2Cy%5E%7B(i)%7D)%2B%5Cfrac%7B%5Clambda%7D%7B2m%7D%5Csum%7Bi%3D1%7D%5El%20%5Clvert%20%5Clvert%20w%5E%7B%5Bl%5D%7D%20%5Clvert%20%5Clvert%5E%7B2%7D%5C%5C%0A%5Clvert%20%5Clvert%20w%5E%7B%5Bl%5D%7D%20%5Clvert%20%5Clvert%5E%7B2%7DF%20%26%20%3D%20%5Csum%7Bi%20%3D%201%7D%5E%7Bn%5E%7B%5Bl%5D%7D%7D%20%5Csum%7Bj%3D1%7D%5E%7Bn%5E%7B%5Bl-1%5D%7D%7D(w%7Bij%7D%5E%7B%5Bl%5D%7D)%5E2%0A%5C%5C%0Aw%5E%7B%5Bl%5D%7D%26%3A(n%5E%7B%5Bl%5D%7D%2Cn%5E%7B%5Bl-1%5D%7D)%5C%5C%0A%5Cend%7Balign%7D%0A#card=math&code=%5Cbegin%7Balign%7D%0A%5Cjmath%20%28w%5E%7B%5B1%5D%7D%2Cb%5E%7B%5B1%5D%7D%2C%5Ccdots%20w%5E%7B%5Bl%5D%7D%2Cb%5E%7B%5Bl%5D%7D%29%20%26%3D%20%5Cfrac%7B1%7D%7Bm%7D%20%5Csum%7Bi%3D1%7D%5E%7Bm%7DL%28%5Chat%20y%5E%7B%28i%29%7D%2Cy%5E%7B%28i%29%7D%29%2B%5Cfrac%7B%5Clambda%7D%7B2m%7D%5Csum%7Bi%3D1%7D%5El%20%5Clvert%20%5Clvert%20w%5E%7B%5Bl%5D%7D%20%5Clvert%20%5Clvert%5E%7B2%7D%5C%5C%0A%5Clvert%20%5Clvert%20w%5E%7B%5Bl%5D%7D%20%5Clvert%20%5Clvert%5E%7B2%7DF%20%26%20%3D%20%5Csum%7Bi%20%3D%201%7D%5E%7Bn%5E%7B%5Bl%5D%7D%7D%20%5Csum%7Bj%3D1%7D%5E%7Bn%5E%7B%5Bl-1%5D%7D%7D%28w%7Bij%7D%5E%7B%5Bl%5D%7D%29%5E2%0A%5C%5C%0Aw%5E%7B%5Bl%5D%7D%26%3A%28n%5E%7B%5Bl%5D%7D%2Cn%5E%7B%5Bl-1%5D%7D%29%5C%5C%0A%5Cend%7Balign%7D%0A)

其中矩阵的 神经网络与深度学习笔记(六)L2正则化 - 图37%5E2#card=math&code=%5Clvert%20%5Clvert%20w%5E%7B%5Bl%5D%7D%20%5Clvert%20%5Clvert%5E%7B2%7DF%20%3D%20%5Csum%7Bi%20%3D%201%7D%5E%7Bn%5E%7B%5Bl%5D%7D%7D%20%5Csum%7Bj%3D1%7D%5E%7Bn%5E%7B%5Bl-1%5D%7D%7D%28w%7Bij%7D%5E%7B%5Bl%5D%7D%29%5E2) ,表示矩阵中元素平方和。又称为弗罗贝尼乌斯范数(Frobenius norm) ,这里就不叫 神经网络与深度学习笔记(六)L2正则化 - 图38 范数了。

在梯度下降的过程中,神经网络与深度学习笔记(六)L2正则化 - 图39神经网络与深度学习笔记(六)L2正则化 - 图40也会变化

神经网络与深度学习笔记(六)L2正则化 - 图41%5C%5C%0A%26%20%3D%20w%5E%7B%5Bl%5D%7D%20-%5Cfrac%7B%5Calpha%20%5Clambda%7D%7Bm%7Dw%5E%7B%5Bl%5D%7D%20-%20%5Calpha(dz%5E%7B%5Bl%5D%7D%20%20a%5E%7B%5Bl-1%5D%7D)%5C%5C%0A%26%20%3D%20w%5E%7B%5Bl%5D%7D(1-%5Cfrac%7B%5Calpha%20%5Clambda%7D%7Bm%7D)%20-%20%5Calpha(dz%5E%7B%5Bl%5D%7D%20%20a%5E%7B%5Bl-1%5D%7D)%5C%5C%0A%5Cend%7Balign%7D%0A#card=math&code=%5Cbegin%7Balign%7D%0Adw%5E%7B%5Bl%5D%7D%20%26%20%3D%20dz%5E%7B%5Bl%5D%7D%20%2A%20a%5E%7B%5Bl-1%5D%7D%20%2B%20%5Cfrac%7B%5Clambda%7D%7Bm%7Dw%5E%7B%5Bl%5D%7D%5C%5C%0Aw%5E%7B%5Bl%5D%7D%26%20%3D%20w%5E%7B%5Bl%5D%7D%20-%20%5Calpha%20dw%5E%7B%5Bl%5D%7D%5C%5C%0A%26%20%3D%20w%5E%7B%5Bl%5D%7D%20-%20%5Calpha%20%2A%28dz%5E%7B%5Bl%5D%7D%20%2A%20a%5E%7B%5Bl-1%5D%7D%20%2B%20%5Cfrac%7B%5Clambda%7D%7Bm%7Dw%5E%7B%5Bl%5D%7D%29%5C%5C%0A%26%20%3D%20w%5E%7B%5Bl%5D%7D%20-%5Cfrac%7B%5Calpha%20%5Clambda%7D%7Bm%7Dw%5E%7B%5Bl%5D%7D%20-%20%5Calpha%28dz%5E%7B%5Bl%5D%7D%20%2A%20a%5E%7B%5Bl-1%5D%7D%29%5C%5C%0A%26%20%3D%20w%5E%7B%5Bl%5D%7D%281-%5Cfrac%7B%5Calpha%20%5Clambda%7D%7Bm%7D%29%20-%20%5Calpha%28dz%5E%7B%5Bl%5D%7D%20%2A%20a%5E%7B%5Bl-1%5D%7D%29%5C%5C%0A%5Cend%7Balign%7D%0A)

故,在梯度下降过程中,神经网络与深度学习笔记(六)L2正则化 - 图42 是逐渐变小的,所以 神经网络与深度学习笔记(六)L2正则化 - 图43 正则化有时称之为权重衰减

为什么 神经网络与深度学习笔记(六)L2正则化 - 图44 正则化可以防止过拟合,减少方差?

神经网络与深度学习笔记(六)L2正则化 - 图45

神经网络与深度学习笔记(六)L2正则化 - 图46%20%3D%20%5Cfrac%7B1%7D%7Bm%7D%20%5Csum%7Bi%3D1%7D%5E%7Bm%7DL(%5Chat%20y%5E%7B(i)%7D%2Cy%5E%7B(i)%7D)%2B%5Cfrac%7B%5Clambda%7D%7B2m%7D%5Csum%7Bi%3D1%7D%5El%20%5Clvert%20%5Clvert%20w%5E%7B%5Bl%5D%7D%20%5Clvert%20%5Clvert%5E%7B2%7D%5C%5C%0A#card=math&code=%5Cjmath%20%28w%5E%7B%5B1%5D%7D%2Cb%5E%7B%5B1%5D%7D%2C%5Ccdots%20w%5E%7B%5Bl%5D%7D%2Cb%5E%7B%5Bl%5D%7D%29%20%3D%20%5Cfrac%7B1%7D%7Bm%7D%20%5Csum%7Bi%3D1%7D%5E%7Bm%7DL%28%5Chat%20y%5E%7B%28i%29%7D%2Cy%5E%7B%28i%29%7D%29%2B%5Cfrac%7B%5Clambda%7D%7B2m%7D%5Csum%7Bi%3D1%7D%5El%20%5Clvert%20%5Clvert%20w%5E%7B%5Bl%5D%7D%20%5Clvert%20%5Clvert%5E%7B2%7D%5C%5C%0A)

观察上图的公式:

神经网络与深度学习笔记(六)L2正则化 - 图47神经网络与深度学习笔记(六)L2正则化 - 图48 足够大的时候 ——> 神经网络与深度学习笔记(六)L2正则化 - 图49 就会 神经网络与深度学习笔记(六)L2正则化 - 图50 ——> 从而将隐藏单元的影响削减 ——> 进一步使得神经网络简单化 ——> 最终使得神经网络接近逻辑回归

举个例子:

当激活函数是 神经网络与深度学习笔记(六)L2正则化 - 图51#card=math&code=tanh%28z%29) 时,

神经网络与深度学习笔记(六)L2正则化 - 图52

神经网络与深度学习笔记(六)L2正则化 - 图53%5Cdownarrow%20%5Clongrightarrow%20%E6%8E%A5%E8%BF%91%E7%BA%BF%E6%80%A7%0A#card=math&code=%5Clambda%20%5Cuparrow%20%5Clongrightarrow%20w%5E%7B%5Bl%5D%7D%20%5Cdownarrow%20%5Clongrightarrow%20%28z%5E%7B%5Bl%5D%7D%3Dw%5E%7B%5Bl%5D%7Da%5E%7B%5Bl-1%5D%7D%2Bb%5E%7B%5Bl%5D%7D%29%5Cdownarrow%20%5Clongrightarrow%20%E6%8E%A5%E8%BF%91%E7%BA%BF%E6%80%A7%0A)

因为 神经网络与深度学习笔记(六)L2正则化 - 图54 变小会导致以 神经网络与深度学习笔记(六)L2正则化 - 图55 为参数求出的 神经网络与深度学习笔记(六)L2正则化 - 图56 的值变小,使得隐藏单元的影响削减,使得神经网络简单化,最后使得神经网络接近逻辑回归

就降低了方差

同时,在使用 神经网络与深度学习笔记(六)L2正则化 - 图57正则化时建议画出 神经网络与深度学习笔记(六)L2正则化 - 图58 关于梯度下降迭代次数的图像

神经网络与深度学习笔记(六)L2正则化 - 图59

你会发现使用 神经网络与深度学习笔记(六)L2正则化 - 图60 正则化后,随着迭代次数的增加,神经网络与深度学习笔记(六)L2正则化 - 图61 的值会逐渐减小