线性回归及正规方程和梯度下降求解及正则化

目录

1.定义

2.求解

 

3.回归性能评估

 4.总结  


        线性回归是最为简单、易用的回归模型。从某种程度上限制了使用,尽管如此,在不知道特征之间关系的前提下,我们仍然使用线性回归器作为大多数系统的首要选择。

1.定义

回归目标值是连续值;分类:目标值是离散值

线性回归:通过一个或者多个自变量(特征)与因变量(目标值)之间进行建模的回归分析。其中特点为一个或多个称为回归系数的模型参数的线性组合。

一元线性回归:涉及到的变量(特征)只有一个
多元线性回归:涉及到的变量(特征)有两个或两个以上

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
假设我们有一个线性方程组 Ax=b,我们可以通过 L1 和 L2 正则化组合的方法求解。 首先,我们可以将问题转化为一个最小化问题: min ||Ax-b||^2 + λ1||x||1 + λ2||x||2^2 其中,λ1 和 λ2 是两个正则化参数,||x||1 和 ||x||2^2 分别表示 L1 和 L2 正则化项。这个问题可以通过坐标下降算法求解。 下面是 MATLAB 代码示例: ``` % 生成数据 n = 100; % 变量数 m = 50; % 方程数 A = rand(m,n); % 系数矩阵 b = rand(m,1); % 右侧向量 % 求解线性方程组 x0 = rand(n,1); % 初始解 lambda1 = 0.01; % L1 正则化参数 lambda2 = 0.1; % L2 正则化参数 max_iter = 1000; % 最大迭代次数 tol = 1e-6; % 收敛精度 x = l1l2_solve(A,b,x0,lambda1,lambda2,max_iter,tol); % 输出结果 disp(x); % 定义 L1 和 L2 正则化组合求解函数 function x = l1l2_solve(A,b,x0,lambda1,lambda2,max_iter,tol) n = length(x0); x = x0; for iter=1:max_iter for i=1:n % 按照坐标轴顺序更新变量 x(i) = l1l2_shrinkage(A,b,x,lambda1,lambda2,i); end % 判断是否收敛 if norm(A*x-b) < tol break; end end end % 定义 L1 和 L2 正则化项收缩函数 function y = l1l2_shrinkage(A,b,x,lambda1,lambda2,i) % 计算梯度和 Hessian 矩阵 [G,H] = l1l2_grad_hess(A,b,x,i); % 计算收缩系数 if lambda1 == 0 alpha = -1/H; elseif lambda2 == 0 alpha = -G/(H+eps); else alpha = max((abs(G)-lambda1)/((1+2*lambda2)*H),0); end % 应用收缩操作 y = sign(G)*max(abs(G)-alpha*lambda1,0)/(H+alpha*lambda2); end % 定义 L1 和 L2 正则化项的梯度和 Hessian 矩阵计算函数 function [G,H] = l1l2_grad_hess(A,b,x,i) G = 2*sum(A(:,i).*(A*x-b)); % 梯度 H = 2*sum(A(:,i).^2); % Hessian 矩阵 end ``` 上述代码中,我们首先生成 100 个变量和 50 个方程的随机线性方程组,然后使用 L1 和 L2 正则化组合的坐标下降算法求解。 其中,l1l2_solve 函数用于求解线性方程组,l1l2_shrinkage 函数用于进行 L1 和 L2 正则化项的收紧操作,l1l2_grad_hess 函数用于计算梯度和 Hessian 矩阵。在收紧操作中,我们使用了 LARS 算法中的步长计算方法,详见《The Elements of Statistical Learning》一书。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值