`
kavy
  • 浏览: 890702 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

最小二乘法

 
阅读更多

https://endlesslethe.com/easy-to-learn-ols.html
有更多总结分享,最新更新也只会发布在我的个人网站上。排版也可能会更好看一点=v=

前言
最小二乘法在统计学的地位不必多言。本文的目的是全面地讲解最小二乘法,打好机器学习的基础,后面的系列文章会继续讲解最小二乘的正则化。
至于非线性最小二乘和广义线性模型,如果以后有时间会进行整理。
1
2
不熟悉极大似然法的读者可以阅读我的另一篇文章《十分钟学习极大似然估计》

核心思想
最小二乘法是勒让德( A. M. Legendre)于1805年在其著作《计算慧星轨道的新方法》中提出的。它的主要思想就是求解未知参数,使得理论值与观测值之差(即误差,或者说残差)的平方和达到最小:
E=∑i=1ne2i=∑i=1n(yi−y^)2
E=∑i=1n⁡ei2=∑i=1n⁡(yi−y^)2

观测值yiyi就是我们的多组样本,理论值y^y^就是我们的假设拟合函数。目标函数也就是在机器学习中常说的损失函数EE,我们的目标是得到使目标函数最小化时候的参数。
所谓最小二乘,其实也可以叫做最小-平方和,其目的就是通过最小化误差的平方和,使得拟合对象无限接近目标对象。换句话说,最小二乘法可以用于对函数的拟合。
1
直观理解
均方误差有非常好的几何意义,它对应了常用的欧几里德距离。在线性回归中,最小二乘法就是试图找到一条直线,使所有样本到直线的欧氏距离之和最小。

假设有一条直线y=ax+by=ax+b,要在这条直线上找到一点,距离(x0,y0)(x0,y0)这个点的距离最短。如果用绝对值的方法寻找,也就是取min(|y−y0|+|x−x0|)min(|y−y0|+|x−x0|),由于绝对值最小为0,所以最小的情况就是x=x0x=x0或者y=y0y=y0处,如下图1所示。


如果用平方和的方法寻找,就是取min(y−y0)2+(x−x0)2min(y−y0)2+(x−x0)2,可以看出该式是两点间距离公式,也就是距离的概念。那么最短的距离,就是点到直线的垂线,如下图2所示。


事实上,最小二乘法的解θ=(XTX)−1XTYθ=(XTX)−1XTY正符合投影矩阵的公式:将Y向量投影到X构成的平面上。

Note:最小二乘法用途很广,不仅限于线性回归。

通用解法
列出损失函数EE,样本值用来xi表示
对参数求导,解得最小值
此时的参数即为所求
对真值的估计
可以说整部数理统计学的历史,就是对算术平均不断深入研究的历史。而最小二乘法可以解释为什么多次测量取算术平均的结果就是真值,比如估计身高可以测三次后取平均。

当我们对于某个未知量θθ观测mm次,记每次的结果为xixi
E=∑i=1me2i=∑i=1m(xi−nn)2

求导得
∑i=1n−(xi−a)=0

所以θ=x¯=∑ximθ=x¯=∑xim
直线拟合/多元线性回归
求导计算最小值是通用解法,但矩阵法比代数法要简洁,且矩阵运算可以取代循环,所以现在很多书和机器学习库都是用的矩阵法来做最小二乘法。

对于函数hθ(x1,x2,…xn)=θ0+θ1x1+…+θnxnhθ(x1,x2,…xn)=θ0+θ1x1+…+θnxn,我们将其的矩阵形式记作:


故损失函数定义为:(系数1/2是为了简化计算添加的,求迹前和求迹后值不变)


应用矩阵迹的计算公式:


令上式为0,解得θ=(XTX)−1XTYθ=(XTX)−1XTY
Note:矩阵求导坑多,使用迹来计算比较方便。

线性回归的t检验
记n为回归方程的特征个数,m为样本数
S回=∑i=1m(y^−y¯¯¯)

S剩=∑i=1m(yi−y^)
总平方和(SST)可分解为回归平方和(SSR)与残差平方和(SSE)两部
MSR=SSR/k

MSE=SSE/(n−k−1)

F=MSRMSE=S回/kS剩/(n−k−1)
F=MSRMSE=S回/kS剩/(n−k−1)
若用样本计算的F>F0.05(k,n−k−1),则拒绝H0H0,则回归方程在显著性水平α=0.05α=0.05下是显著的

最小二乘法的适用场景
当样本量mm很少,小于特征数nn的时候,这时拟合方程是欠定的,需要使用LASSO。当m=nm=n时,用方程组求解。当m>nm>n时,拟合方程是超定的,我们可以使用最小二乘法。

局限性
首先,最小二乘法需要计算(XTX)−1(XTX)−1逆矩阵,有可能逆矩阵不存在,这样就没有办法直接用最小二乘法。
第二,当样本特征n非常的大的时候,计算逆矩阵是一个非常耗时的工作,甚至不可行。建议不超过10000个特征。
第三,如果拟合函数不是线性的,这时无法使用最小二乘法,需要通过一些技巧转化为线性才能使用。
最小二乘法和M估计
在统计数据时,难免会遇到异常值,即人为误差。而这种误差对结果的影响远比系统误差大,比如将1记录成10。所以我们使用稳健性来评价一个方法对异常值的敏感程度。

最小二乘法是一种稳健性较差的方法,原因在于其目标函数是误差的平方,是一个增长很快的函数。
所以不难想到,对于E=∑f(xi)E=∑f⁡(xi),我们可以取f(x)=|x|f(x)=|x|
来减小函数的增长速度。
统计学家休伯将这一想法用于对一个未知量θθ参数估计的情况,即:
xi=θ+eixi=θ+ei,取定函数ρρ,找出使函数M(θ)=∑i=1mρ(xi−θ)M(θ)=∑i=1m⁡ρ(xi−θ)达到最小的θ^θ^,将其作为θθ的估计值。θ^θ^称为θθ的M估计。

M估计是一类估计,主要包括ρ(u)=u2ρ(u)=u2的最小二乘法和ρ(u)=|x|ρ(u)=|x|的最小一乘法。M估计也可以和最小二乘法一样,推广到多元线性回归,称为稳健回归,但是因为难于计算等局限,应用并不广泛。

Note:最小一乘法对未知参数θ的估计值θ^=xi的中位数θ^=xi的中位数
最小二乘法和正则化
当(XTX)−1(XTX)−1不存在,即XTXXTX不满秩时,θθ无唯一解。

故考虑在原先的A的最小二乘估计中加一个小扰动λIλI,使原先无法求广义逆的情况变成可以求出其广义逆,使得问题稳定并得以求解。有:
θ^=(XTX+λI)−1XTYθ^=(XTX+λI)−1XTY
而此时对应的损失函数为
J(θ)=∑i=1m(yi−θTxi)2+λ||θ||22

上式称为岭回归(ridge regression),通过引入L2范数正则化。
当然也可以将L2范数替换为L1范数。对应有
J(θ)=∑i=1m(yi−θTxi)2+λ||θ||1

上式称为LASSO。
对于L2范数,本质上其实是对误差的高斯先验。
而L1范数则对应于误差的Laplace先验。

最小二乘法的理论证明
拉普拉斯指出随机误差应满足正态分布,而高斯创造性地发明并使用极大似然法证明了最小二乘法。
故测量误差服从高斯分布的情况下, 最小二乘法等价于极大似然估计。

对于任何拟合方程都有:y=y^+ey=y^+e
因为e∼N(0,σ2)e∼N(0,σ2),故y∼N(y^,σ2)y∼N(y^,σ2)
由极大似然估计,L(θ)=∏if(yi)L(θ)=∏i⁡f(yi)
L=1(2π−−√σ)nexp{−12σ2∑i=1n(yi−y^)2}=1(2π−−√σ)nexp−12σ2∑i=1ne2i
Note:数学的发展史很多时候是不符合逻辑顺序的。事实上,高斯当时是循环论证最小二乘法的,推理有缺陷。而后拉普拉斯才弥补了这一点。其中故事可以见《数理统计学简史》。

参考文献
I. 《数理统计学简史》 陈希孺著
II. 《机器学习》 周志华著
III. 正态分布的前世今生(二)
IV. 最小二乘法的本质是什么?
V. 最小二乘法小结
VI. 到底什么是最小二乘法?
VII. 最小二乘法和线性回归及很好的总结
VIII. 最小二乘法与岭回归的介绍与对比
IX. 最小二乘法
X. 最优化理论·非线性最小二乘
XI. Linear least squares, Lasso,ridge regression有何本质区别?
XII. 为什么最小二乘法对误差的估计要用平方?
---------------------

原文:https://blog.csdn.net/u011893609/article/details/80016915

 

分享到:
评论

相关推荐

    最小二乘法线性拟合工具

    最小二乘法线性拟合是一种在统计学和数据分析中广泛应用的方法,用于寻找一组数据的最佳直线近似。这个工具提供了一个便捷的方式,让用户能够手动输入数据,并自动进行最小二乘法计算,从而得到数据的线性拟合模型。...

    各种最小二乘法汇总

    最小二乘法是一种数学优化技术,通过最小化误差的平方和寻找数据的最佳函数匹配。该方法广泛应用于曲线拟合、系统辨识、数据分析等领域。在系统辨识和自动化领域,最小二乘法为模型参数的估计提供了基础方法。 1. ...

    平面度误差的最小二乘法分析

    平面度误差的评定方法有简便法、最小二乘法和最小包容区域法等。本文主要探讨了最小二乘法在平面度误差分析中的应用。 最小二乘法是一种数学优化技术,它通过最小化误差的平方和来寻找数据的最佳函数匹配。在平面度...

    python最小二乘法三维坐标拟合平面-最小二乘法拟合平面

    Python 最小二乘法三维坐标拟合平面 本资源主要讲述了使用 Python 实现最小二乘法三维坐标拟合平面的方法。该方法使用 OpenCV 库来实现平面拟合,通过对点云数据的处理和_singular value decomposition(SVD)来...

    代码 最小二乘法基本程序代码

    代码 最小二乘法基本程序代码代码 最小二乘法基本程序代码代码 最小二乘法基本程序代码代码 最小二乘法基本程序代码代码 最小二乘法基本程序代码代码 最小二乘法基本程序代码代码 最小二乘法基本程序代码代码 最小...

    最小二乘法系统辨识matlab代码.zip

    在这个压缩包中,包含了几种基于最小二乘法的系统辨识方法的MATLAB代码实现,如递推最小二乘法、遗忘因子最小二乘法、增广最小二乘法和辅助变量法。 1. **最小二乘法**:最小二乘法的基本思想是找到一组参数,使得...

    最小二乘法拟合原理及代码实现

    最小二乘法是统计学中一种数学优化技术,它通过最小化误差的平方和来寻找数据的最佳函数匹配。在拟合过程中,最小二乘法不要求拟合函数通过所有数据点,而是找到一个函数,使得数据点和函数之间差值的平方和最小。...

    永磁同步电机RLS最小二乘法参数辨识

    最小二乘法(Least Square, LS)大约是1795年高斯在其著名的星体运动轨道预报研究工作中提出的。后来,最小二乘法成为了估计理论的基石。最小二乘法由于原理简明、收敛较快、易于编程实现等特点,在系统参数估计中...

    单片机实现最小二乘法

    最小二乘法是一种在数学和工程领域广泛应用的优化技术,尤其在数据分析和曲线拟合中占有重要地位。在单片机应用中,如C8051F410这样的微控制器,通过巧妙地利用其片上XRAM资源,可以实现最小二乘法算法,以确定一组...

    MATLAB求解非线性最小二乘法拟合问题 源程序代码_最小二乘法_

    非线性最小二乘法(Nonlinear Least Squares, NLS)是一种在数学和工程领域广泛应用的数据拟合方法,主要用于处理非线性模型与实验数据之间的拟合问题。在这种方法中,目标是找到一组参数,使得由这些参数构建的非...

    最小二乘法非线性曲线参数拟合-最小二乘法原理及其MATLAB实现.pdf

    最小二乘法非线性曲线参数拟合-最小二乘法原理及其MATLAB实现.pdf (初学者--我)最近正在研究matlab最小二乘法非线性拟合问题,昨天在论坛里求教,但没有人给予解答。只好自己查找相关文献,觉得其中最有用的一篇...

    最小二乘法计算工具,支持64个点,精度double

    最小二乘法是一种数学优化技术,其核心思想在于通过调整模型参数,使得模型曲线与实际数据点之间的垂直距离的平方和达到最小。这种方法在数据处理、统计分析、科学研究、工程应用以及经济学等领域发挥着极其重要的...

    least squares_递推最小二乘法_matlab_leastsquares_遗忘因子最小二乘法_最小二乘法_

    最小二乘法(Least Squares)是解决线性回归问题的一种常见方法,广泛应用于数据分析、信号处理和工程领域。在给定的标题和描述中,我们聚焦于几个关键概念:递推最小二乘法(Recursive Least Squares, RLS)、...

    OpenCV3.3最小二乘法直线拟合

    本主题聚焦于OpenCV3.3中的一个特定功能:最小二乘法直线拟合。最小二乘法是一种优化技术,常用于通过数据点找到最佳的直线或曲线拟合。这种拟合方法在图像分析、数据建模和许多其他科学应用中具有重要意义。 首先...

    MATLAB求解非线性最小二乘法拟合问题 源程序代码.rar

    非线性最小二乘法(Nonlinear Least Squares, NLS)是一种在数学优化领域广泛应用的方法,用于拟合数据模型到观测数据。在MATLAB环境中,我们经常使用它来处理那些不能通过简单线性关系描述的复杂数据。MATLAB提供了...

    最小二乘法计算男孩身高

    其中a0、a1、a2均为常数项,而x1为设为父亲身高,x2设为母亲身高,然后采用最小二乘法来求出经验方程,其中还需要用到选列主元约当消元法求线性方程组唯一解: 输入格式 a1 a2 a3 a4(实数,a1为数据编号,a2位父亲...

    最小二乘法计算软件

    最小二乘法是一种在数学建模和数据分析中广泛使用的优化技术,主要用于拟合数据点到一个函数曲线。这个软件设计的目的是提供一个基于最小二乘法的计算工具,用户可以通过它来解决实际问题中的参数估计和曲线拟合任务...

    最小二乘法-使用C++实现的分段最小二乘法.zip

    最小二乘法是一种在数学和工程领域广泛应用的优化技术,用于拟合数据点并找到最佳拟合曲线。在本案例中,我们关注的是使用C++编程语言实现的分段最小二乘法。分段最小二乘法是普通最小二乘法的一种变体,它将数据集...

    最小二乘法拟合多项式_多项式拟合_最小二乘法_最小二乘法拟合多项式_

    最小二乘法是一种在统计学和工程领域广泛应用的数据拟合技术,主要用于找到一条曲线或超平面,使得所有数据点到这条曲线或超平面的距离之平方和最小。在本主题中,我们将深入探讨如何使用最小二乘法进行多项式拟合,...

    最小二乘法,最小二乘法公式,LabView

    最小二乘法是一种在数据拟合中广泛应用的数学方法,特别是在数据分析、工程计算和机器学习等领域。它通过最小化误差平方和来寻找最佳拟合曲线或超平面,从而尽可能地接近观测数据。在这个背景下,LabVIEW...

Global site tag (gtag.js) - Google Analytics