【机器学习300问】109、什么是岭回归模型?

        在进行回归任务时间,可以能会遇到特征数量多于观测数量或某些特征变量之间相关性较高(几乎线性相关)时,标准的线性回归模型的系数估计可能非常不精确,可以理解成独立方程个数小于未知数个数此时方程有无穷多解。

        例如:1个方程,2个未知数时,此时方程数量小于未知数个数,有无穷多解。

x_1 + 2x_2 = 3

序号方程组的解
解1x_1=0x_2=\frac{3}{2}
解2x_1=1x_2=1
...
解mx_1=3x_2=0
独立方程数量小于未知数个数,方程组有无穷多解

一、岭回归产生的背景

        岭回归模型的提出为了解决什么问题呢?我们用一个比喻加一个例子来说明:

        想象一下,你在一家咖啡馆里试图通过窗户观察外面行人手中的饮料类型来进行统计。但是,由于窗户上贴满了复杂的花纹,这些花纹就像是数据中的噪音和复杂关系,让你很难清晰地分辨每种饮料。这时候,如果你戴上一副特制的眼镜——这副眼镜能减弱花纹干扰,让你更专注于主要的区别特征,比如饮料的颜色或形状,这样就能更准确地统计了。

        在机器学习中,岭回归就是这样一副“眼镜”。它是一种改进的线性回归方法,专门用来处理那些因为特征之间存在很强的相关性(我们称之为多重共线性)而变得棘手的问题。没有这副“眼镜”,普通的线性回归(就像直接用眼观察)可能会被数据中的复杂关系迷惑,导致预测效果很差,甚至系数估计出错。

二、岭回归的思想和公式

        岭回归是如何工作的呢?它通过在原有的误差最小化目标基础上,加入了一个额外的惩罚项。这个惩罚项是各个特征权重(也就是回归系数)的平方和乘以一个正的常数(我们称之为正则化参数λ)。

在标准的多元线性回归中,模型参数通过最小化残差平方和(RSS)来估计:

RSS = \sum_{i=1}^n (y_i - \sum_{j=0}^p \beta_j x_{ij})^2

其中,n是样本数量,y_i是因变量的观测值,x_{ij}是自变量的观测值,\beta_j是回归系数。

然而,在某些情况下,特别是当特征数量接近或超过样本数量时,线性回归可能导致过拟合和不稳定的估计值。岭回归为了防止这些问题,将一个额外的正则项(也称为惩罚项)加到RSS上:

RSS_{ridge} = RSS + \lambda \sum_{j=1}^p \beta_j^2

其中,\lambda是一个正的调节参数(岭参数),起到调节系数向0收缩的力度。由于正则项的存在,岭回归倾向于将系数估计值向0压缩,这意味着尽管它们可能永远不会等于0,但可以控制过拟合现象,提高模型的泛化能力。

【注】选择一个合适的\lambda值,因为它决定了系数压缩的程度。\lambda的值越大,约束越强,回归系数会越小。通常\lambda是通过交叉验证来选择的。

三、为什么叫岭回归?

        岭回归之所以被称为“岭回归”(Ridge Regression),源自它在问题求解中的几何性质。这个名字可以归因于它在求解参数时,通过正则化项引入的约束导致解集呈现出“岭”的形状。

        在标准线性回归中,模型的目标是最小化误差平方和,这在参数空间中可以视为寻找一个能使误差平方和函数最低的参数点。如果存在共线性,这个误差平方和的底部(代表最佳解的区域)会变得非常扁平,导致许多可能的解。

        当引入岭回归的L2正则化时,即在目标函数中增加所有系数的平方和乘以岭参数λ,这就相当于在参数空间中增加了一个圆形的约束。这个圆形约束使得参数不再在平坦的区域自由移动,而是被限制在一个“岭”上,即限制在较小范围的圆形区域内寻找最佳解。因此,“岭”这个名称形象地描述了正则化项如何影响系数的求解过程,强制系数向零收缩,同时保护模型免于过拟合。

        关于岭回归的代码演示:

学习岭回归icon-default.png?t=N7T8https://gitee.com/wx114/linear-ridge-lasso-regression.git 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/693191.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于SVPWM矢量控制的无速度传感器电机控制系统simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 基于SVPWM矢量控制的无速度传感器电机控制系统simulink建模与仿真,包括电机,SVPWM模块,矢量控制器模块等。 2.系统仿真结果 3.核心程序与模…

ChatGPT为啥不用Websocket而是EventSource?

点击下方“JavaEdge”,选择“设为星标” 第一时间关注技术干货! 免责声明~ 任何文章不要过度深思! 万事万物都经不起审视,因为世上没有同样的成长环境,也没有同样的认知水平,更「没有适用于所有人的解决方案…

《精通ChatGPT:从入门到大师的Prompt指南》第9章:实战练习

第9章:实战练习 9.1 Prompt练习题 在本节中,我们将提供一系列练习题,旨在帮助读者通过实际操作提升使用ChatGPT的能力。这些练习题涵盖了从基础到高级的不同难度级别,并针对各种应用场景设计,确保读者能够在实际使用…

山东大学软件学院项目实训-创新实训-基于大模型的旅游平台(三十一)- 微服务(11)

12.7 DSL查询语法 查询的基本语法 GET /indexName/_search{"query": {"查询类型": {"查询条件": "条件值"}}} 查询所有 GET /hotel/_search{"query": {"match_all": {}}} 12.7.1 全文检索查询 全文检索查询,会…

【Vue3-Element-Admin 动态路由】涉及到的配置

