岭回归、Lasso回归和弹性网络

news2025/7/18 8:22:08

        减少过拟合的一个好方法是对模型进行正则化(即约束模型):它拥有的自由度越少,则过拟合数据的难度就越大。正则化多项式模型的一种简单方法是减少多项式的次数。

        对于线性模型,正则化通常是通过约束模型的权重来实现的。现在,我们看一下岭回归、Lasso回归和弹性网络,它们实现了三种限制权重的方法

1.岭回归

岭回归(也称为Tikhonov正则化)是线性回归的正则化版本:将等于\alpha \sum_{i=1}^n \theta_i^2的正则化项添加到成本函数。这迫使学习算法不仅拟合数据,而且还使模型权重尽可能小。注意仅在训练期间将正则化项添加到成本函数中。训练完模型后,你要使用非正则化的性能度量来评估模型的性能。

训练过程中使用的成本函数与用于测试的性能指标不同是很常见的。除正则化外,它们可能不同的另一个原因是好的训练成本函数应该具有对优化友好的导数,而用于测试的性能指标应尽可能接近最终目标。例如,通常使用成本函数(例如对数损失(稍后讨论))来训练分类器,但使用精度/召回率对其进行评估。

超参数α控制要对模型进行正则化的程度。如果α=0,则岭回归仅是线性回归。如果α非常大,则所有权重最终都非常接近于零,结果是一条经过数据均值的平线。公式4-8给出了岭回归成本函数

 请注意,偏置项\theta_0没有进行正则化(总和从i=1开始,而不是0)。如果我们将w定义为特征权重的向量\theta_1\theta_n,则正则项等于1/2(\left \| w \right \|_2)^2,其中||w||2表示权重向量的[插图]2范数[2],其中||w||_2表示权重向量的l_2范数。对于梯度下降,只需将αw添加到MSE梯度向量

在执行岭回归之前缩放数据(例如使用StandardScaler)很重要,因为它对输入特征的缩放敏感。大多数正则化模型都需要如此。

图显示了使用不同的α值对某些线性数据进行训练的几种岭模型。左侧使用普通岭模型,导致了线性预测。在右侧,首先使用PolynomialFeatures(degree=10)扩展数据,然后使用StandardScaler对其进行缩放,最后将岭模型应用于结果特征:这是带有岭正则化的多项式回归。请注意,α的增加会导致更平坦(即不极端,更合理)的预测,从而减少了模型的方差,但增加了其偏差。

 

        与线性回归一样,我们可以通过计算闭合形式的方程或执行梯度下降来执行岭回归。利弊是相同的。公式4-9显示了闭式解,其中A是(n+1)×(n+1)单位矩阵[3],除了在左上角的单元格中有0(对应于偏置项)。

闭式解的岭回归

2.Lasso回归

线性回归的另一种正则化叫作最小绝对收缩和选择算子回归(Least Absolute Shrinkage and Selection Operator Regression,简称Lasso回归)。与岭回归一样,它也是向成本函数添加一个正则项,但是它增加的是权重向量的[插图]1范数,而不是[插图]2范数的平方的一半。

