r ridge回归_手把手带你画高大上的lasso回归模型图

article/2025/9/16 21:51:21

d5c89476d7d1373ef3dbdb9c66687468.png

各位芝士好友,今天我们来聊一聊lasso回归算法。与预后有关的文章,传统的做法一般会选择多变量cox回归,高级做法自然就是我们今天的lasso分析。

首先我们先来几篇文献,看一下lasso最近发的两篇文章,如下:

5cd2660e58864cb210d6db3b5d54590d.png

8db637ecc342c2bcffeb58a1be4e3280.png

这两篇文章均是采用了lasso回归的范文。感兴趣的可以自行下载学习,当然今天我们主要是和大家探讨lasso回归的细枝末节,具体体会这个算法的精妙和思想。

Lasso回归本质上就是一种回归分析,我们见到最多的或许就是线性回归,方程如下:

b7884c1325892c4f9ce7194939bf68bb.png

其中x为自变量,y为因变量,线性回归采用一个高维的线性函数来尽可能的拟合所有的数据点,最简单的想法就是最小化函数值与真实值误差的平方,比如假设我们构建一个函数H。

4f79cd4ecc9ff229dee3a6b0af154134.png

这个时候我们需要保证函数J达到最小,就可以了。

Lasso回归则是在一般线性回归基础上加入了正则项,在保证最佳拟合误差的同时,使得参数尽可能的“简单”,使得模型的泛化能力强。正则项一般采用一,二范数,使得模型更具有泛化性,同时可以解决线性回归中不可逆情况。这个时候你可能不淡定了,你是魔鬼吗?什么是正则项???

正则项:正则化就是通过对模型参数进行调整(数量和大小),降低模型的复杂度,以达到可以避免过拟合的效果。正则化是机器学习中的一种叫法,其它领域内叫法各不相同,统计学领域叫惩罚项,数学领域叫范数。而正则项又包括两种,即一范数和二范数,就是L1和L2范数。

重点来了:采用L1范数则是lasso 回归,L2范数则是岭回归了。那么函数有啥区别呢?如下:

L1范数

cf7fd42e5e2ba6dead5a8d404d8737cf.png

L2范数

df18c918bacdffcaa83718ba0239989f.png

红框标记的就是正则项,L1范数是所有参数绝对值之和,对应的回归方法叫做Lasso回归。

L2范数是所有参数的平方和,对应的回归方法叫做Ridge回归,岭回归需要注意的是,正则项中的回归系数为每个自变量对应的回归系数,不包含回归常数项

L1和L2各有优劣,L1是基于特征选择的方式,有多种求解方法,更加具有鲁棒性;L2则鲁棒性稍差,只有一种求解方式,而且不是基于特征选择的方式。我们在大多数signature文章中主要是基因挑选,自然就是今天的主题lasso cox回归,接下来我们看一下,如何采用R语言glmnet来实现。

1|安装glmnet包,操作很简单,直接install,接着加载进来就行,接着我们还需要加载示例数据。

ca7cc803a21cad3e8cf8c152ff36bdf8.png

这个cox数据共包含两个数据,但都是矩阵,我们需要给其整理成一个是包含30个基因在1000个病人样本中的表达,另一个是每个患者的生存状态和生存时间,生存时间以年为单位,如下:

88bf422233eeec0d80f24f87dbd8c273.png

2|构建生存分析对象,以进行下一步构建lasso回归:

20a21da73ca7d603bce22bab414933ef.png

3|通过glmnet函数中的设置family参数定义采用的算法模型,比如设置cox,则如下:

7b249e70e7f2382480dd3c51aafd8b1d.png

包自带的绘图如下:

b77de3cd16fee1a9c477fcccca0cc060.png

4|Lasso回归最重要的就是选择合适的λ值,可以通过cv.glmnet函数实现

7c84d94e5abc4a56ea69f8aa4d164608.png

结果如下:

4824dfb3154a12acb519957f13dd96a9.png

基于该图选择最佳的λ,一般可以采用两个内置函数实现cvfit$lambda.min和 cvfit$lambda.1se 。

5|基因筛选,采用coef函数即可,有相应参数的gene则被保留,采用λ使用的是lambda.min:

bf7424c257b3626d61d1d719a0712911.png

结果如下:

d5ab140e174038d3f25e95c477c2d851.png

第二列有数值是非点号的则代表被选择的基因。

6|美化lasso图,产生如下的图:

31bc2253ab2ca4fde44b21b10a2a784e.png

代码如下,我们将代码封装在plot_lasso.r里面,只需要source即可,如下:

dfda62c89dc9c6eed4e4e53b8c26906d.png

Ok,今天就和大家分享到这,关注公众号:百味科研芝士,后台回复“lasso”获取源文件及代码,


http://chatgpt.dhexx.cn/article/qKEGNaMy.shtml

相关文章

机器学习算法系列(四)- 岭回归算法(Ridge Regression Algorithm)

阅读本文需要的背景知识点:标准线性回归算法、一丢丢编程知识 一、引言 前面一节我们学习了机器学习算法系列(三)- 标准线性回归算法(Standard Linear Regression Algorithm),最后求得标准线性回归的代价函…

手写算法-python代码实现Ridge(L2正则项)回归

手写算法-python代码实现Ridge回归 Ridge简介Ridge回归分析与python代码实现方法一:梯度下降法求解Ridge回归参数方法二:标准方程法实现Ridge回归调用sklearn对比 Ridge简介 前面2篇文章,我们介绍了过拟合与正则化,比较全面的讲了…

线性模型-Ridge-Lasso-回归