Vue3-Element-Admin 动态路由 涉及到的配置 0. Vue3-Element-Admin 项目地址1. router/index.ts2. Mock接口模拟数据3. store/permission4. api/menu5. plugins/permission 这篇文章讲的主要是 Vue3-Element-Admin 差不多内置的动态路由配置 (根据后端接口渲染) 先把开发环境&a…

Hive on Spark版本兼容性

Hive on Spark仅在特定版本的Spark上进行测试,因此给定版本的Hive只能保证与特定版本的Spark一起工作。其他版本的Spark可能与给定版本的Hive一起工作,但不能保证。以下是Hive版本及其对应的Spark版本列表: 详情参考官方文档:http…

11.Spring AOP

文章目录 1.什么是 Spring AOP?2.为什要用 AOP?3.Spring AOP 应该怎么学习呢?3.1 AOP 组成3.1.1 切⾯(Aspect) 切点 通知3.1.2 连接点(Join Point)3.1.3 切点(Pointcut)…

53.ReentrantLock原理

ReentrantLock使用 ReentrantLock 实现了Lock接口, 内置了Sync同步器继承了AbstractQueuedSynchronizer。 Sync是抽象类,有两个实现NonfairSync非公平,FairSync公平。 所以ReentrantLock有公平锁和非公平锁。默认是非公平锁。 public sta…

[数据集][目标检测]足球场足球运动员身份识别足球裁判员数据集VOC+YOLO格式312张4类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):312 标注数量(xml文件个数):312 标注数量(txt文件个数):312 标注类别…

Nvidia/算能 +FPGA+AI大算力边缘计算盒子:电力巡检智能机器人

聚焦数字经济与双碳经济赛道,专注于提供集中式新能源场站与分布式综合能源数智化整体解决方案,坚持以场站数字化、综合能源数字化双轮驱动发展。依靠专业化人才队伍与丰富的实证基地研究经验,打造成熟、先进的数智新能源研发平台。 在集中式新…

linux本地搭建apt源

使用apt-mirror搭建 1.安装 apt-get install apt-mirror2.编辑配置文件 vi /etc/apt/mirror.list修改下载目录 set_base_path 后面改为下载镜像的目录,同时删除前面#号 添加同步的源,建议用国内的,速度快,我这里用的阿里云的镜…

Leetcode 力扣109. 有序链表转换二叉搜索树 (抖音号:708231408)

给定一个单链表的头节点 head ,其中的元素 按升序排序 ,将其转换为 平衡 二叉搜索树。 示例 1: 输入: head [-10,-3,0,5,9] 输出: [0,-3,9,-10,null,5] 解释: 一个可能的答案是[0,-3,9,-10,null,5],它表示所示的高…

每日一题——Python实现PAT甲级1015 Reversible Primes(举一反三+思想解读+逐步优化)

一个认为一切根源都是“自己不够强”的INTJ 个人主页:用哲学编程-CSDN博客专栏:每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 我的写法 is_prime函数分析: decimal_to_base函数分析: 主循…

无头+单向+非循环链表的实现

这里写目录标题 1. 链表1.1 链表的概念及结构1.2 链表的分类 2. 接口实现3. 链表的实现3.1 打印链表3.2 头插3.3 尾插3.4 头删3.5 尾删3.6 单链表查找3.7 在pos之前插入3.8 在pos之后插入3.9 删除pos位置的值3.10 删除pos位置之后的值3.11 链表的释放3.12 动态申请一个节点 4. …

STM32F103C8T6 HAL库串口重定向

前言: 这里仅用做个人记录,实现USART1串口通信,并通过printf重定向输出“串口打印测试” 正文开始: 首先在STM32CubeMX上对串口进行配置,其实方法也非常简单。 按照箭头顺序,先点击Connectivity找到USART1…

30分钟吃掉pytorch转onnx及推理

pytorch模型线上部署最常见的方式是转换成onnx然后再转成tensorRT 在cuda上进行部署推理。 本文介绍将pytorch模型转换成onnx模型并进行推理的方法。 #!pip install onnx #!pip install onnxruntime #!pip install torchvision 公众号算法美食屋后台回复关键词:源码…

jmeter -n -t 使用非GUI模式运行脚本说明

命令模式下执行jmx文件 jmeter -n -t fatie.jmx -l results\t4.jtl -e -o results\h1 表示以命令行模式运行当前目录下的脚本fatie.jmx,将结果存入当前目录下的results\t1.jtl,并且生成html格式的报告,写入文件夹results\h1。 说明:生成结果的文件夹r…

《精通ChatGPT:从入门到大师的Prompt指南》第10章:案例分析

第10章:案例分析 10.1 优秀Prompt案例解析 在深入探讨如何精通ChatGPT的使用之前,理解并分析一些优秀的Prompt案例是至关重要的。这不仅有助于更好地掌握Prompt的构建技巧,还能提高与AI交互的效果。在这一节中,我们将详细解析一…

实用的 C 盘搬家软件

一、简介 1、一款专门用于 Windows 系统的文件夹移动工具,它允许用户将程序或游戏的安装文件夹从一台驱动器移动到另一台驱动器,或者同一个驱动器内的不同路径,而无需重新安装或破坏现有的程序安装。 二、下载 1、下载地址: 官网链…

1-Maven-settings配置

1-Maven-settings配置 整理下Maven工具的使用。 【本地仓库、私服、镜像仓库、远程仓库、中央仓库】 本文基于阅读其他博客和对公司Maven配置的学习整理出来的。希望通过本此学习能对Maven有个整体性的掌控。 顺序:profile.repository > pom文件中的repository &…