线性回归,岭回归,套索回归等等

线性回归、岭回归与套索回归:原理、调参及实战选型指南 线性回归、岭回归和套索回归是机器学习中处理回归任务的基础算法,其核心差异在于正则化项的设计。线性回归通过最小二乘法拟合数据,但面对多重共线性时系数估计方差大、模型不稳定;岭回归引入L2正则化,通过系数平方和惩罚压缩系数,有效缓解共线性并提升泛化能力;套索回归采用L1正则化,能将部分系数精确压缩为零,实现自动特征选择。这些方法在房价预测、用户流失分析等场景中具有重要技术价值,选型需结合特征数量、共线性程度及可解释性需求。本文深入解析三种回归的数学原理、代码实现与调参技巧,并给出实战选型指南。 阅读详情

目录

 

岭回归

原理

缩减系数来“理解”数据

优点

总结

小结

应用场景

代码实现

导包

样本小于特征,无数个解

打乱索引

矩阵乘法

比较三种算法

计算斜率

岭回归alpha最优化

导包

设X矩阵

设y

岭回归拟合

画图表示 alpha和coefs的关系


岭回归

原理

缩减系数来“理解”数据

优点

缩减方法可以去掉不重要的参数,因此能更好地理解数据。此外,与简单的线性回归相比,缩减法能取得更好的预测效果

岭回归是加了二阶正则项的最小二乘,主要适用于过拟合严重或各变量之间存在多重共线性的时候,岭回归是有bias的,这里的bias是为了让variance更小。

为了得到一致假设而使假设变得过度严格称为过拟合,bias:指的是模型在样本上的输出与真实值的误差;variance:指的是每个模型的输出结果与所有模型平均值(期望)之间的误差。

总结

小结

1.岭回归可以解决特征数量比样本量多的问题,2.岭回归作为一种缩减算法可以判断哪些特征重要或者不重要,有点类似于降维的效果,3.缩减算法可以看作是对一个模型增加偏差的同时减少方差。

应用场景

1.数据点少于变量个数,2.变量间存在共线性(最小二乘回归得到的系数不稳定,方差很大),3.应用场景就是处理高度相关的数据。

代码实现

导包

# LinearRegression,Ridge,Lasso

import numpy as np

from sklearn.linear_model import LinearRegression,Ridge,Lasso,RidgeCV,LassoCV

import matplotlib.pyplot as plt
%matplotlib inline

样本小于特征,无数个解

# 50样本,200特征
# 无解:无数个解
X = np.random.randn(50,200)

w = np.random.randn(200)#系数
w

打乱索引


index = np.arange(0,200)
np.random.shuffle(index)#顺序打乱
index

将其中的190个置为0

w[index[:190]] = 0
w

矩阵乘法

y = X.dot(w)
y#50个

比较三种算法

#不计算截距
linear = LinearRegression(fit_intercept=False)

ridge = RidgeCV(alphas = [0.001,0.01,0.1,1,2,5,10,20,50,100],cv = 5,fit_intercept=False)#交叉验证找最佳的系数alpha

lasso = LassoCV(alphas=[0.001,0.01,0.1,1,2,5,10],cv = 3,fit_intercept=False)#交叉验证找最佳的系数alpha



linear.fit(X,y)

ridge.fit(X,y)

lasso.fit(X,y)

计算斜率

linear_w = linear.coef_

ridge_w = ridge.coef_

lasso_w = lasso.coef_
plt.figure(figsize=(12,9))
axes = plt.subplot(2,2,1)
axes.plot(w)

axes = plt.subplot(2,2,2)
axes.plot(linear_w)
axes.set_title('Linear')

axes = plt.subplot(2,2,3)
axes.plot(ridge_w)
axes.set_title('Ridge')

axes = plt.subplot(2,2,4)
axes.plot(lasso_w)
axes.set_title('Lasso')

岭回归可以让模型更简单。套索回归擅长样本少于属性,解稀松。

岭回归alpha最优化

导包

import numpy as np

import matplotlib.pyplot as plt
%matplotlib inline

from sklearn.linear_model import Ridge

设X矩阵

X = 1/(np.arange(1,11) + np.arange(0,10).reshape(-1,1))
X

 

设y

y = np.ones(10)
y

岭回归拟合

ridge = Ridge(fit_intercept=False)#让截距等于0

alphas = np.logspace(start = -10,stop = -2,num = 200)#logspace等比数列,比linespace划分的更加细腻

coefs = []#斜率

