读书笔记:深度学习中的正则化
声明:读书笔记,未完成梳理,不值得参考。
阅读书籍:《深度学习》花书,第7章
正则化:对学习算法的修改--旨在减小泛化误差而不是训练误差。
个人描述:正则化项的目的是为了提升模型的泛化能力,使模型在训练误差小的情况下,在测试数据上也有比较小的误差。它存在的目的不是为了使模型在训练集上有更小的损失/误差。
估计的正则化是以偏差的增加换取方差的减小
正则化对象:神经网络中的权重。在神经网络中,参数包括每一层仿射变换的权重和偏置。正则化项通常只对权重进行约束。
----------------------------------------------------
P143页,公式(7.6)下方提到:“因为
是
的一个最优点,我们可以得出H是半正定的结论。”
描述:最优点就是局部极小点,H是目标函数的二阶导数
疑问:为什么最优点处H半正定?
最简单直接的回答如下:引用自:知乎
个人补充:
深度学习中经常会用到Hessian矩阵来分析问题。因为,我们经常在损失函数的某个位置进行二阶近似(在某个位置处将损失函数进行泰勒级数展开,并仅仅保留到二次项),来分析这个位置的一些性质。
深度学习的损失函数通常输出的是一个标量,但是这个损失函数有多个变量,这些变量可以串连成一个矢量。损失函数对这些变量的二阶导数就是一个标量函数对矢量变量求二阶导的过程,得到的就是Hessian矩阵。
二阶导数可以用于确定一个临界点是局部极大值,局部极小值或鞍点。
- 一阶导数等于0,二阶导数大于0(函数局部),局部极小值。
- 一阶导数等于0,二阶导数小于0,局部极大值。
- 一阶导数等于0,二阶导数等于0,无法确定局部极大或局部极小,也有可能是鞍点或平坦部分的一部分。
类似,Hessian矩阵将导数向多维扩展,也能用于判断损失函数在某个位置处是局部极小值,局部极大值或鞍点。
- 一阶导数向量等于0,Hessian正定(所有特征值都是正的),局部极小值。
- 一阶导数向量等于0,Hessian负定(所有特征值都是负的),局部极大值。
- 一阶导数向量等于0,Hessian至少有一个正特征值,至少有一个负特征值,则该点处在某个横截面上是极大值,在另一个横截面上是极小值。
- 一阶导数向量等于0,Hessian至少有一个0特征值时,不确定,即使其他特征值同号。不确定是指在0特征值对应的横截面上不确定。
个人理解:如果一阶导数等于0,二阶导数大于0意味着向任何一个方向走,一阶导数都会变得大于0,函数值会走向上升,所以所在点是一个局部极小点。