机器学习--最小二乘法



补充:

一. 简介

   最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法还可用于曲线拟合。其他一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达。

   简而言之,最小二乘法同梯度下降类似,都是一种求解无约束最优化问题的常用方法,并且也可以用于曲线拟合,来解决回归问题。最小二乘法实质就是最小化“均方误差”,而均方误差就是残差平方和的1/m(m为样本数),同时均方误差也是回归任务中最常用的性能度量。

二. 对于一元线性模型

   如果以最简单的一元线性模型来解释最小二乘法。回归分析中,如果只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。对于二维空间线性是一条直线;对于三维空间线性是一个平面,对于多维空间线性是一个超平面...

   对于一元线性回归模型, 假设从总体中获取了m组观察值(X1,Y1),(X2,Y2), …,(Xm,Ym)。对于平面中的这m个点,可以使用无数条曲线来拟合。要求样本回归函数尽可能好地拟合这组值。综合起来看,这条直线处于样本数据的中心位置最合理。 选择最佳拟合曲线的标准可以确定为:使总的拟合误差(即总残差)达到最小。有以下三个标准可以选择:

       (1)用“残差和最小”确定直线位置是一个途径。但可能会出现计算“残差和”存在相互抵消的问题。
        (2)用“残差绝对值和最小”确定直线位置也是一个途径。但绝对值的计算比较麻烦。
        (3)最小二乘法的原则是以“残差平方和最小”确定直线位置。用最小二乘法除了计算比较方便外,得到的估计量还具有优良特性。这种方法对异常值非常敏感。

 最常用的是普通最小二乘法( Ordinary  Least Square,OLS):所选择的回归模型应该使所有观察值的残差平方和达到最小。

在讲最小二乘的详情之前,首先明确两点:1.我们假设在测量系统中不存在有系统误差,只存在有纯偶然误差。比如体重计或者身高计本身有问题,测量出来的数据都偏大或者都偏小,这种误差是绝对不存在的。(或者说这不能叫误差,这叫错误)2.误差是符合正态分布的,因此最后误差的均值为0(这一点很重要) 。
明确了上面两点以后,重点来了:为了计算β0,β1的值,我们采取如下规则:β0,β1应该使计算出来的函数曲线与观察值的差的平方和最小。用数学公式描述就是: 

                     

其中,yie表示根据y=β0+β1x估算出来的值,yi是观察得到的真实值。

为什么要用残差的平方和最小?用差的绝对值不行么?
以下是一个相对靠谱的解释: 
我们假设直线对于坐标 Xi 给出的预测 f(Xi) 是最靠谱的预测,所有纵坐标偏离 f(Xi) 的那些数据点都含有噪音,是噪音使得它们偏离了完美的一条直线,一个合理的假设就是偏离路线越远的概率越小,具体小多少,可以用一个正态分布曲线来模拟,这个分布曲线以直线对 Xi 给出的预测 f(Xi) 为中心,实际纵坐标为 Yi 的点 (Xi, Yi) 发生的概率就正比于 EXP[-(ΔYi)^2]。(EXP(..) 代表以常数 e 为底的多少次方)。 
所以我们在前面的两点里提到,假设误差的分布要为一个正态分布,原因就在这里了。 
另外说一点我自己的理解:从数学处理的角度来说,绝对值的数学处理过程,比平方和的处理要复杂很多。搞过机器学习的同学都知道,L1正则就是绝对值的方式,而L2正则是平方和的形式。L1能产生稀疏的特征,这对大规模的机器学习灰常灰常重要。但是L1的求解过程,实在是太过蛋疼。所以即使L1能产生稀疏特征,不到万不得已,我们也还是宁可用L2正则,因为L2正则计算起来方便得多。。。

明确了前面的cost function以后,后面的优化求解过程反倒变得s容易了。 
样本的回归模型很容易得出:

                    

现在需要确定β0β1,使cost function最小。学过高数的同志们都清楚,求导就OK。对于这种形式的函数求导,根据数学知识我们知道,函数的极值点为偏导为0的点。

                    

将这两个方程稍微整理一下,使用克莱姆法则,很容易求解得出: 

                     

