机器学习(七)

线性回归

最小二乘法(Least Squares Method,简记为LSE)是一个比较古老的方法,源于天文学和测地学上的应用需要。在早期数理统计方法的发展中,这两门科学起了很大的作用。丹麦统计学家霍尔把它们称为“数理统计学的母亲”。此后近三百年来,它广泛应用于科学实验与工程技术中。美国统计史学家斯蒂格勒( S. M. Stigler)指出, 最小二乘方法是19世纪数理统计学的压倒一切的主题。1815年时,这方法已成为法国、意大利和普鲁士在天文和测地学中的标准工具,到1825年时已在英国普遍使用。追溯到1801年,意大利天文学家朱赛普·皮亚齐发现了第一颗小行星谷神星。经过40天的跟踪观测后,由于谷神星运行至太阳背后,使得皮亚齐失去了谷神星的位置。随后全世界的科学家利用皮亚齐的观测数据开始寻找谷神星,但是根据大多数人计算的结果来寻找谷神星都没有结果。时年24岁的高斯也计算了谷神星的轨道。奥地利天文学家海因里希·奥尔伯斯根据高斯计算出来的轨道重新发现了谷神星。高斯于其1809年的著作《关于绕日行星运动的理论》中。在此书中声称他自1799年以来就使用最小二乘方法,由此爆发了一场与勒让德的优先权之争。近代学者经过对原始文献的研究,认为两人可能是独立发明了这个方法,但首先见于书面形式的,以勒让德为早。然而,现今教科书和著作中,多把这个发明权归功于高斯。其原因,除了高斯有更大的名气外,主要可能是因为其正态误差理论对这个方法的重要意义。勒让德在其著作中,对最小二乘方法的优点有所阐述。然而,缺少误差分析。我们不知道,使用这个方法引起的误差如何,就需建立一种误差分析理论。高斯于1823年在误差e1 ,… , en独立同分布的假定下,证明了最小二乘方法的一个最优性质: 在所有无偏的线性估计类中,最小二乘方法是其中方差最小的!在德国10马克的钞票上有高斯像,并配了一条正态曲线。在高斯众多伟大的数学成就中挑选了这一条,亦可见这一成就对世界文明的影响。

最小二乘法


线性 : 得名于f(x)=ax+b的图像的形象 很直观 就是一条直线的形象

梯度下降:

-------------------------------------------------------------------------------------------------------------------------------------------------

岭回归

原理:

缩减数据“理解”数据

岭回归优点:

1.缩减方法可以去掉不重要的参数,因此能更好地理解数据。此外,与简单的线性回归相比,缩减法能取得更好的预测效果。

2.岭回归是加了二阶正则项的最小二乘,主要适用于过拟合严重或各变量之间存在多重共线性的时候,岭回归是有bias的,这里的bias是为了让variance更小。

过拟合:为了得到一致假设而使假设变得过度严格称为过拟合
bias:bias:指的是模型在样本上的输出与真实值的误差
variance:指的是每个模型的输出结果与所有模型平均值(期望)之间的误差

总结:

1.岭回归可以解决特征数量比样本数量多的问题

2.岭回归作为一种缩减算法可以判断哪些特征重要或者不重要,类似于降维效果

3.缩减算法可以看作是对一个模型增加偏差的同时减小方差

应用场景:

1.数据点少于变量个数

2.变量间存在共线性(最小二乘法得到的系数不稳定,方差很大)

多重共线性(Multicollinearity)是指线性回归模型中的解释变量之间由于存在精确相关关系或高度相关关系而使模型估计失真或难以估计准确

3.处理高度相关的数据

拓展:

import numpy as npimport matplotlib.pyplot as pltfrom sklearn import linear_model# X is the 10x10 Hilbert matrixX = 1. / (np.arange(1, 11) + np.arange(0, 10)[:, np.newaxis])y = np.ones(10)################################################################################ Compute pathsn_alphas = 200alphas = np.logspace(-10, -2, n_alphas)clf = linear_model.Ridge(fit_intercept=False)coefs = []for a in alphas:clf.set_params(alpha=a)clf.fit(X, y)coefs.append(clf.coef_)################################################################################ Display resultsplt.figure(figsize=(12,9))ax = plt.gca()ax.plot(alphas, coefs)ax.set_xscale('log')ax.set_xlim(ax.get_xlim()[::-1])  # reverse axisplt.xlabel('alpha')plt.ylabel('weights')plt.title('Ridge coefficients as a function of the regularization')plt.axis('tight')plt.show()

效果:

-------------------------------------------------------------------------------------------------------------------------------------------------

Lasso回归(least absolute shrinkage and selection operator,最小绝对值收缩和选择算子)

简介:

与岭回归类似,它也是通过增加惩罚函数来判断、消除特征间的共线性。

当λ足够小时,一些影响较弱的系数会因此被迫缩减到0

-------------------------------------------------------------------------------------------------------------------------------------------------

弹性网络ElasticNet

ElasticNet综合了L1正则化项和L2正则化项

使用场景:
ElasticNet在我们发现用Lasso回归太过(太多特征被稀疏为0),而岭回归也正则化的不够(回归系数衰减太慢)的时候,可以考虑使用ElasticNet回归来综合,得到比较好的结果。

-------------------------------------------------------------------------------------------------------------------------------------------------

正则化

作用:

机器学习中,如果参数过多,模型过于复杂,容易造成过拟合(overfit)。即模型在训练样本数据上表现的很好,但在实际测试样本上表现的较差,不具备良好的泛化能力。为了避免过拟合,最常用的一种方法是使用使用正则化,例如 L1 和 L2 正则化

L1正则化:

