Tikhonov正则化详解

目录

前言

一、Tikhonov正则化是什么?

二、使用步骤

1.线性回归模型

2.推广


前言

关于线性回归与非线性优化方向的工作,很多时候需要面对数据噪声,过拟合等问题,实测使用Tikhonov正则化可去的较好的效果。

Tikhonov正则化的发音为 ti−khuh−nawf。在中文中一般写作 "吉洪诺夫"。


一、Tikhonov正则化是什么?

Tikhonov正则化(也称为 ridge regression 或岭回归)是一种线性回归分析方法,在解决病态问题和过拟合问题时非常有用。在统计学和机器学习领域,它通过在优化目标函数中加入一项正则项(惩罚项)来改进模型的泛化能力,并且有助于稳定系数估计,尤其是在特征之间高度相关的数据集上。

二、使用步骤

1.线性回归模型

应用(示例):

在标准线性回归模型中,我们通常试图最小化残差平方和,即:

min_{W}\left \| X_{w}-y \right \|^{2}

其中 X是设计矩阵,W是权重向量,y是目标变量向量。

然而,在某些情况下,由于 X的列可能高度相关,或者观测数据不足导致方程组不适定(即矩阵不可逆),直接求解可能会产生过大或不稳定的结果。

Tikhonov正则化引入了一个正则项,修改了上述目标函数:

min_{W}\left \| X_{w}-y \right \|^{2}+\lambda \left \| _{W} \right \|^{2}

这里\left \| W \right \|^{2}是 W的L2范数(即权重向量各元素的平方和),λ 称为正则化强度参数。通过增加这一项,我们在寻求最优解的同时,也对权重向量的大小进行了约束,倾向于选择较小的权重值。

这种方法背后的直觉是,通过引入正则化项,模型会更加偏好简单、平滑的解决方案,从而避免过拟合现象。随着 λ 增大,模型的复杂度降低,对于噪声和异常值的敏感度也会降低。

在实际应用中,选择合适的 λ 值至关重要,可以通过交叉验证等方法确定最佳正则化强度。Tikhonov正则化在很多机器学习和信号处理任务中都得到了广泛应用,例如在主成分分析(PCA)、图像恢复、系统辨识等领域。 

#include <iostream>
#include <Eigen/Dense>

// 假设我们有一个训练数据集(X, y),以及正则化参数lambda
Eigen::MatrixXd X_train;
Eigen::VectorXd y_train;
double lambda;

// Tikhonov正则化解决方案
Eigen::VectorXd tikhonov_regularization(Eigen::MatrixXd &X, Eigen::VectorXd &y, double l) {
    // 计算X'X + λI
    Eigen::MatrixXd A = X.transpose() * X + l * Eigen::MatrixXd::Identity(X.cols(), X.cols());

    // 计算X'y
    Eigen::VectorXd b = X.transpose() * y;

    // 求解(A * w = b)
    Eigen::VectorXd w = A.colPivHouseholderQr().solve(b);

    return w;
}

int main() {
    // 假设我们有如下数据
    X_train = Eigen::MatrixXd::Random(10, 3); // 10个样本,3个特征
    y_train = Eigen::VectorXd::Random(10); // 目标变量

    // 设置正则化参数
    lambda = 0.1;

    // 使用Tikhonov正则化求解权重向量
    Eigen::VectorXd weights = tikhonov_regularization(X_train, y_train, lambda);

    std::cout << "Weights after Tikhonov regularization: \n" << weights << std::endl;

    return 0;
}

该函数接受训练数据矩阵 X、目标向量 y 和正则化参数 lambda 作为输入,并计算加了正则化的线性回归模型的权重向量 w

2.推广

通过增加正则化项,Tikhonov正则化降低了原始矩阵 ( A ) 的条件数,从而使得问题变得适定,提高了解的稳定性和预测性能,同时也能防止过拟合现象的发生。

选择合适的正则化参数 (λ) 往往需要通过交叉验证、经验规则或者某种优化准则(如L曲线法、广义交叉验证GCV等)来确定。


  • 9
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值