这就是最小二乘法的解法,就是求得平方损失函数的极值点。需要注意的一点是β0是常数项对应的系数,此处相当于添加了一个特征值x0且x0恒为1,也就是目标函数中的β0可以看成β0x0,这样的话就不同单独考虑常数项了(在后面的多元线性模型就用到了该性质)

三. 对于多元线性模型

如果我们推广到更一般的情况,假如有更多的模型变量x1,x2,,xn,可以用线性函数表示如下: 

                            

对于m个样本来说,可以用如下线性方程组表示: 

                        

如果将样本矩阵xij记为矩阵A,将参数矩阵记为向量β,真实值记为向量Y,上述线性方程组可以表示为:

                        

 

对于最小二乘来说,最终的矩阵表达形式可以表示为: 

                                

其中m≥n,由于考虑到了常数项,故属性值个数由n变为n+1。

 

关于这个方程的解法,具体如下:

                    

其中倒数第二行中的中间两项为标量,所以二者相等。然后利用该式对向量β求导:

                      (1)

由矩阵的求导法则:

                

可知(1)式的结果为:

                                 

令上式结果等于0可得:

                  

                   (2)

上式就是最小二乘法的解析解,它是一个全局最优解

四. 其他一些想法

1. 最小二乘法和梯度下降

乍一看看β的最终结果,感觉很面熟,仔细一看,这不就是NG的ML课程中所讲到的正规方程嘛!实际上,NG所说的的正规方程的解法就是最小二乘法求解析解的解法

(1)最小二乘法和梯度下降法在线性回归问题中的目标函数是一样的(或者说本质相同),都是通过最小化均方误差来构建拟合曲线。

(2)二者的不同点可见下图(正规方程就是最小二乘法):

                

需要注意的一点是最小二乘法只适用于线性模型(这里一般指线性回归);而梯度下降适用性极强,一般而言,只要是凸函数,都可以通过梯度下降法得到全局最优值(对于非凸函数,能够得到局部最优解)。

梯度下降法只要保证目标函数存在一阶连续偏导,就可以使用。

2.最小二乘法的一些限制和解决方法:

我们由第三部分(2)式可知道,要保证最小二乘法有解,就得保证ATA是一个可逆阵(非奇异矩阵);那如果ATA不可逆怎么办?什么情况下ATA不可逆?

关于ATA在什么情况下不可逆:

(1)当样本的数量小于参数向量(即β)的维度时,此时ATA一定是不可逆的。例如:你有1000个特征,但你的样本数目小于1000的话,那么构造出的ATA就是不可逆的。

(2)在所有特征中若存在一个特征与另一个特征线性相关或一个特征与若干个特征线性相关时,此时ATA也是不可逆的。为什么呢?

具体来说假设,A是m*n维的矩阵,若存在线性相关的特征,则R(A)<n,R(AT)<n,R(ATA)<n,所以ATA不可逆。

如果ATA不可逆,应该怎样解决?

(1)筛选出线性无关的特征,不保留相同的特征,保证不存在线性相关的特征。

(2)增加样本量。

(3)采用正则化的方法。对于正则化的方法,常见的是L1正则项和L2正则项,L1项有助于从很多特征中筛选出重要的特征,而使得不重要的特征为0(所以L1正则项是个不错的特征选择方法);如果采用L2正则项的话,实际上解析解就变成了如下的形式:

                    

λ即正则参数(是一种超参数)后面的矩阵为(n+1)*(n+1)维,如果不考虑常数项的话,就是一个单位阵;此时括号中的矩阵一定是可逆的。

3.最小二乘法的改进

最小二乘法由于是最小化均方差,所以它考虑了每个样本的贡献,也就是每个样本具有相同的权重;由于它采用距离作为度量,使得他对噪声比较敏感(最小二乘法假设噪声服从高斯分布),即使得他它对异常点比较敏感。因此,人们提出了加权最小二乘法,

相当于给每个样本设置了一个权重,以此来反应样本的重要程度或者对解的影响程度。


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

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

相关文章

java最后问面试官什么问题,大量教程