显示了与上图相同的东西,但是用Lasso模型替换了岭模型,并使用了较小的α值。

 Lasso回归的一个重要特点是它倾向于完全消除掉最不重要特征的权重(也就是将它们设置为零的右图中的虚线(α=10-7)看起来像是二次的,快要接近于线性:因为所有高阶多项式的特征权重都等于零。换句话说,Lasso回归会自动执行特征选择并输出一个稀疏模型(即只有很少的特征有非零权重)。在左上图中,轮廓线代表[插图]1损失(|θ1|+|θ2|),当你靠近任何轴时,该损失呈线性下降。例如,如果将模型参数初始化为θ1=2和θ1=0.5,运行梯度下降会使两个参数均等地递减(如黄色虚线所示)。

3.弹性网络

弹性网络是介于岭回归和Lasso回归之间的中间地带。正则项是岭和Lasso正则项的简单混合,你可以控制混合比r。当r=0时,弹性网络等效于岭回归,而当r=1时,弹性网络等效于Lasso回归。

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

记一次生产中使用CompletableFuture遇到的坑

为什么使用CompletableFuture 业务功能描述:有一个功能是需要调用基础平台接口组装我们需要的数据,在这个功能里面我们要调用多次基础平台的接口,我们的入参是一个id,但是这个id是一个集合。我们都是使用RPC调用,一般…

【22年11月12日更新】搭建宝塔面板、青龙面板“京东代挂”

本文章仅供学习 一、青龙面板是什么? 青龙面板可以运行某东脚本,你在某宝、某度等各个渠道搜索“京东代挂”,都是用青龙面板。 二、搭建宝塔面板 1.更新 yum 包 首先下载finalshell通过账号密码连接服务器,然后输入 yum up…

零基础程序员想要学好.Net,跟着这7个步骤学习就可以了

作为一个初学者程序员,很喜欢问的一个问题就是:零基础如何自学编程?在后台也有很多读者私信我,问我这个问题,其实这个问题比较大,不是一两句就可以说清楚的。 所以,今天结合我个人的经历&#x…

注意力机制详解(Attention详解)

注意力机制与人眼类似,例如我们在火车站看车次信息,我们只关注大屏的车次信息,而忽略大屏外其他内容,从而导致钱包被偷。。。 注意力机制只关注重点信息,忽略不重要的信息,关注最核心的内容。 主要就是这…

推荐系统实战2——EasyRec 推荐框架环境配置

推荐系统实战2——EasyRec 推荐框架环境配置学习前言先验条件EasyRec仓库地址EasyRec环境配置一、EasyRec的下载二、EasyRec的初始化三、EasyRec的安装四、一些额外的情况学习前言 EasyRec是阿里巴巴开源的推荐系统框架。生命苦短,从建好的推荐系统框架开始学&…

【C++】STL简介 -- string 的使用及其模拟实现

文章目录一、STL 简介1、什么是 STL2、STL 的版本3、STL 的六大组件4、STL 的重要性5、如何学习 STL二、string 类的使用1、什么是 string2、string 类模板3、构造函数4、Iterators5、Capacity6、Element Access7、Modify8、String Operations9、Non-member function overloads…

Arduino程序设计(二) 按键控制LED灯

按键控制LED灯程序设计前言一、按键控制LED灯——内部上拉(基础)二、按键控制LED灯——外部上拉(基础)三、按键控制LED灯(进阶)总结参考文献前言 本文主要介绍三种按键控制LED灯的实现方式,分别…

PatchCore原理与代码解读

paper:Towards Total Recall in Industrial Anomaly Detection code:GitHub - amazon-science/patchcore-inspection 存在的问题 目前无监督缺陷检测常用的一种方法是直接利用在ImageNet上预训练的模型中的表示,而不专门进行目标分布的迁…

从零开始将图片信息和空间信息绑定,并在前端展示到地图

作者:xiaoyan 关键词:前端查询时展示和空间数据绑定的图片资源 本文适合零基础入门 背景:iServer支持空间查询,可以将空间数据属性表中的属性查询出来,如通过SQL语句查询出某地大楼实际层高,或者查询出某…

RHCE实验--配置nfs服务

1、开放/nfs/shared目录,供所有用户查询资料; 2、开放/nfs/upload目录,供所有用户上传下载资料; 服务器与客户端都写好yum源以及挂载光盘,然后安装服务包 [rootserver ~]# yum install rpcbind -y [rootserver ~]# y…

Vue3基础

Vue 官网 https://cn.vuejs.org/ https://v3.cn.vuejs.org/ https://staging-cn.vuejs.org/api/ 1、环境 1.1、nodejs node node -vnpm #当前版本 npm -v #升级npm版本 npm install -g npm1.2、vue #安装vue npm install -g vue-cli #安装最新版本 npm install -g vu…

LQ0197 锦标赛【程序填空】

题目来源:蓝桥杯2014初赛 C A组E题 题目描述 本题为代码补全填空题,请将题目中给出的源代码补全,并复制到右侧代码框中,选择对应的编译语言(C/Java)后进行提交。若题目中给出的源代码语言不唯一&#xff0…

Python简单实现人脸识别检测, 对照片进行评分

大家好,今天和大家说说如何用Python简单实现人脸识别检测, 对照片进行排名,看看自己有多漂亮。 [开发环境]: Python 3.8 Pycharm 2021.2 [模块使用]: requests >>> pip install requeststqdm >>> pip install tqdm 简单实现进度条效果…

Arduino从零开始(1)——按钮控制LED

0.前言 本文主要介绍Arduino对于开关和条件判断函数的使用。 目录 0.前言 1.介绍 2.按钮控制LED 2.1下拉模式: 2.2上拉模式 3.扩展实验: 1.介绍 前篇介绍了点亮LED,这次案例我们尝试通过一个简单的传感器——按钮,来实现…

Ubuntu20.04离线安装Vmware tools

参考连接:在 Linux 虚拟机中手动安装 VMware Tools 从 Workstation Pro 菜单栏中选择虚拟机 > 安装 VMware Tools。 如果安装了早期版本的Vmware tools,则菜单项是更新Vmware tools如果这个安装Vmware tools 是灰色的,进行如下的处理方式…

HTML基本骨架与编辑器选择

HTML基本骨架与编辑器选择 文章目录HTML基本骨架与编辑器选择1.HTML基本了解1.1 什么是HTML1.2 HTML标签1.3 HTML元素1.4 Web浏览器1.5 HTML网页结构1.6 HTML版本了解2.HTML基本骨架介绍3.HTML编辑器的下载与使用1.HTML基本了解 1.1 什么是HTML HTML 是用来描述网页的一种语言…

双链表的基本操作

目录 一、双链表的设计 二、双链表的实现和基本操作 1.实现双链表节点以及设置first、last指针 2.获取当前链表中元素的数量 3.获取指定位置的节点 4.在尾部添加结点元素 5.在指定位置添加元素 6.删除指定位置的结点 一、双链表的设计 针对于查询操作,我们可…

计算机操作系统:实验3 【虚拟存储器管理】

计算机操作系统:实验3 【虚拟存储器管理】 文章目录计算机操作系统:实验3 【虚拟存储器管理】一、前言二、实验目的三、实验环境四、实验内容五、实验说明1、设计中虚页和实页的表示2、关于缺页次数的统计3、LRU算法中“最近最久未用”页面的确定4、算法…

删除类及其对象的属性:delattr()函数

【小白从小学Python、C、Java】 【Python-计算机等级考试二级】 【Python-数据分析】 删除类及其对象的属性 delattr()函数 [太阳]选择题 请问对以下Python代码说法错误的是? class MyClass1: x 1 y 2 myObject1 MyClass1() print(【访问】myObject1的属…

Revit中“结构框架显示与剪切“的应用和一键剪切功能

一、Revit关于"结构框架显示与剪切"的应用 结构框架:顾名思义其实它表示的就是结构梁而已,但是我们画图的时候往往会显示"实线"和"虚线",以至于在出结构图纸的时候,达不到出图要求 NO.2、应用 Part…