for a in alphas:
    ridge.set_params(alpha = a)
    
    ridge.fit(X,y)
    
    coefs.append(ridge.coef_)

coefs
    

画图表示 alpha和coefs的关系

# 结论:找图中平滑的区域作为alpha值(参考)
_ = plt.plot(alphas,coefs) 
plt.xscale('log')#缩放 log形式
plt.ylabel('coef',fontsize = 25,color = 'red',rotation = 0)
plt.xlabel('alpha',fontsize = 25)

 

alpha越大,就越起收缩的作用。

选alpha应该选绿色的部分,比较平缓的降低。特征比较多,样本量少的时候,用岭回归。

 

了解线性回归、岭回归和套索回归 在本文中,我们将深入探讨机器学习中两种基本正则化技术的基础和应用:Ridge 回归和 Lasso 回归。这些方法在缓解过拟合方面起着至关重要的作用,从而增强了模型对新数据的泛化能力。 阅读详情

相关推荐

人工智能基础_机器学习031_使用线性回归_线性回归衍生函数_套索回归_Lasso回归_Ridge岭回归_ElasticNet弹性网络回归_来对天池工业蒸汽量数据预测对比---人工智能工作笔记0071

然后我们下面开始使用不同的回归模型来对,我们之前用到的天池工业蒸汽量数据进行构建模型,训练数据,然后把对测试数据的预测结果提交到天池工业蒸汽量大赛的官网,得到评分结果,进行对比.我们说套索回归是可以把一些没用的权重变成0,也就是说,天池工业蒸汽量数据中,给了很多数据,其实是没用的,权重是很小的,可以看到用lasso回归效果很好了对吧.这些就是,对天池工业蒸汽量数据,使用我们至今学到的所有的模型,算法,来进行预测,得到的整体效果了.首先我们来看一下这个使用普通线性回归的,代码,执行以后,拿到结果。

添柴程序猿的专栏 389

(六十一)线性模型:线性回归、岭回归和套索回归

线性回归难以控制模型的复杂度;如果特征过多且只有一小部分是重要的,那么套索回归更好,alpha降低,欠拟合降低;如果特征不多且每一个都有重要作用,那么就应该使用岭回归,alpha增加,过拟合降低。

小粉桥反手王的博客 3724

Cryptomatte For Nuke的安装

进入官网https://github.com/Psyop/Cryptomatte,下载文件代码。 将Cryptomatte/nuke里的文件内容复制粘贴到 .nuke文件夹内。 在我们复制粘贴的内容中可以看到两个文件。 同时,我们进入nuke的下载目录,打开plugins文件夹,看到和插件中一样python文件——init.py和menu.py。 我们将Cryptomatte里的init.py和menu.py里的python代码复制粘贴到Nuke/plugins下的init...

qq_41627587的博客 9063

7 种回归方法!请务必掌握!

点击上方“AI有道”,选择“置顶公众号”关键时刻,第一时间送达!阅读本文需要 12 分钟线性回归和逻辑回归通常是人们学习预测模型的第一个算法。由于这二者的知名度很大,许多...

红色石头的专栏 9650

STM32控制舵机SG-5010转动,HAL库

首先设置时钟为72Mhz,预分频系数为72-1,自动重装载计数器的值为5000-1,这样的话就可以得到一个5ms的脉冲宽度,5000的计数值可以让舵机的旋转角度变得更加易控且相对精准,计算旋转角度的时候也可以更加精确。所以我们5ms脉宽,period是5000脉宽-------------角度----------pulse0.5ms-------------0度----------500;1.0ms------------45度---------1000;

qq_73783264的博客 1293

C++跨平台Word文档处理库DuckX实战指南:从原理到项目集成

在C++开发中,处理Office文档,尤其是Word文件,常因缺乏原生易用的库而面临挑战。Office Open XML(OOXML)作为.docx文件的基础标准,其本质是包含XML文件的ZIP压缩包。理解这一原理,开发者便能通过解析和操作XML来实现文档的读写。DuckX库正是基于此,为C++提供了轻量级的解决方案。它封装了底层的ZIP处理和XML解析,提供了简洁的面向对象API,其技术价值在于实现了跨平台、无外部依赖的Word文档自动化生成与处理。这尤其适用于服务器端、嵌入式环境或需要脱离Office软

weixin_33508411的博客 387

套索回归 (Lasso Regression)的基本应用

