平滑
平滑的目的也是正则化的目的之一,它是针对参数w而言的,本质上就是要使得w的变化不要那么剧烈,有如下数学模型(假设最小化J):
\[J(w) = {\sum\limits_{i = 1}^N {\left( {{y_i} - {w^T}{x_i}} \right)} ^2} + \lambda \left\| w \right\|_2^2\]式1中,左侧是一个典型的线性回归模型,(xi,yi)为实际观测值,w是估计的参数,右侧就是一个正则化项。可以直观的感受到,正则化项实际上起到了限制参数w的“变化程度或变化幅值”的作用,具体来说,它可以令w的任何一个分量相比较于剩余分量变化程度保持一致,不至于出现变化特别明显的分量。直接的作用就是防止模型“过拟合”,提高了模型的泛化性能。
拉普拉斯平滑
定义:
假设f是定义在d维子空间中的一个实函数,该子空间上的拉普拉斯算子和拉普拉斯代价函数分别为:
\[Lf(t) = \sum\limits_{i = 1}^d {\frac{{{\partial ^2}f}}{{\partial t_i^2}}} \] \[J(f) = \int\limits_{\Omega \in {R^d}} {{{(Lf(t))}^2}dt} \]我们想象一幅图像如果含有噪声,或者色彩变化剧烈,说明其不够平滑,上式中的算子就好比一个“小刷子”,不仅可以刷去“小黑点(噪声的一种)”,也可以模糊图像。而式中的代价函数就好比用这个“小刷子”去刷一整幅图像,使得整幅图像变得平滑。
应用:
当式2和式3中的d=2(图像就是2维的),并且积分号变成求和号时(连续变为离散),就是拉普拉斯平滑在图像上的应用。
拉普拉斯惩罚
机器学习中,大部分算法直接将图像(假设为M*N)按行或者列拉成向量,这样肯定会损失结构化信息。
结构化信息是什么?
图像中的像素点和它周围像素点之间的“大小依赖关系”,就是空间结构信息,如果在低维空间中这种“大小依赖关系”也能够保持,那么就相当于保持了图像的空间结构信息。
这种信息属于先验信息,NFL定理(西瓜书P9“没有免费的午餐”定理)说的很清楚:能够尽可能利用先验信息的学习算法才是好算法。看来,空间结构信息的破坏,会降低算法的“品味”。通过拉普拉斯惩罚,来补偿图像拉成向量x(M*N维)后失去的结构信息,公式如下:
\[{x_{new}} = \Delta *x\]其中,
\[\Delta = {D_1} \otimes {I_2} + {I_1} \otimes {D_2}\] \[{D_1},{I_1} \in {R^{M*M}}\] \[{D_2},{I_2} \in {R^{N*N}}\]式中,D1和D2均为拉普拉斯算子,而I1,I2就是单位矩阵,的乘法是Kronecke积,相当于将乘号右边的每个元素替换成为左边矩阵数乘对应元素,如果A是一个 m x n 的矩阵,而B是一个 p x q 的矩阵,Kronecke积则是一个 mp x nq 的矩阵。
上述公式实际上起到的效果是,求一个矩阵中每个元素的水平方向和垂直方向的二阶差分之和,这个矩阵在这里可以被看成参数w的矩阵形式(按列reshape)。
进一步,如果我们对一个线性回归模型加上拉普拉斯惩罚,模型就会变为如下形式:
\[J(w) = \sum\limits_{i = 1}^N {{{({y_i} - {w^T}{x_i})}^2} + \lambda \left\| {\Delta \cdot w} \right\|} _2^2\]这个模型就是一个加了正则化项(即加了拉普拉斯惩罚)的线性回归模型.
拉普拉斯惩罚的具体形式为:
\[\Delta = {D_1} \otimes {I_2} + {I_1} \otimes {D_2}\]这样的话,假设图像x为M×N矩阵,那么对应的参数向量w就为M×N维的列向量,当算子采用修正的Neuman算子时(如下式所示),上面的拉普拉斯惩罚公式第一项起到的作用就是保持图像的列方向的空间结构(列方向上,相邻像素的大小关系保持不变),第二项起到的作用就是提取行方向的空间结构(行方向上,相邻像素的大小关系保持不变),两项加在一起,保持的自然就是图像整体的空间结构了。
\[\left[ {\begin{array}{*{20}{c}} { - 1}&1&{}&{}&{}\\ 1&{ - 2}&1&{}&{}\\ {}& \cdot & \cdot & \cdot &{}\\ {}&{}&1&{ - 2}&1\\ {}&{}&{}&1&{ - 1} \end{array}} \right]\]拉普拉斯惩罚使得模型更加平滑,比简单的2范数(岭回归)要好,因为拉普拉斯惩罚在参数向量w(M*N维)上施加平滑约束,也就是让相邻的分量尽可能的相等,这样的话,w与一个图像(肯定是拉成向量之后的图像)相乘,图像像素与周围像素的大小关系得以保持,也就使得图像的空间结构信息得到保持。
拉普拉斯惩罚常被用于PCA,LDA,LPP,NPE等子空间学习算法的改造上面,一般会使算法性能得到提升。