Ridge和Lasso回归

2023-10-26

上周看了看回归方面的知识,顺便复(xue)习一下Ridge(岭回归)和Lasso回归(套索回归)。瞅到了一篇英文博客讲得不错,翻译一下

本文翻译自

Ridge and Lasso Regression

本文是一篇Josh Starmer关于
视频的总结(StatQuest的视频确实是不错的,通俗易懂还唱歌,非常推荐大家有空都看一下

过拟合(Overfitting)

在统计中,过拟合是指过于接近或恰好对应于特定数据集的分析结果,因此可能无法拟合其他数据,或者可靠地预测未来的观察结果。过拟合模型是一种包含过量参数的统计模型,这些过量参数超出了数据可以证明的范围。

过拟合是指使用违反Occam剃刀原理的模型或程序。这种模型包含比最终最佳值更多的可调整参数,或者使用了比最终最佳状态更复杂的方法。

过拟合的最明显结果是验证数据集(validation dataset)的性能不佳。

偏差-方差 权衡(Bias-Variance Tradeoff)

在统计学和机器学习里,偏差方差权衡是一组预测模型的属性。通常在模型参数估计中偏差较小的模型在样本之间的参数估计方差较大,反之亦然。

例如,我们会知道描述两个变量(例如小鼠的身高和体重)之间关系的确切数学公式。

在这里插入图片描述

为此,我们使用机器学习来近似公式。然后,我们将数据拆分训练并进行测试。第一个机器学习模型是线性回归(Linear Regression,上面左图),但是不能精确地复制身高和体重之间真实关系的曲线。机器学习无法捕捉真正的关系称为偏差(Bias)。另一个机器学习模型可能完美拟合训练集的弯曲曲线(Squiggly Line,上面右图

但是,当我们在测试集中计算总计平方误差时,我们可能会发现线性线优于弯曲线,因此我们将其称为过拟合(Overfitting)。在机器学习的语言中,训练和测试之间的适合性差异称为方差(Variance)。在机器学习中,理想的算法(ideal algorithm)需要具有低偏差(Low Bias)并且必须能够准确地近似真实关系。在“简单”和“复杂”之间找到最佳方法的两种常用方法是: L 1 L_1 L1 L 2 L_2 L2正则化

L 2 L_2 L2 Ridge回归

正则化(Regularization)方法的目的就是减少过拟合的。

我们尝试使用一条过度拟合(overfit)训练数据的趋势线,其方差比最小二乘回归(OLS)高得多。岭回归(Ridge Regression)的主要思想是要增加一条不拟合(fit)训练数据的新线。换句话说,我们将一定的“偏差”引入新的趋势线,目的是期待获得一个长期较好的预测结果(见下图

在这里插入图片描述

我们在实践中要做的是引入一个称为 λ \lambda λ (Lambda)的偏差,惩罚函数为: λ ∗ s l o p e 2 \lambda * slope^2 λslope2

其中 λ \lambda λ是惩罚项,此值称为Ridge回归或者 L 2 L_2 L2

  • L 2 L_2 L2惩罚项是二次的:意味着没有一个系数(斜率)非常大。
  • L 1 L_1 L1惩罚项是是绝对值: λ ∗ ∣ s l o p e ∣ \lambda *| slope | λslope意味着选择最重要的特征。

λ = 0 \lambda = 0 λ=0时,惩罚也是0,因此我们只是在最小化残差平方和,此时也是OLS。
λ \lambda λ逐渐增加时,我们得到接近0的斜率:因此,较大的 λ \lambda λ意味着:我们的预测对自变量的敏感性降低。我们可以使用交叉验证(Cross-Validation),通常使用10折交叉验证来确定哪个LAMBDA(10-Fold Cross Validation)会得到最低的方差。
λ \lambda λ是控制偏差方差权衡的调整参数,我们通常通过交叉验证来估计其最佳值。

L 1 L_1 L1 Lasso回归

这种正则化方法也是为了减少过度拟合。

它与岭回归(Ridge Regression)是相似的,最重要的区别是:惩罚函数现在是 λ ∗ ∣ s l o p e ∣ \lambda *| slope | λslope

在这里插入图片描述

Lasso回归的结果与Ridge回归给出的结果非常相似。两者都可以用于逻辑回归(Logistic Regression),离散值回归和交互回归。当我们增加 λ \lambda λ的值时,Ridge和Lasso之间的巨大差异开始变得明显。实际上,Ridge只能渐近地(asymptotically)将斜率缩小到零,而套索可以直接将斜率缩小到零。当我们在模型中有很多参数时,这样做的好处很明显。

在Ridge中,当我们增加 λ \lambda λ的值时,最重要的参数可能会缩小一点,次要的参数保持较高的值。

相反,使用Lasso时,当我们增加 λ \lambda λ的值时,最重要的参数会缩小一点,次要的参数会接近零(或者直接变成0)。因此,套索能够从模型中排除比较呆滞(silly,

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ridge和Lasso回归 的相关文章

  • so库的反编译,反汇编

    Linux APP SO的反汇编工具 ida Pro 可以反汇编app和SO库 有函数名 但是不能反编译到code这一级别 下载最强的反编译工具 ida Pro 6 4 Plus rar 还有这个反汇编工具 没用过 转自 http bbs
  • protobuf的序列化和反序列化的分析

    一 protobuf的optional 数据类型序列化分析 1 optional 的protobuf的文件 格式 syntax proto2 message test proto optional int32 proto1 1 option
  • thinkphp5.0.24反序列化漏洞分析

    thinkphp5 0 24反序列化漏洞分析 文章目录 thinkphp5 0 24反序列化漏洞分析 具体分析 反序列化起点 toArray getRelationData分析 modelRelation生成 进入 call前的两个if c

随机推荐

  • 初步学习Oracle之PL/SQL

    PL SQL简介 PL SQL Procedure Language SQL 程序语言是 Oracle 对 sql 语言的过程化扩展 指在 SQL 命令语言中增加了过程处理语句 如分支 循环等 使 SQL 语言具有过程处理能力 把SQL 语
  • 【满分】【华为OD机试真题2023 JS】最差产品奖

    华为OD机试真题 2023年度机试题库全覆盖 刷题指南点这里 最差产品奖 知识点滑窗 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 A公司准备对他下面的N个产品评选最差奖 评选的方式是首先对每个产品进行评分 然后根据评分区
  • 在Android Studio中使用vulkan

    首先要确定手机是否支持Vulkan 可以下载一个aida64 在设备中如果能找到vulkan设备 说明支持 否则不支持 严格按照官方介绍的步骤一步步执行 就能获得官方推荐的可执行的例子 有很多 可以都试一试 那怎么在自己的工程中使用vulk
  • Vue模版语法&2种数据绑定方式

    Vue模板语法有2大类 1 插值语法 功能 用于解析标签体内容 写法 xx 其中xx是js表达式 且可以直接读取到data中的所有属性 p value p 在双大括号中 除了可以简单的传值外 还可以使用表达式 每个绑定都只能包含单个表达式
  • 中文新闻文本标题分类(基于飞桨、Text CNN)

    目录 一 设计方案概述 二 具体实现 三 结果及分析 四 总结 一 设计方案概述 主要网络模型设计 设计所使用网络模型为TextCNN 由于其本身就适用于短中句子 在标题分类这一方面应该能发挥其优势 TextCNN是Yoon Kim在201
  • R语言查看每列的缺失值

    代码 library tidyverse library naniar data gt miss var summary 注 gt 为管道函数 不懂可以看下面的链接 管道函数 miss var summary在naniar包里面
  • softwares

    视频切帧 变换分辨率 VLC 文件对比 Beyond Compare 远程控制 向日葵 TeamViewer
  • MATLAB安装配置MinGW-w64 C++编译器

    文章目录 前言 一 Mingw安装 1 安装教程 2 验证 二 MATLAB安装配置MinGW 总结 pic center 前言 只是为方便学习 不做其他用途 一 Mingw安装 在网上找到的安装一直报错 The file has been
  • uniapp(小程序)加载更多(LoadMore)在列表上的应用和刷新逻辑完善

    活动列表应用loadMore应用以及刷新逻辑完善 获取列表的方法会有3种状态 第一种是onLoad时 首屏的1页5条 第二种是加载更多触发的n页5条 以及第三种 当我们离开页面去往其他页面再回到列表页进行刷新触发的1页n条 首先先说加载更多
  • 全国DNS服务器IP地址大全、公共DNS大全

    各省公共DNS服务器IP大全 名称 各省公共DNS服务器IP大全 114 DNS 114 114 114 114 114 114 115 115 阿里 AliDNS 223 5 5 5 223 6 6 6 百度 BaiduDNS 180 7
  • 突发:香港警方警告 JPEX疑涉诈骗

    来源 香港明报 据香港明报跟进报道 未获发牌的 绿石数字资产平台 JPEX 涉疑违规在港宣传及经营 其后有客户表示提币失败 警务处长萧泽颐今日表示 警方前日收到证监会转介案件 因或涉及行骗成份 现由商业及罪案调查科跟进 至昨日下午3时收到8
  • 《UVM实战》学习笔记——第六章 sequence机制

    文章目录 前言 一 sequence的启动与执行 1 启动 2 启动方式 3 sequence分类 二 sequence的仲裁机制 1 sequence相关的宏 2 sequencer的仲裁算法 6种 3 sequence独占sequenc
  • USB HUB简述

    概述 hub 集线器 连接在host与device之间的一种用于usb接口扩展的usb设备 可以将一个usb上行接口扩展为多个下行接口 使得一个host可以同时与多个device连接 一般来说 一块hub桥接芯片可扩展4个usb接口 而市面
  • ‘dtools’不是内部或外部命令,也不是可运行的程序或批处理文件,个人解决方案

    powershell或cmd执行时出现 dtools 不是内部或外部命令 也不是可运行的程序或批处理文件 奇怪的是 我的工程目录下明明有dtools exe可执行文件 搜索引擎上多数反馈是添加C system32等路径到环境变量 但后续发现
  • 亲密关系-【沟通提示】-如何把学习到的东西用到生活中

    关于亲密关系 我学到了这么多 可为什么ta对这些毫不在意 我知道课里的观点都很重要 可我该怎么教会ta ta没有意识 看画面 案例 妈妈说话总是带有攻击性 总是骂她 怎么说 常见误区 你不要老师贬低我 对方苦苦思考 我到底该怎么办 你下意识
  • java中的多重循环

    多重循环 一个循环体内又包含另一个完整的循环结构 如下 while 循环条件1 循环操作1 while 循环条件2 循环操作2 do 循环操作1 do 循环操作2 while 循环条件2 while 循环条件1 for 循环条件1 循环操作
  • Docker - 使用Docker Compose部署应用

    简介 Docker Compose是一个基于Docker Engine进行安装的Python工具 该工具使得用户可以在一个声明式的配置文件中定义一个多容器的应用 在Docker节点上 以单引擎模式 Single Engine Mode 进行
  • 手写算法-python代码实现Lasso回归

    手写算法 python代码实现Lasso回归 Lasso回归简介 Lasso回归分析与python代码实现 1 python实现坐标轴下降法求解Lasso 调用sklearn的Lasso回归对比 2 近似梯度下降法python代码实现Las
  • 【直达本质讲运放】运放的“第一原理”式定量分析法

    数电 模电那两本书我也完整地翻过一 二遍 诶我为什么用 也 下面就是来点不复杂的 如果是那还不如直接把书的内容粘过来呢 对于运放的定量分析 虚短虚断 就如同 奇变偶不变 一样喜闻乐见的普及 但是对于什么时候用 虚短 什么时候用 虚断 学习的
  • Ridge和Lasso回归

    上周看了看回归方面的知识 顺便复 xue 习一下Ridge 岭回归 和Lasso回归 套索回归 瞅到了一篇英文博客讲得不错 翻译一下 本文翻译自 Ridge and Lasso Regression 本文是一篇Josh Starmer关于