一、使用场合    与岭回归类似,套索 (Least Absolute Shrinkage and Selection Operator) 也会对回归系数的绝对值添加一个罚值。此外,它能降低偏差并提高线性回归模型的精度。看看下面的等式: 套索回归与岭回归有一点不同,它在惩罚部分使用的是绝对值,而不是平方值。这导致惩罚(即用以约束估计的绝对值之和)值使一些参数估计结果等...

专注于各种资源、教程,免费分享 5609

AFSim插件开发实战:从环境搭建到功能扩展

本文详细介绍了AFSim插件开发的完整流程,从环境搭建到功能扩展,涵盖了SDK配置、插件创建、核心代码解析、功能扩展实战、调试优化以及高级开发技巧。通过实战案例和实用技巧,帮助开发者快速掌握AFSim插件开发,提升仿真系统的扩展性和灵活性。

weixin_29309475的博客 578

零基础机器学习(6)之岭回归与套索回归(正则化)

岭回归与套索回归的原理与参数调节 1.岭回归原理 2.岭回归参数调节 3.套索回归原理 4.套索回归参数的调节 5.正则化介绍 ①选择 ②什么是正则化? ③L1正则化是怎么实现的? 什么是惩罚参数向量? 什么是学习率? ④L2正则化是怎么实现的?

Appppiiiiggg的博客 3281

DeepSeek-R1模型+Dify实战:5步打造能读PDF的智能客服(附BGE-M3嵌入模型配置)

本文详细介绍了如何利用DeepSeek-R1大模型与Dify平台,结合BGE-M3嵌入模型,构建企业级智能文档问答系统。通过5个步骤,从环境准备到知识库构建,再到智能问答应用开发,帮助企业快速从PDF等文档中提取关键信息,提升工作效率。特别适合处理产品手册、内部规程等专业内容。

convnet3designer的博客 720

攻克TypeError: Cannot read properties of undefined (reading ‘NormalModule‘)的四种实战策略

本文详细解析了`TypeError: Cannot read properties of undefined (reading 'NormalModule')`错误的四种实战解决策略。从版本一致性检查、包管理器优化到依赖替换和构建环境配置,帮助开发者快速定位和解决Webpack构建过程中的常见问题,提升开发效率。

weixin_42523670的博客 243

【机器学习】回归算法总结 | 线性回归 | 岭回归 | | 套索回归 | 弹性网络回归 | KNN | CART| SVM

回归算法总结 | 线性回归 | 岭回归 | | 套索回归 | 弹性网络回归 | KNN | CART| SVM

weixin_46274756的博客 1208

华为OD技术面八股_C++_05

汇总华为OD技术面C++方向技术面八股文,提供详细解答。

qq_45776114的博客 413

PYTHON基础:线性算法--线性回归|岭回归|套索回归模型

本文介绍了线性回顾的三种算法

weixin_47567401的博客 1801

YOLO26中 RepVGGBlock_OREPA 架构的设计与性能提升分析(mAP +4.89)

REPVGGOREPA模块代表了重参数化技术的最新发展,它通过巧妙的架构设计实现了训练时的丰富表达和推理时的高效计算。其核心创新包括多分支特征聚合、动态权重生成、频域先验知识融合等技术,为深度学习模型的效率优化提供了新的解决方案。这种设计理念不仅在技术上具有重要意义,在实际应用中也展现出了显著的优势,特别是在需要高精度和高效率的工业场景中表现突出。随着重参数化技术的不断发展,REPVGGOREPA为未来的网络架构设计提供了重要的参考和启发。

know_F0727的博客 66

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

对sklearn中的糖尿病数据集进行线性回归,岭回归,套索回归模型分析和对比其模型性能

def z3(): # 导入糖尿病数据集 from sklearn.datasets import load_diabetes #打印数据集里面的Keys print(load_diabetes().keys())#dict_keys(['data', 'target', 'frame', 'DESCR', 'feature_names', 'data_filename', 'target_filename', 'data_module']) x,y=load_di.

Superman980527的博客 6911

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

线性回归原理推导与应用(六):岭回归(Ridge)与套索回归(Lasso回归)

套索回归岭回归的原理与推导

Smilecoc的博客 1864

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

【人工智能基础04】线性模型:线性回归、分类、正则化(套索和岭回归)、支持向量机、核技巧

【人工智能基础】机器学习基础

hiliang521的博客 1777

线性回归、岭回归与套索回归:从原理到工业级实战的完整指南

