opencv机器学习线性回归_机器学习(线性回归(二))

Lasso与岭回归的同和异

  1. Lasso、岭回归都可以预防模型过拟合

  2. Lasso回归惩罚项为L1正则,岭回归为L2正则

  3. Lasso回归可用来特征选择,岭回归则不能

  4. Lasso回归用坐标下降法求解,岭回归用梯度下降法求解。

为什么Lasso可用于特征选择,而岭回归不能

我们首先来看一下Lasso、岭回归的目标函数。

f15a1976c5c0aa09e2a2e186a1b56a8b.png

064ca5d18f403ee0ec1469b61145e97d.png

假设在二维特征上,并转化为约束问题为:

c1cef28dda7bac3e409582717c9f8c5c.png

9307febc869a4e100986e4ca405fc7a9.png

其中SSE表示残差平方和,也就是目标函数的前半部分,d16824930c6d6639c6a208f8365de56e.png代表特征权重,反应在二维图像上如下所示,其中红色圈代表SSE等高线,越往外SSE值越小,并且满足约束条件,在Lasso回归上既可以满足最优解,又能使14b2f84cde45f692fcaa2e04404c8153.png为0,多边形更容易和等高线碰撞出稀疏解。

a9da83d485ddead6074699dde11e24cf.png

梯度下降法求解目标函数

目标函数:

                                  b6182cdcdeadffed72ac811807090132.png   

首先目标函数是个凸函数,沿着负梯度方向迭代 dc31e2bd2072df9c85d27cfd12376527.png总能找到最小值,具体步骤如下:
  1. 初始化dc31e2bd2072df9c85d27cfd12376527.png(随机初始化)

  2. 沿着负梯度方向迭代,更新后的dc31e2bd2072df9c85d27cfd12376527.png使得2927d6cd34600b10f5c49d81131165ae.png更小,如下公式所示,其中af5e65c0963d7ac8243086c768c0928a.png为学习率、步长。

d9edc1fd382a80f32478e00a71f894ce.png

其中059b9e96f433e88ed6c4cb69ddb13be3.png求解如下所示:

520538c60c0e6ad100a2fefa43387a56.png

怎么解决欠拟合和过拟合问题?

f570360cd1b1e38e164f691d3847e2ae.png5abd00dd6ec012df66b3635be460f3e9.png

使用线性回归的必要条件

