【机器学习300问】109、什么是岭回归模型?
在进行回归任务时间,可以能会遇到特征数量多于观测数量或某些特征变量之间相关性较高(几乎线性相关)时,标准的线性回归模型的系数估计可能非常不精确,可以理解成独立方程个数小于未知数个数此时方程有无穷多解。
例如:1个方程,2个未知数时,此时方程数量小于未知数个数,有无穷多解。
| 序号 | 方程组的解 |
| 解1 | |
| 解2 | |
| ... | |
| 解m | |
| 独立方程数量小于未知数个数,方程组有无穷多解 | |
一、岭回归产生的背景
岭回归模型的提出为了解决什么问题呢?我们用一个比喻加一个例子来说明:
想象一下,你在一家咖啡馆里试图通过窗户观察外面行人手中的饮料类型来进行统计。但是,由于窗户上贴满了复杂的花纹,这些花纹就像是数据中的噪音和复杂关系,让你很难清晰地分辨每种饮料。这时候,如果你戴上一副特制的眼镜——这副眼镜能减弱花纹干扰,让你更专注于主要的区别特征,比如饮料的颜色或形状,这样就能更准确地统计了。
在机器学习中,岭回归就是这样一副“眼镜”。它是一种改进的线性回归方法,专门用来处理那些因为特征之间存在很强的相关性(我们称之为多重共线性)而变得棘手的问题。没有这副“眼镜”,普通的线性回归(就像直接用眼观察)可能会被数据中的复杂关系迷惑,导致预测效果很差,甚至系数估计出错。
二、岭回归的思想和公式
岭回归是如何工作的呢?它通过在原有的误差最小化目标基础上,加入了一个额外的惩罚项。这个惩罚项是各个特征权重(也就是回归系数)的平方和乘以一个正的常数(我们称之为正则化参数λ)。
在标准的多元线性回归中,模型参数通过最小化残差平方和(RSS)来估计:
其中,是样本数量,
是因变量的观测值,
是自变量的观测值,
是回归系数。
然而,在某些情况下,特别是当特征数量接近或超过样本数量时,线性回归可能导致过拟合和不稳定的估计值。岭回归为了防止这些问题,将一个额外的正则项(也称为惩罚项)加到RSS上:
其中,是一个正的调节参数(岭参数),起到调节系数向0收缩的力度。由于正则项的存在,岭回归倾向于将系数估计值向0压缩,这意味着尽管它们可能永远不会等于0,但可以控制过拟合现象,提高模型的泛化能力。
【注】选择一个合适的值,因为它决定了系数压缩的程度。
的值越大,约束越强,回归系数会越小。通常
是通过交叉验证来选择的。
三、为什么叫岭回归?
岭回归之所以被称为“岭回归”(Ridge Regression),源自它在问题求解中的几何性质。这个名字可以归因于它在求解参数时,通过正则化项引入的约束导致解集呈现出“岭”的形状。
在标准线性回归中,模型的目标是最小化误差平方和,这在参数空间中可以视为寻找一个能使误差平方和函数最低的参数点。如果存在共线性,这个误差平方和的底部(代表最佳解的区域)会变得非常扁平,导致许多可能的解。
当引入岭回归的L2正则化时,即在目标函数中增加所有系数的平方和乘以岭参数λ,这就相当于在参数空间中增加了一个圆形的约束。这个圆形约束使得参数不再在平坦的区域自由移动,而是被限制在一个“岭”上,即限制在较小范围的圆形区域内寻找最佳解。因此,“岭”这个名称形象地描述了正则化项如何影响系数的求解过程,强制系数向零收缩,同时保护模型免于过拟合。
关于岭回归的代码演示:
学习岭回归
https://gitee.com/wx114/linear-ridge-lasso-regression.git
相关文章:
【机器学习300问】109、什么是岭回归模型?
在进行回归任务时间,可以能会遇到特征数量多于观测数量或某些特征变量之间相关性较高(几乎线性相关)时,标准的线性回归模型的系数估计可能非常不精确,可以理解成独立方程个数小于未知数个数此时方程有无穷多解。 例如&…...
FJSP:烟花算法(FWA)求解柔性作业车间调度问题(FJSP),提供MATLAB代码
一、烟花算法介绍 参考文献: Tan, Y. and Y. Zhu. Fireworks Algorithm for Optimization. in Advances in Swarm Intelligence. 2010. Berlin, Heidelberg: Springer Berlin Heidelberg. 二、烟花算法求解FJSP 2.1FJSP模型介绍 柔性作业车间调度问题(Flexible …...
C++11 列表初始化(initializer_list),pair
1. {} 初始化 C98 中,允许使用 {} 对数组进行初始化。 int arr[3] { 0, 1, 2 };C11 扩大了 {} 初始化 的使用范围,使其可用于所有内置类型和自定义类型。 struct Date {int _year;int _month;int _day;Date(int year, int month, int day):_year(year…...
Python3 笔记:字符串的 startswith() 和 endswith()
1、startswith() 方法用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg 和 end 指定了值,则在指定范围内检查。 语法:str.startswith(substr, beg0,endlen(string)) 参数: s…...
Web前端安全问题分类综合以及XSS、CSRF、SQL注入、DoS/DDoS攻击、会话劫持、点击劫持等详解,增强生产安全意识
前端安全问题是指发生在浏览器、单页面应用、Web页面等前端环境中的各类安全隐患。Web前端作为与用户直接交互的界面,其安全性问题直接关系到用户体验和数据安全。近年来,随着前端技术的快速发展,Web前端安全问题也日益凸显。因此,…...
1.单选题 (2分)下列关于脚本的说法不正确的是( )。本题得分: 2分正确答案: A2.单选题 (2分)软件测试自动化的局限性不包含( )。本题得分: 2分
1.单选题 (2分) 下列关于脚本的说法不正确的是( )。 A 线性脚本是最复杂的脚本 B 结构化脚本具有较好的可读性、可重用性,易于维护 C 关键字驱动脚本在开发时,不关心基础函数,直接使用已定义好的关键字 D 数据驱动脚本将测试脚本和数据进行分离,同一个脚本可以针对不同的输…...
【Docker系列】跨平台 Docker 镜像构建:深入理解`--platform`参数
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...
力扣1248.统计优美子数组
力扣1248.统计优美子数组 同930. 哈希表法 求前缀和 class Solution {public:int numberOfSubarrays(vector<int>& nums, int k) {int n nums.size();unordered_map<int,int> cnt;int res0,sum0;for(int i0,j0;i<n;i){cnt[sum] ;if(nums[i] & 1) …...
AI2THOR 2.1.0使用教程
一、安装和入门 1.1 AI2-THOR使用要求 操作系统: Mac OS X 10.9, Ubuntu 14.04显卡:DX9(着色器型号 3.0)或 DX11,功能级别为 9.3。CPU:支持 SSE2 指令集。Python 2.7 或 Python 3.5Linux 用户…...
在Nginx中配置php程序环境。
1、前言。 我一开始是想 搭建 Tomcat PHP 环境。 Tomcat并不能直接运行PHP,因为Tomcat是一个Java Web服务器,主要用于运行Java应用程序。但是,我们可以通过一些配置和工具来使Tomcat能够运行PHP。 在配置Tomcat支持PHP 项目的时…...
!力扣70. 爬楼梯
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 1. 递归(超时) class Solution { public:int climbStairs(int n) {if(n1){return 1;}if(n2){return 2;}return climbStairs…...
Spring boot+vue前后端分离
目录 1、前端vue的搭建 2、后端项目的构建 pom文件中引入的jar包 yml文件用来配置连接数据库和端口的设置 application.property进行一些整合 service层 imp层 mapper 实体类 额外写一个类、解决跨域问题 3、测试 1、前端vue的搭建 建立项目的过程略 开启一个建立好…...
Python基础总结之列表转字符串
Python基础总结之列表转字符串 在Python中,将列表转换为字符串有多种方法,最常用的是使用str.join()方法。这里有一些示例: 使用str.join()方法 这是将列表转换为字符串的最直接和最常用的方法。你需要确保列表中的所有元素都是字符串类型…...
二分【1】二分查找框架 查找指定元素
目录 二分查找 基本思想 几种情况汇总 一。严格递增序列 1.查找本身 2.查找第一个大于等于自己的 3.查找第一个大于自己的 4.严格递减序列 二。有重复元素 1.取其中第一个出现的 2.取其中最后一个出现的 二分查找 基本思想 几种情况汇总 一。严格递增序列 1.查找本身…...
Python 中如何使用 lambda 函数
在 Python 中,可以使用 lambda 函数来创建匿名函数。lambda 函数的语法是:lambda 参数: 表达式。以下是一些使用 lambda 函数的例子: 通过 lambda 函数来计算两个数的和: add lambda x, y: x y print(add(2, 3)) # 输出 5通过…...
关于焊点检测(SJ-BIST)模块实现
关于焊点检测(SJ-BIST)模块实现 语言 :Verilg HDL 、VHDL EDA工具:ISE、Vivado、Quartus II 关于焊点检测(SJ-BIST)模块实现一、引言二、焊点检测功能的实现方法(1) 输入接口&#x…...
关于修改Python中pip默认安装路径的终极方法
别想了,终极方法就是手动复制,不过我可以给你参考一下手动复制的方法 关于手动移动pip安装包的方法 别想了,终极方法就是手动复制,不过我可以给你参考一下手动复制的方法一、首先确认一下pip默认安装路径二、再确认一下需要移动到…...
android集成百度文心一言实现对话功能,实战项目讲解,人人都能拥有一款ai应用
大家好,今天给大家讲解下如何实现一个基于百度文心一言的app功能,app内部同时集成了讯飞的语音识别。本文适用于有android基础的小伙伴阅读,文章末尾放上本项目用到的全部实例代码,在使用前请务必看完本文章。 先来给大家看看效果…...
事件总线vueEvent
一个组件结束后要更新另一个组件数据,但是另一个组件和这个组件没有上下级关系 在 Vue 中,非父子组件之间进行通信通常需要使用事件总线或者其他的全局事件管理器。vueEvent 似乎是一个事件总线对象,通过 emit 方法触发了名为 updateData 的事…...
设计模式之观察者模式ObserverPattern(十一)
一、概述 观察者模式 (Observer Pattern) 是一种行为型设计模式,又被称为发布-订阅 (Publish/Subscribe) 模式,它定义了对象之间的一种一对多的依赖关系,使得当一个对象的状态发生变化时,所有依赖于它的对象都会自动收到通知并更新…...
从DVP到VGA:基于FPGA的OV7670图像采集与实时显示系统设计
1. OV7670摄像头与DVP接口基础 OV7670是一款经典的VGA分辨率图像传感器,在嵌入式视觉领域应用广泛。我第一次接触这款摄像头是在2015年的一个智能门铃项目上,当时就被它小巧的体积和简单的接口所吸引。这款传感器最大支持640x480分辨率,输出格…...
Python离线环境搭建全攻略:从虚拟机到生产服务器的完整迁移方案
Python离线环境搭建全攻略:从虚拟机到生产服务器的完整迁移方案 在金融、军工等对网络安全要求极高的行业,服务器通常运行在完全隔离的离线环境中。这种环境下,如何部署Python运行环境并确保所有依赖库正常工作,成为许多运维工程师…...
医疗影像分析中的图像分割避坑指南:从Sobel到Canny的算法选型
医疗影像分析中的图像分割避坑指南:从Sobel到Canny的算法选型 在CT和MRI扫描成为临床诊断常规手段的今天,医疗影像分析正面临前所未有的数据洪流。某三甲医院的放射科主任曾向我展示过一组数据:单台256排CT日均产生超过200GB的DICOM影像&…...
Python 服务优雅停机实战:信号处理、资源收尾与 Kubernetes 滚动发布避坑指南
Python 服务优雅停机实战:信号处理、资源收尾与 Kubernetes 滚动发布避坑指南 客观来看,Python 作为“胶水语言”,以其简洁优雅的语法从 1991 年诞生至今,已深度渗透 Web 开发、数据科学、人工智能和自动化运维等领域。它改变了编…...
PyTorch 2.8镜像效果展示:RTX 4090D运行Kandinsky-3生成多风格插画作品集
PyTorch 2.8镜像效果展示:RTX 4090D运行Kandinsky-3生成多风格插画作品集 1. 开篇:高性能深度学习环境 当谈到AI绘画创作时,硬件性能往往决定了创作体验的上限。今天我们要展示的是在RTX 4090D 24GB显卡上运行的PyTorch 2.8深度学习环境&am…...
payload缺了2个
soc和mcu收发验证中。其他block里面都有,只缺了2个。每个block里都是一样的rte的read和write那么问题在底软,不在我们ap/cp。如图,id6和9这里缺了。底软更新后有了:代码里面每个都一样的,问题不在这里:FUNC…...
辅助用电系统安装:工业项目电力配套的关键环节问题全解析
在工业厂房、园区配套、商业综合体、仓储物流中心以及各类生产型项目中,很多人一提到电气工程,第一反应往往是高压配电、变压器、动力柜或者主供电系统。但真正决定项目是否“好用、稳用、久用”的,往往不是主系统本身,而是隐藏在…...
造相-Z-Image-Turbo 在计算机网络教学中的应用:可视化展示协议交互角色
造相-Z-Image-Turbo:让计算机网络协议“活”起来的教学新助手 每次讲到TCP三次握手、HTTP请求响应这些概念,看着台下学生迷茫的眼神,你是不是也感到头疼?协议栈、数据包、端口号,这些抽象的名词和冰冷的箭头图&#x…...
【deepseek】SYCL™ 2020 Specification 简介
SYCL™ 2020 Specification 简介 SYCL 2020 是由 Khronos Group 发布的异构计算标准,它是 SYCL(发音为 “sickle”)规范的最新主要版本。SYCL 是一种基于标准 C 的编程模型,旨在简化在各种硬件加速器(如 CPU、GPU、FPG…...
Halcon 标定(Calibration)与引导(Guidance)的工业实践:从理论到高精度落地的全链路解析
1. Halcon标定技术的基础认知 第一次接触Halcon标定时,我和很多新手一样被那些专业术语吓到了。但真正用起来才发现,这套系统就像给机器装上了"眼睛和尺子"。简单来说,标定就是教会相机看懂真实世界的尺寸和位置。想象一下…...