魔鬼面试官必问:ConcurrentHashMap 线程安全吗?但面对魔鬼面试官时,我们更在乎的是这些真的正确吗? 1 线程重用导致用户信息错乱生产环境中,有时获取到的用户信息是别人的。查看代码后 为方便观察问题,我们输出了这个Map一开始和最后的元素个数。 师兄大厂面试遇到面试官的Ka…

计算机网络参考模型及协议

目录 一、计算机网络概述 1.1计算机网络与通信 1.2计算机IP地址与Mac地址 1.3计算机网络相关术语 1.4计算机网络相关设备 1.5计算机网络分类 二、计算机网络分层 2.1计算机网络分层的必要性 三、OSI七层参考模型 3.1应用层 3.2表示层 3.3会话层 3.4传输层 3.5网络…

纪念成为博客专家

一、前言 是的&#xff0c;一直到现在都有点蒙蒙的。从上周六提交申请之后&#xff0c;一直没有消息&#xff0c;博主自己都放弃了。这是第四次申请&#xff0c;虽然申请了很多次&#xff0c;但内心一直有些打退堂鼓&#xff0c;觉得自己的技术水平并不到位&#xff0c;其他的专…

你们都去养猪,我还写前端,然后自费送签名书

文/北妈 阅读本文需要 2.1分钟 这是北妈第 221篇 原创文章 一 我们的口号是&#xff1f; 忘了&#xff1f;周五不加班&#xff0c;周五不加班&#xff0c;不加班&#xff01; 今天北妈我就说两点&#xff0c;说完去吃饭。 1、最近朋友圈、大V们&#xff0c;人人都在养猪&#x…

惊呆了!Java程序员最常犯的错竟然是这10个

和绝大多数的程序员一样&#xff0c;我也非常的宅。周末最奢侈的享受就是逛一逛技术型网站&#xff0c;比如说 programcreek&#xff0c;这个小网站上有一些非常有意思的主题。比如说&#xff1a;Java 程序员最常犯的错竟然是这 10 个&#xff0c;像这类令人好奇心想害死猫的主…

spring boot从0到实战 全

前言&#xff1a;看到这篇博客的小可爱们&#xff0c;这篇博客是我自己从0到实战的笔记&#xff0c;后面我会附上我整个过程的源码给大家参考&#xff0c;一起加油把。 同时&#xff0c;这是上一篇博客&#xff0c;SpringBoot详解&#xff0c;完整版。从0到1&#xff01;&#…

FFT蝶形算法的verilog实现专题——从FFT算法的定义开始入手

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 FFT蝶形算法的verilog实现专题——从FFT算法的定义开始入手 先从FFT的定义入手&#xff1a; 一个N 点序列x(n) 的DFT 定义为: 下面用MATLAB程序来面熟一下上述这个式子&…

SAP 电商云 Spartacus UI 修改 Delivery Mode 触发的三个 HTTP 请求

LoaderState&#xff1a; loading 状态在 true 和 false 之间的切换&#xff0c;通过 loader .reducer.ts 里的 reducer 函数进行。每次通过 store.dispatch 往 store 里投递新的 action 时&#xff0c;都会触发该 reducer 的执行。 添加上打印日志&#xff1a; 设置 delive…

再送签名书20本、红包封面10000个

大家好&#xff0c;我是北妈 福利又来了&#xff0c;由于北妈红包封面抢手&#xff0c;又增加了 10000个&#xff0c;没领到的赶紧转发&#xff0c;让亲朋好友来领取。 然后下面送签名书喽。 1、送书 又到了送北妈签名书的时候&#xff0c;凑着要放假&#xff0c;赶紧上车关门&…

vue3.0 非常面熟的错误

1&#xff0c;标签错误 ​​​​ 错误文件所在的目录 \src\views\HomeView.vue:2:3 没有结束标签~ 2.编译问题 Compiled with problems: 编译问题 C:\myel\src\views\HomeView.vue 错误出现文件 3:1 error Mixed spaces and tabs no-mixed-spaces-and-tabs 4:1 error M…

Chat GPT5的主要介绍

