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

本文翻译自

Ridge and Lasso Regression

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

  • 点击此处 观看Josh Starmer对Ridge Regression的解释
  • 点击此处 观看Josh Starmer对 Regression的解释

过拟合(Overfitting)

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

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

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

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

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

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

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

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

L2L_2L2​ Ridge回归

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

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

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

其中λ\lambdaλ是惩罚项,此值称为Ridge回归或者L2L_2L2​。

  • L2L_2L2​惩罚项是二次的:意味着没有一个系数(斜率)非常大。
  • L1L_1L1​惩罚项是是绝对值:λ∗∣slope∣\lambda *| slope |λ∗∣slope∣意味着选择最重要的特征。

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

L1L_1L1​ Lasso回归

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

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

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

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

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

Ridge和Lasso回归相关推荐

  1. Ridge和Lasso回归代码实现--Tensorflow部分

    Ridge和Lasso回归代码实现–Tensorflow部分–潘登同学的机器学习笔记 python版本–3.6 ; Tensorflow版本–1.15.0 ;编辑器–Pycharm 文章目录 Ridg ...

  2. 【读书笔记】数据出现多重共线性情况:岭回归,lasso回归,适应性lasso回归,偏最小二乘回归

    # 2.2.3 数据出现多重共线性情况:岭回归,lasso回归,适应性lasso回归,偏最小二乘回归 # 有一些关于多重共线性的度量,其中之一是容忍度(tolerance)或(等价的)方差膨胀因子(v ...

  3. 线性回归——lasso回归和岭回归(ridge regression)

    目录 线性回归--最小二乘 Lasso回归和岭回归 为什么 lasso 更容易使部分权重变为 0 而 ridge 不行? References 线性回归很简单,用线性函数拟合数据,用 mean squ ...

  4. 【人工智能】机器学习:岭回归与LASSO回归(Ridge/LASSO Regression)

    机器学习:岭回归与LASSO回归 (Ridge / LASSO Regression) 文章目录 机器学习:岭回归与LASSO回归 (Ridge / LASSO Regression) 1. Ridg ...

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

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

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

    各位芝士好友,今天我们来聊一聊lasso回归算法.与预后有关的文章,传统的做法一般会选择多变量cox回归,高级做法自然就是我们今天的lasso分析. 首先我们先来几篇文献,看一下lasso最近发的两篇 ...

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

    正则惩罚解决过拟合(Ridge回归和Lasso回归) 案例五: 正则惩罚解决过拟合(Ridge回归和Lasso回归) 3.2.1 模块加载与数据读入 3.2.2 特征工程 3.2.3 模型搭建与应用 ...

  8. Ridge 回归和 Lasso 回归

    关于特征选择,下列对 Ridge 回归和 Lasso 回归说法正确的是? A. Ridge 回归适用于特征选择 B. Lasso 回归适用于特征选择 C. 两个都适用于特征选择 D. 以上说法都不对 ...

  9. 多元线性回归算法: 线性回归Linear Regression、岭回归Ridge regression、Lasso回归、主成分回归PCR、偏最小二乘PLS

    0. 问题描述 输入数据:X=(x1,x2,....,xm)\mathbf{X} = (x_1, x_2,...., x_m)X=(x1​,x2​,....,xm​), 相应标签 Y=(y1,y2,. ...

最新文章

  1. UE5蓝图初学课程 Unreal Engine 5: Blueprints for Beginners
  2. 记录一下Memcached的用法:
  3. ssh密码长度漏洞java_Linux中 OpenSSH 输入验证错误漏洞(CVE-2019-16905) 修复解决方案...
  4. 力扣 两个数组的交集
  5. 凉了!张三同学没答好,熬夜整理最新大厂Java高频面试题
  6. java String.replaceAll中特殊字符问题
  7. 程序员面试金典——11.2变位词排序
  8. 移动端动画使用transform提升性能
  9. HTML基础网页布局代码写法
  10. lisp绘制直齿圆柱齿轮_直齿圆柱齿轮的画法
  11. 当win10电脑,本地网络出现了一个意外的情况,不能完成所有你在设置中所要求的更改?
  12. freeictclas java_天书般的ICTCLAS分词系统代码(一)
  13. php如何把乘法口诀表嵌入表格中,php编辑表格生成器,for循环编写乘法口诀
  14. 常用的十种算法:二分查找,分治,动态规划,KMP
  15. 如有问题,请及时联系 || 如有不足,请批评指出,一定会虚心改正 || 如有好的意见 ,欢迎下面留言
  16. 灰色关联度分析法(GRA)_python
  17. 北大计算机科学与技术教材,北京大学计算机科学与技术参考书目
  18. python pivot() 函数
  19. 指令mysql5.6卸载_Mysql5.6压缩包安装到windows 卸载命令
  20. 4.UWB代码讲解注释

热门文章

  1. Vagrant 如何调整虚拟机的内存大小?
  2. 库和包集合(VHDL语言)
  3. DDD领域驱动设计实战-分层架构及代码目录结构
  4. php md5加密(并小写),PHP常见加密函数用法示例【crypt与md5】
  5. 初中计算机公开课教学设计,信息技术公开课教案
  6. 习题:设计一个学生类,其中数据成员有学号、姓名、年龄、3门课程的成绩,以及若干成员函数。并利用这个类建立一个对象数组。
  7. cron 表达式配置
  8. 全能助理2010(上)
  9. 安装ENDNOTE后在Word里面找不到怎么办?
  10. node-gyp编译c++编写的node扩展