线性、独立、正态、齐性。(1)自变量与因变量之间存在线性关系        可以通过绘制散点图矩阵进行考察因变量随各自变量值的变化情况。如果因变量af2b034c49659cbdd1880641f604e7f3.png与某个自变量edc4b66bf5f841ea4f3482ba496073ce.png之间呈现出曲线趋势,可尝试通过变量变换予以修正,常用的变量变换方法有对数变换、倒数变换、平方根变换、平方根反正弦变换等。(2)各观测间相互独立       任意两个观测残差的协方差为0 ,也就是要求自变量间不存在多重共线性问题。对于如何处理多重共线性问题,我们之后会讨论。(3)残差f42b259570ae3d9e3452ab636fd1e0ed.png服从正态分布e8df5d2ef210b2063a60ce5315470d50.png。(4f42b259570ae3d9e3452ab636fd1e0ed.png的大小不随所有变量取值水平的改变而改变,即方差齐性。

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

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

相关文章

c语言int a什么意思,问一下吧里大神 int a = a; 这么定义是什么意思?

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼使用自身初始化,具有indeterminate value,可能是trap representation导致使用这个对象的值引起undefined behavior。但这个初始化语法上是正确的,也没有语义错误。ISO C113.19.21 indeterminate …

把EXCEL用程序导入到ORACLE中(SpringMVC+MyBatis)

前提&#xff1a;项目中需要把EXCEL数据批量导入oracle中两张表中。如是用到了poi技术。分别导入poi-3.11-beta2.jar和poi-ooxml-schemas-3.9.jar这两个包。EXCEL数据如下 第一步&#xff1a;修改spring框架配置文件。 springmvc-servlet.xml加上&#xff1a; <!-- 文件上传…

access实例_西门子PLC1200组态王跟Access数据库-⑥组态王变量

西门子PLC1200&#xff0c;组态王跟Access数据库--⑥组态王变量组态王的变量设置1.0 变量设置如下图所示&#xff0c;选择数据词典&#xff0c;里面是系统变量跟新建的变量&#xff0c;选择新建1.1 如下图&#xff0c;从上往下依次&#xff0c;变量名(这个应该知道)&#xff0c…

Android 撸起袖子,自己封装 DialogFragment

前言 具体的代码以及示例我都放上 Github 了&#xff0c;有需要的朋友可以去看一下 DialogFragmentDemos&#xff0c;欢迎 star 和 fork. 本文的主要内容 DialogFragment 是什么创建通用的 CommonDialogFragment实现各种类型的 DialogFragment在写正文之前&#xff0c;先来一波…

as模拟器文件夹路径_EGG Switch手机模拟器怎么用?中文教程来了......

大家好&#xff0c;小鸡妹我又来啦。自从昨天曝光了美国NX工作室的EGG模拟器之后&#xff0c;推文底下就多了一千多条留言&#xff0c;说啥的都有。不过小鸡妹大概总结了一下&#xff0c;发现下面这几条问题&#xff0c;出现的频率最高&#xff1a;① 找不到网址&#xff1b;②…

xml文件c语言读取函数,读写xml文件的2个小函数

#region 读写xml文件的2个小函数&#xff0c;2005 4 2 by hycpublic void SetXmlFileValue(string xmlPath,string AppKey,string AppValue)//写xmlPath是文件路径文件名&#xff0c;AppKey是 Key Name&#xff0c;AppValue是Value{XmlDocument xDoc new XmlDocument();xDoc.L…

Java导入导出Excel工具类ExcelUtil

前段时间做的分布式集成平台项目中&#xff0c;许多模块都用到了导入导出Excel的功能&#xff0c;于是决定封装一个ExcelUtil类&#xff0c;专门用来处理Excel的导入和导出 本项目的持久化层用的是JPA&#xff08;底层用hibernate实现&#xff09;&#xff0c;所以导入和导出也…

郁金香汇编代码注入怎么写看雪_世界黑客编程大赛冠军的汇编代码 你见过吗?...

前几天发布了一篇“雷军22年前写的汇编代码”的文章&#xff0c;引起网友的热议。有人说汇编是最牛逼的编程语言&#xff0c;没有之一。汇编语言确实厉害&#xff0c;不知道你有没有见过世界黑客编程大赛冠军的作品?雷军编写的的汇编代码有 网友分享了97年Mekka ’97 4K Intro…

变位齿轮重合度计算公式_齿轮“模数”是如何计算的?

模数是决定齿轮大小的因素。齿轮模数被定义为模数制轮齿的一个基本参数&#xff0c;是人为抽象出来用以度量轮齿规模的数。目的是标准化齿轮刀具&#xff0c;减少成本。直齿、斜齿和圆锥齿齿轮的模数皆可参考标准模数系列表。工业定义&#xff1a;齿轮的分度圆是设计、计算齿轮…

c语言改错和填空能运行吗,C语言改错填空编程

改错题1、在考生文件夹下&#xff0c;给定程序MODI.C的功能是&#xff1a;从低位开始取出长整型变量s中奇数位上的数&#xff0c;依次构成一个新数放在t中。例如&#xff0c;当s中的数为&#xff1a;7654321时&#xff0c;t中的数为&#xff1a;7531。请修改并运行该程序&#…

@Autowired注解实现原理

在讨论代码细节之前&#xff0c;我们再来了解下基础知识。Spring管理可用于整个应用程序的Java对象bean。他们所在的Spring容器&#xff0c;被称为应用程序上下文。这意味着我们不需要处理他们的生命周期(初始化&#xff0c;销毁)。该任务由此容器来完成。另外&#xff0c;该上…

获取freemarker处理后的内容

相信很多人都用过freemarker&#xff0c;或做视图&#xff0c;或模板&#xff0c;或生成静态文件等,但是有多少人做过这样的应用&#xff0c;通过模板后&#xff0c;不是要输出静态的内容&#xff0c;而是直接在代码中获取处理模板后的内容&#xff0c;研究了下API,freemarker里…

c4.5算法python实现_算法:用Python实现—最优化算法

今天给大家分享一下算法&#xff0c;用python来实现最优化算法。废话不多说&#xff0c;直接上代码&#xff1a;一、二分法函数详见rres&#xff0c;此代码使该算法运行了两次def asdf(x): rres8*x**3-2*x**2-7*x3 return rresi2left0right1while i>0 : i i-1 …

comsol临时文件夹中有不支持的字符_文件名中不能包含的字符

文件名是为了方便人们区分计算机中的不同文件&#xff0c;而给每个文件设定一个指定的名称。由文件主名和扩展名组成。DOS操作系统规定文件名由文件主名和扩展名组成&#xff0c;文件主名由1~8个字符组成&#xff0c;扩展名由1~3个字符组成&#xff0c;主名和扩展名之间由一个小…

linux 星号 通配符,如何在bash中转义通配符/星号字符?

简短的回答像其他人所说的那样 - 你应该总是引用变量来防止奇怪的行为。所以使用echo“$ foo”代替echo $ foo。长期回答我确实认为这个例子值得进一步解释&#xff0c;因为它的表面看起来比它看起来更多。我可以看到你的困惑在哪里&#xff0c;因为在你运行你的第一个例子后&a…

PYTHON面试

大部分的面试问题&#xff0c;有最近要找事的老铁吗&#xff1f;python语法以及其他基础部分可变与不可变类型&#xff1b; 浅拷贝与深拷贝的实现方式、区别&#xff1b;deepcopy如果你来设计&#xff0c;如何实现&#xff1b; __new__() 与 __init__()的区别&#xff1b; 你知…

vs怎么更改编译的堆空间_再见吧 buildSrc, 拥抱 Composing builds 提升 Android 编译速度...

前言长期以来困扰我们的一个问题就是构建速度&#xff0c;AndroidStudio 的构建速度严重影响 Android 开发者的工作效率&#xff0c;尤其是更新一个版本号&#xff0c;导致整个项目重新构建&#xff0c;在网络慢的情况下&#xff0c;这是无法忍受的。buildSrc 这种方式&#xf…

java map的遍历

转载地址&#xff1a;http://www.cnblogs.com/shenliang123/archive/2012/08/28/2660705.html -------------------------------------------------------------------------------------------------------------------- java中的遍历 import java.util.Collection; import j…

python循环for...in_python循环while和forin实例

python 循环while和for in简单实例#!/uer/bin/env python# _*_ coding: utf-8 _*_lucknumber 5b 0while b <3:print(guss count:,b)a int(input(you guse number))if a > lucknumber:print (youaerbiger)elif a lucknumber:print (youare righet)break #跳出这个层级…

android悬浮功能实现,Android实现系统级悬浮按钮

本文实例为大家分享了Android系统级悬浮按钮的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下具体的需求1、就是做一个系统级的悬浮按钮&#xff0c;就像iPhone 桌面的那个悬浮按钮效果一样&#xff0c;能随意拖动&#xff0c;并且手一放开&#xff0c;悬浮按钮就自动…