即原损失函数 + 所有权重的平均绝对值 * λ ,其中λ >0


表达式中sgn(w)表示w的符号。那么权重w的更新规则为
η(/'i:tə/)是学习率,就是步幅的意思

L2正则化:
即原损失函数 + 所有权重平方和的平均值 * λ / 2 , λ>=0

总结:

比原始的更新规则多出了η * λ * sgn(w)/n这一项。当w为正时,更新后的w变小。当w为负时,更新后的w变大——因此它的效果就是让w往0靠,使网络中的权重尽可能为0,也就相当于减小了网络复杂度,防止过拟合。

机器学习(七)线性回归与岭回归Lasso回归与弹性网络与正则化相关推荐

  1. 【机器学习之线性回归】多元线性回归模型的搭建+Lasso回归的特征提取

    文章目录 前言 一.多元线性回归 1.原理介绍 2.sklearn代码实现 二.Lasso回归 1.原理介绍 2.sklearn代码实现 三.总结 前言 回归是监督学习的一个重要问题,回归用于预测输入 ...

  2. 普通线性回归/岭回归/lasso回归[x.T/np.dot/lrg.coef_/lrg.intercept_/Xw = y/r2_score]

    基础运算 导包 import numpy as np 随机产生数据集 a = np.random.randint(0,10,size = (2,3)) a Out: array([[2, 8, 2], ...

  3. 机器学习算法系列(五)- Lasso回归算法(Lasso Regression Algorithm)

    阅读本文需要的背景知识点:线性回归算法.一丢丢编程知识 最近笔者做了一个基于人工智能实现音乐转谱和人声分离功能的在线应用--反谱(Serocs),感兴趣的读者欢迎试用与分享,感谢您的支持!serocs ...

  4. 线性回归(四)---Lasso回归

    Lasso回归 Lasso是可以估计稀疏系数的线性模型,尤其适用于减少给定解决方案依赖的特征数量的场合.如果数据的特征过多,而其中只有一小部分是真正重要的,此时选择Lasso比较合适.在数学表达上,L ...

  5. 岭回归Lasso回归

    转自:https://blog.csdn.net/dang_boy/article/details/78504258 https://www.cnblogs.com/Belter/p/8536939. ...

  6. 笔记︱范数正则化L0、L1、L2-岭回归Lasso回归(稀疏与特征工程)

    机器学习中的范数规则化之(一)L0.L1与L2范数 博客的学习笔记,对一些要点进行摘录.规则化也有其他名称,比如统计学术中比较多的叫做增加惩罚项:还有现在比较多的正则化. -------------- ...

  7. 【机器学习】正则化的线性回归 —— 岭回归与Lasso回归

    python风控评分卡建模和风控常识(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005214003&am ...

  8. [机器学习-原理篇]学习之线性回归、岭回归、Lasso回归

    线性回归.岭回归.Lasso回归 前言 一,线性回归--最小二乘 二,Lasso回归 三,岭回归 四, Lasso回归和岭回归的同和异 五, 为什么 lasso 更容易使部分权重变为 0 而 ridg ...

  9. Bobo老师机器学习笔记第八课-方差、偏差、岭回归、LASSO回归?

    对误差分类 问题一.什么是偏差和方差? 先看下面这幅图图: 方差: 都是围着数据中心的,方差越大则表示距离数据中心分布的越分散,越小说明越近越集中 偏差: 偏离数据中心, 偏差越大,说明整个数据距离中 ...

最新文章

  1. 交互两个数(不引入第三个变量)
  2. 十二步创建你的第一个JavaScript库
  3. 学php为什么要学linux,为什么 PHP 程序员应该学习使用 Swoole
  4. Unity-2017.2官方实例教程Roll-a-ball(一)
  5. 傅里叶变换及其应用 pdf_级数的欧拉变换及其应用
  6. 力扣两数之和 II - 输入有序数组
  7. phpcmsV9各种模板页面调用文章 hits 点击量和评论量 - 代码总结分类
  8. MySQL分区表概述
  9. 2017 9月java答案_西安交通大学17年9月课程考试《Java语言程序设计》作业考核试题 (答案)...
  10. 漫画:如何给女朋友解释灭霸的响指并不是真随机消灭半数宇宙人口的?
  11. 力扣-48 旋转图像
  12. 解决dos窗口启动Tomcat乱码问题
  13. MeasureSpec介绍
  14. vue3里面高德地图绘制3D图形
  15. 自学java后都是怎么找的工作?
  16. html语言div怎么使用,什么是div标签?HTML中div标签怎么使用?
  17. java aws_AWS学习笔记(八)--S3 JAVA SDK
  18. Spring batch批量处理框架最佳实践
  19. 在一个窗体中调用另一个窗体的控件或方法(C#)
  20. 博途软件中多重背景块的建立_TIA博途软件中创建多重背景函数块

热门文章

  1. appium 九宫格解锁招商银行手机客户端app
  2. c语言中清除缓冲区的函数,关于C语言的清除缓冲区
  3. latex 插入图片后不显示 图片是全白
  4. 保姆级人工智能入门攻略,谁都能玩的AI算法!
  5. 2、pr的转场效果(切换、过渡)
  6. 真量技术践行“场景化”战略 货车金融业务突破11亿元
  7. 荣耀Magic5至臻版摄像头参数怎么样 荣耀Magic5至臻版电池容量
  8. ST耦合器,SC耦合器,FC耦合器,LC耦合器,MTRJ耦合器
  9. 2017湖北计算机二级准考证打印入口,2017年全国计算机二级准考证打印网址.doc
  10. 迷你计算机主板,超级迷你,采用ARM处理器的电脑主板