前言
前几天在回顾压缩感知中的特征选择与LASSO回归发现了这个Tikhonov regularization,查了一下叫个如题的名字。先来浅说一下正则化这玩意:正则化(Regularization)是一种用来防止模型过拟合(Overfitting)的技术。过拟合指的是模型在训练数据上表现得过于完美,但是当遇到新的、未见过的数据时,模型的表现却大幅下降,即模型的泛化能力较差。这通常发生在模型过于复杂,以至于它开始捕捉训练数据中的噪声和随机波动,而不是数据背后的真实规律。
正则化通过在损失函数(Loss Function)中添加一个惩罚项(Penalty Term)来实现,这个惩罚项与模型的复杂度相关。模型越复杂,惩罚项的值就越大,从而使得损失函数的总值也越大。在训练过程中,模型会尝试同时最小化原始损失函数(如均方误差、交叉熵等)和正则化项,以达到一个平衡点。这样,正则化就鼓励模型在拟合训练数据的同时,保持较低的复杂度,从而提高模型的泛化能力。
常见的正则化方法包括:
1、L1正则化(LASSO回归):通过在损失函数中添加模型权重的绝对值之和作为惩罚项,来鼓励模型产生稀疏的权重,即许多权重变为零。这有助于降低模型的复杂度,因为它实际上移除了对最终预测没有贡献的特征。
2、L2正则化(岭回归):通过在损失函数中添加模型权重的平方和作为惩罚项,来防止权重变得过大。这有助于减少模型的复杂度,因为它限制了权重的大小,使得模型在拟合数据时更加平滑,不易受到极端数据点的影响。
3、Dropout:在神经网络中,Dropout通过在训练过程中随机丢弃(即将输出设置为零)一部分神经元来工作。这可以被视为一种集成方法,因为它训练了多个网络(每个都丢弃了不同的神经元),然后在测试时使用这些网络的平均输出来做预测。Dropout有效地减少了神经网络对特定神经元或连接的依赖,从而提高了模型的泛化能力。
4、早停法(Early Stopping):虽然不是直接对模型参数进行正则化,但早停法通过监控模型在验证集上的性能,并在性能开始下降时停止训练,来防止过拟合。这可以看作是一种对训练过程的正则化。
5、弹性网络:前两种的结合。
吉洪诺夫正则化
接下来的内容就是别人的内容了,我先介绍完再做补充吧。吉洪诺夫正则化,说实话这篇文章是我搜集到的关于此内容写的比较详细的了,尤其是文中的公式推导方面。
下面说一下它的结果:
正则化的部分就是加了吉洪诺夫矩阵 Γ \Gamma Γ乘以变量 x x x,如果没有这项的话,令导数为 0 0 0所得的结果: x = ( C T C ) − 1 C T y x=(C^{T}C)^{-1}C^{T}y x=(CTC)−1CTy,也就是用 ( C T C + Γ T Γ ) − 1 (C^{T}C+\Gamma ^{T}\Gamma)^{-1} (CTC+ΓTΓ)−1代替了 ( C T C ) (C^{T}C) (CTC)。
Tikhonov 正则化的本质是通过对非满秩的矩阵 C C C的协方差矩阵 C T C C^{T}C CTC加入吉洪诺夫矩阵的协方差矩阵,使得奇异的协方差矩阵 C T C C^{T}C CTC求逆变为非奇异矩阵 ( C T C + Γ T Γ ) − 1 (C^{T}C+\Gamma^{T}\Gamma)^{-1} (CTC+ΓTΓ)−1的求逆,从而大大改善求解非满秩矩阵 y = C x y =Cx y=Cx的数值稳定性,增加的项对其施加一个惩罚,其得到的解比仅优化 C T C C^{T}C CTC更切合实际。
如果这个吉洪诺夫矩阵是单位矩阵的倍数,这样说不太恰当,就是等于 λ I \lambda I λI的时候,此时退化为二范数惩罚项。
对于图片中注释的矩阵求导部分,在B站上找到了相关讲解的视频:(在例题中提到)。
矩阵求导
参考
除了上边提到的两个,还有以下几个:
博客园吉洪诺夫正则化
腾讯云吉洪诺夫正则化更详细一点