添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
温暖的啄木鸟  ·  SuperMap iClient3D ...·  1 年前    · 
喝醉的骆驼  ·  pandas groupby多条件-掘金·  2 年前    · 
拉风的包子  ·  Android Bitmap ...·  2 年前    · 

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

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

一、Tikhonov正则化是什么?

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

二、使用步骤

1.线性回归模型

应用(示例):

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

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

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

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

这里 \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

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

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

最近看了看吉洪诺夫正则化方法,对其基本内容作了一个简单的了解。现在总结如下。 1、正则化 定义:正则化(regularization),是指在线性代数理论中,不适定问题通常是由一组线性代数方程定义的,而且这组方程组通常来源于有着很大的条件数的不适定反问题。大条件数意味着舍入误差或其它误差会严重地影响问题的结果。 另外给出一个解释性定义:对于线性方程Ax=b,当解x不存在或者解不唯一时,就是所谓
pycharm配置anaconda: can‘t open file ‘create‘: [Errno 2] No such file or directory fishjumprprpr: 您好,从conda可执行文件那里应该选择哪个文件呀 pycharm配置anaconda: can‘t open file ‘create‘: [Errno 2] No such file or directory m0_61089907: 啊啊啊太感谢了!!解决啦 pycharm配置anaconda: can‘t open file ‘create‘: [Errno 2] No such file or directory qq_51737232: 请问点完ok之后没有新的环境是为什么 pycharm配置anaconda: can‘t open file ‘create‘: [Errno 2] No such file or directory 潘畅183: 谢谢博主!问题解决啦 pycharm配置anaconda: can‘t open file ‘create‘: [Errno 2] No such file or directory CSDN-Ada助手: 推荐 Python入门 技能树:https://edu.csdn.net/skill/python?utm_source=AI_act_python