Chat GPT-5是一种基于人工智能技术的对话系统&#xff0c;用于进行自然语言处理和对话&#xff0c;以提供更好的服务。 它是由OpenAI公司开发的&#xff0c;是GPT系列的最新版本。 GPT代表着"生成式预训练"&#xff0c;因此Chat GPT-5基于神经网络&#xff0c;通过预…

ChatGPT:探索RLHF与GPT的完美结合

前言 ChatGPT已经发布一周了热度依旧不减&#xff0c;ChatGPT也各种大显神通&#xff0c;为各大网友“出谋划策”&#xff0c;有写周报的&#xff0c;有写绩效的甚至还有写论文的&#xff0c;作为一个NLP从业者&#xff0c;除了好好体验下其中的乐趣&#xff0c;其背后的原理当…

一场场网络时代的“墨攻”

编辑&#xff1a;阿冒 设计&#xff1a;沐由 公输般为楚造云梯之械成&#xff0c;将以攻宋。子墨子闻之&#xff0c;起于鲁&#xff0c;行十日十夜&#xff0c;而至于郢&#xff0c;见公输般。 子墨子解带为城&#xff0c;以牒为械&#xff0c;公输般九设攻城之机变&#xff0c…

人工智能在网络犯罪中的应用:5个最重要的趋势

在当今的数字世界中&#xff0c;网络威胁不断演变。 人工智能的使用虽然在网络犯罪中还不是必须的&#xff0c;但无疑是我们将在未来几年看到的具有重大发展的最有前途的技术之一。 随着 AI 技术的进步&#xff0c;攻击者开始尝试新的、越来越复杂和有效的攻击模式和技术。 …

【CICC原创】大模型技术发展研判及应用思考

来源&#xff1a;中国指挥与控制学会 蒲志强&#xff0c;研究员&#xff0c;中国科学院自动化研究所 近年来&#xff0c;随着人工智能&#xff08;Artificial Intelligence, AI&#xff09;技术的深化发展&#xff0c;大模型&#xff08;Large Model,也称基础模型&#xff0c;即…

从ChatGPT看人工智能的军事应用

来源&#xff1a;中国军网 今年3月中旬&#xff0c;聊天机器人程序ChatGPT推出了最新版本GPT-4,可支持多元的输入输出形式&#xff0c;使其具备了更强的专业学习能力。作为一种基于人工智能&#xff08;以下简称AI&#xff09;技术的聊天程序&#xff0c;ChatGPT一经推出&#…

ChatGPT全面升级,GPT4支持多模态数据。

Open AI在3月14日放了大招&#xff0c;GPT4. 不同于ChatGPT&#xff0c;GPT4是支持多模态数据&#xff0c;目前上去看了下&#xff0c;支持图片和文本两种数据格式。 另外&#xff0c;宣传视频中说&#xff1a;GPT4去年8月就完成了训练&#xff0c;只是为了数据和使用安全方…

揭秘中国开发者真实现状:月薪 8k-17k 占比骤减!

作者 | 郑丽媛 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 瞬息万变的技术圈&#xff0c;似乎随时都在给予技术人数不清的机遇与挑战&#xff1a; 过去一年&#xff0c;频繁出圈的虚拟人曾一度将元宇宙的热度推至巅峰&#xff0c;如今却逐渐“悄无声息”&…

中文互联网正在被AI污染

有没有发现&#xff0c;如今&#xff0c;AI越来越火&#xff0c;但AI生成的垃圾信息也越来越多了。 如果你打开知乎&#xff0c;很大几率会看到AI生成的回答&#xff0c;它们简短、概括性十足&#xff0c;看了等于没看。打开今日头条&#xff0c;你也有很大几率看到用ChatGPT生…

写好“提示”改变“智造未来”-GPT4提示词驶入代码优化驾驶座心得

开篇 在前端科技的新浪潮中,Artificial Intelligence (AI)的逐渐成熟与发展引领着我们向前。其中OpenAI的GPT4提供了我们一种新的可能,帮助我们优化代码,使编程变得更加轻松。在这篇文章中,我们将一同探究如何在1-2分钟内,依靠GPT的提示词优化我们的代码,并展现出我们在…