线性模型是机器学习的基础,在推荐系统、风控评分等场景中,线性回归、岭回归和套索回归因推理速度快、可解释性强而成为工业界首选。普通最小二乘(OLS)易受多重共线性和过拟合影响,岭回归通过L2正则化压缩系数,套索回归利用L1正则化实现特征选择。理解偏差-方差权衡和正则化路径,能帮助你在实际项目中做出更优的模型选型。

weixin_34378767的博客 333

sklearn代码23 6-线性回归岭回归 套索回归比较

# LinearRegression,Ridge,Lasso import numpy as np from sklearn.linear_model import LinearRegression,Ridge,Lasso,RidgeCV,LassoCV import matplotlib.pyplot as plt %matplotlib inline # 50个样本 200个特征 # 无解,无数个解 X = np.random.randn(50,200) w = np.random.randn

weixin_44632711的博客 217

线性回归、岭回归与套索回归:从原理到实战的完整指南

线性回归是监督学习中最基础的模型,通过最小二乘法拟合特征与目标之间的线性关系。然而,当数据存在多重共线性、特征数超过样本数或过拟合时,普通线性回归会失效。正则化技术通过引入L1或L2惩罚项,有效压缩系数、筛选特征并提升泛化能力。岭回归(L2)适合处理共线性,套索回归(L1)能实现稀疏特征选择,弹性网络则结合两者优势。这些方法在销量预测、用户价值打分、设备寿命估算等场景中广泛应用。本文深入解析线性回归、岭回归和套索回归的核心原理、实操流程与选型策略,帮助你在真实项目中构建稳定可靠的回归模型。

weixin_29045585的博客 147

机器学习实战07:线性回归、岭回归、套索回归、逐步回归等

- 用线性回归找到最佳拟合直线 优点:结果易于理解,计算上不复杂。 缺点:对非线性的数据拟合不好。 适用数据类型:数值型和标称型数据。 回归的目的是预测数值型的目标值。最直接的办法是依据输入写出一个目标值的计算公式 。 - 回归的一般方法 (1) 收集数据:采用任意方法收集数据。 (2) 准备数据:回归需要数值型数据,标称型数据将被转成二值型数据。 (3) 分析数据:绘出数据的可视化二维图将有助于...

一七 1507

线性回归之——LinearRegression、Ridge、Lasso基本用法

文章目录线性回归(LinearRegression)——参数及方法岭回归(Ridge)——参数及方法 线性回归(LinearRegression)——参数及方法 sklearn.linear_model.LinearRegression(fit_intercept=True, normalize=False, copy_X=True, n_jobs=None) 参数: fit_intercept...

门前大橋下丶 8621

机器学习的一些常见算法介绍【线性回归,岭回归,套索回归,弹性网络】

机器学习是一门从数据中研究算法的科学学科。机器学习直白来讲,是根据已有的数据,进行算法选择,并基于算法和数据构建模型,最终对未来进行预测。通过数据训练出一个模型->预测未知属性。#定义numpy数组数据,分别基于一元线性回归公式和向量形式计算线性权重和偏置值;#计算结果与ScikitLearn中提供的线性回归函数计算结果进行比较。[10.95, 11.18], #使用array函数创建二维数组])x = data[:,0] #第一列数据为自变量x,一维数组。

张小鱼的博客 1163

机器学习——线性回归案例——波士顿房价预测

因为此案例比较经典,所以数据已经镶嵌在里面了 1、导入模块。 #模型获取,有线性回归、岭回归、套索回归模型 from sklearn.linear_model import LinearRegression,Ridge,Lasso #评估 from sklearn.metrics import r2_score #数据集 import sklearn.datasets as datasets #画图 import matplotlib.pyplot as plt 2、获取训练数据

君莫笑的博客 1万+

scikit-learn/sklearn学习|多任务套索回归MultiTaskLasso解读

本文介绍了多任务套索回归(MultiTaskLasso)的原理与特点。在普通线性回归基础上,通过引入L1和L2混合正则化惩罚项,MultiTaskLasso能实现特征选择与系数共享。其损失函数包含两项:均方误差项和正则化项,后者通过计算特征权重的L2范数平方根和来实现行稀疏性。这种设计使得模型可以自动剔除不重要特征,并将重要特征统一应用于所有任务,特别适合处理多任务学习问题。相比单任务套索回归,MultiTaskLasso强制不同任务共享特征选择,在多个高度相关任务中表现优异。

专注python+工程实践的热心婶子 850
上一篇: 其他线性回归,岭回归等
下一篇: 逻辑斯蒂回归原理及其概率计算
Wind_know
博客等级 码龄9年 17粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值