目录 1 基本库导入2 线性回归2.1 线性模型性能2.2 使用更高维的数据集 3 岭回归-Ridge3.1 Ridge原理及应用3.2 Ridge调参3.3 为什么要用Ridge 4 Lasso4.1 基本原理及应用4.2 Lasso调参4.3 为什么要用Lasso4.4 Lasso和Ridge的区别(L1,L2区别) …

利用python实现Ridge岭回归和Lasso回归

正则化 regularization 在介绍Ridge和Lasso回归之前,我们先了解一下正则化 过拟合和欠拟合 (1) under fit:还没有拟合到位,训练集和测试集的准确率都还没有到达最高。学的还不 到位。 (2) over fit:拟合过度,训练…

数学推导+纯Python实现机器学习算法14:Ridge岭回归

点击上方“小白学视觉”,选择加"星标"或“置顶” 重磅干货,第一时间送达 上一节我们讲到预防过拟合方法的Lasso回归模型,也就是基于L1正则化的线性回归。本讲我们继续来看基于L2正则化的线性回归模型。 L2正则化 相较于L0和L1&…

【机器学习】多项式回归案例五:正则惩罚解决过拟合(Ridge回归和Lasso回归)

正则惩罚解决过拟合(Ridge回归和Lasso回归) 案例五: 正则惩罚解决过拟合(Ridge回归和Lasso回归)3.2.1 模块加载与数据读入3.2.2 特征工程3.2.3 模型搭建与应用 手动反爬虫,禁止转载: 原博地址 …

07- 梯度下降优化(Lasso/Ridge/ElasticNet) (数据处理+算法)

归一化: 减少数据不同数量级对预测的影响, 主要是将数据不同属性的数据都降到一个数量级。 最大值最小值归一化:优点是可以把所有数值归一到 0~1 之间,缺点受离群值影响较大。0-均值标准化: 经过处理的数据符合标准正态分布,即均值为0,标准差…

Linear Regression:Ridge regression

Ridge regression:岭回归 与least-squares method (最小二乘法)相似,只是加了一个对输入数据权重的惩罚值, 这个惩罚参数称为regularization (正则化)。正则化降低模型的复杂度,防止模型的过度拟合。 Ridge regression 利用L2 regularizatio…

对Lasso可以做特征选择,而Ridge却不行的详细解释

为了限制模型参数的数值大小,就在模型原来的目标函数上加上一个惩罚项,这个过程叫做正则化(Regularization)。 如果惩罚项是参数的 l 2 l_2 l2​范数,就是岭回归(Ridge Regression)如果惩罚项是参数的 l 1 l_1 l1​范…

Kernel Ridge Regression 详解过程

Kernel Ridge Regression(KRR,核脊回归) 是Ridge Regression(RR,脊回归)的kernel版本,与Support Vector Regression(SVR,支持向量回归)类似。所以,在这里,我们先大致了解RR的来源,由此引入KRR&a…

sklearn-1.1.2.Ridge Regression

1.1.2 Ridge Regression Ridge回归通过对系数的惩罚值来解决最小二乘法的系数问题。岭系数的最小化惩罚残差平方和的公式: 这里,是用来控制收缩量的复杂参数:参数值越大,收缩量也越大,因此系数对共线性变得更加稳健。 …

Ridge回归

岭回归(英文名:ridge regression, Tikhonov regularization)是一种专用于共线性数据分析的有偏估计回归方法,自变量之间线性相关-correlation很高,实质上是一种改良的最小二乘估计法,通过放弃最小二乘法的无偏性,以损失…

Lasso 和 Ridge回归中的超参数调整技巧

在这篇文章中,我们将首先看看Lasso和Ridge回归中一些常见的错误,然后我将描述我通常采取的步骤来优化超参数。代码是用Python编写的,我们主要依赖scikit-learn。本文章主要关注Lasso的例子,但其基本理论与Ridge非常相似。 起初&a…

Ridge和Lasso回归

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

Ridge回归*

线性回归稍微总结一下: 常见有普通线性回归(没有正则项,目标是最小化均方误差)、LASSO(均方误差项l-1正则项)、Ridge回归(均方误差l-2正则项) 加上正则项可以降低过拟合风险。 Ridge…

【机器学习原理实战01】Ridge回归模型

Ridge回归模型 最近做项目用到岭回归模型,特地来记录一下整个岭回归模型的原理和代码。 以后会将用到的机器学习模型算法都记录下来。1、Ridge 回归原理 多元线性回归计算回归系数的时候回归系数的计算如下: 学过线性代数的都知道,以上式子…

岭回归(Ridge)和Lasso 回归(笔记)

最近在自学图灵教材《Python机器学习基础教程》,在csdn以博客的形式做些笔记。 对于回归问题,线性模型预测的一般公式如下: ŷ w[0] * x[0] w[1] * x[1] … w[p] * x[p] b 这里 x[0] 到 x[p] 表示单个数据点的特征(本例中特…

【机器学习】一文读懂正则化与LASSO回归,Ridge回归

该文已经收录到专题机器学习进阶之路当中,欢迎大家关注。 1.过拟合 当样本特征很多,样本数相对较少时,模型容易陷入过拟合。为了缓解过拟合问题,有两种方法: 方法一:减少特征数量(人工选择重要…

地址总线之寻址原理

译码器将地址总线的数据经过译码后锁定相应的位置,译码器有两种方结构,一种是单译码器,另外一种是双译码器。单译码器适用于存储容量小的应用环境中。双译码器结构将译码器分为两部分一部分是行译码器,另一部分是列译码器。行和列…

[组原]初识-地址总线,地址寄存器,存储单元,存储字长

文章目录 知识点机器字长指令寻址方式按字寻址按字节寻址 存储单元存储字存储字长 💟前记:由一道做错的题总结结果 ⏲ 05.09 知识点 机器字长 计算机进行一次整数运算所能处理的二进制数据的位数;通常也是CPU内部数据通路的宽度;…