数据压缩第九次作业:总结最小二乘法——梯度下降法、牛顿法、高斯牛顿法

任务2:总结最小二乘法——梯度下降法、牛顿法、高斯牛顿法
最小二乘法定义:
最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法还可用于曲线拟合。其他一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达。
一、如何理解最小二乘法:
首先,最小二乘法的思想可以用一个例子来理解:
假设我们对一个大小约等于10的数据有y1,y2,y3,y4,y5这样的5个估计值(实际情况完全会更多)但是因为这些估计值他们大小并不相同,所以我们不能就很随意的取其中之一作为其测量值。
而在生活中,我们可能会采用求平均值的方法,但是实际上,直接求均值的方法不一定在任何情况下都适用,如果预测的值是确定值,可能不会收到影响,但是如果预测值是一个函数,则算数平均值的方法就不再可以实现。
所以,我们就也有了这样的做法:先对这些数据,和猜测的真实值y做差之后取绝对值再进行操作。而为了进一步简化操作,我们直接对这个差值做乘法处理,也就是得出来的值无论正负经过乘法之后就都是一个正数了。而由于,我们所取的这个y也是在不断变化的(也可以说这个也是一个变量,一个随机的变量),我们要寻求的,也就是:
找到一个合适的y,使之可以满足,y和每一个估计值的差做平方之后的加和最小,那么这个y就就是y的真值。用公式表达为:
在这里插入图片描述
而我们从这个公式则也就不难看出,为什么他也会叫做最小平方法(我觉得这个名称更好理解)。
从而,从这个公式,我们便可以将它进行推广,也就是推广到我们预测的不再是一个数值,而是一个函数的情况。
例如以下这个例子就很清晰的解释了这个原理:(本例子参考自“马同学高等数学的博客《如何理解最小二乘法》”)
设温度与冰淇淋的销量:
在这里插入图片描述
从中,我们可以看出其类似一个线性关系:
在这里插入图片描述
这时,我们可以假设其符合线性关系:f(x)=ax+b
通过最小二乘法的思想:
在这里插入图片描述
上图的i,x,y 分别为:
在这里插入图片描述
所以,总误差的平方为:
在这里插入图片描述
不同的a,b 会导致不同的预测误差值,我们所要追求的原则,仍然是要找到合适的a,b使预测误差值最小,所以,通过解方程:
在这里插入图片描述
可以得出:
在这里插入图片描述
也就可以用解出来的a,b的值来确定函数了。
同理,用其他的函数来进行拟合,也可以使用一样的方法来进行计算。

所以,概括起来,就可以认为,最小二乘法的基本原理就是:
在这里插入图片描述
二、推导DPCM预测器确定最佳预测系数的过程:
推理过程见下图:(第三图后面一开始想用数学归纳法,后来发现前面最开始格式不对,就没用数学归纳法,过后有时间会把第三张图整理的好看一点)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
三、梯度下降法:
梯度下降是用于找到可微函数的局部最小值的一阶迭代优化算法。和最小二乘法一样,梯度下降法,也一样可以解决线性回归问题。
梯度下降法是基于以下的观测原理而来的:
如果实值函数f(x)在点 x=a 处可微且有定义,那么函数 f(x)在点 a处,沿着梯度的反方向-deltaf(a) 下降的最快。
或者我们也可以简单的从数学的角度来说:梯度的方向是函数增长速度最快的方向,那么梯度的反方向就是函数减少最快的方向。那么,如果想计算一个函数的最小值,就可以使用梯度下降法的思想来做。
因此,假设有个点 b ,满足:
在这里插入图片描述
那么我们就可以得到:f(a)>=f(b)
通过这种方法,就可以找到极小值。
因此,得到迭代公式:
在这里插入图片描述
其中, γ 是我们人为设定的参数,通过迭代,就可以得到极值。
梯度下降法每次都以梯度的反方向下降,所以,有可能会容易走出锯齿路线,从而增加迭代次数。
而在本章的学习中所学习到的后向自适应编码器DPCM-APB就是我们使用梯度下降法的一个例子。在这里插入图片描述
四、牛顿法:
牛顿法又称为牛顿-拉夫逊方法,它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。
由于实际的应用中多数方程不存在求根公式,因此求精确根非常困难,甚至不可能,从而寻找方程的近似根就显得特别重要。本方法使用函数f(x)的泰勒级数的前面几项来寻找方程f(x)=0的根。
主要方法如下:
首先:将函数 f(x)在f(x)=0 处展开成泰勒级数:
在这里插入图片描述
取其线性部分,作为 f(x)的近似,则可用 f(x0)+f’(x0)*(x-x0)=0的解来近似求解f(x)=0的解
解得结果为:
在这里插入图片描述
由于对 f(x)的近似只是一阶展开,因此x1并非f(x)=0的解,只能说 f(x1)比f(x0) 更接近0。于是,考虑迭代求解:
在这里插入图片描述
若求解最优化问题,则:
根据极小点的必要条件f(x)梯度为0,可知:
在这里插入图片描述
在这里插入图片描述
注:牛顿法来解决问题时,对于非二次函数,如果函数的二次性态比较强,那么牛顿法计算非常有优势。但是同时牛顿法解决问题也存在他的弊端,因为它的每一次迭代都需要计算海瑟矩阵的逆矩阵,且这一步的计算很复杂。
五、高斯牛顿法:
高斯一牛顿迭代法(Gauss-Newton iteration method)是非线性回归模型中求回归参数进行最小二乘的一种迭代方法,该法使用泰勒级数展开式去近似地代替非线性回归模型,然后通过多次迭代,多次修正回归系数,使回归系数不断逼近非线性回归模型的最佳回归系数,最后使原模型的残差平方和达到最小。
其直观思想是先选取一个参数向量的参数值β,若函数ft(Xt,β)在β0附近有连续二阶偏导数,则在β0的邻域内可近似地将ft(Xt,β)看作是线性,因而可近似地用线性最小二乘法求解。
高斯牛顿法的基本步骤:
(1) 选择初始值:可以直接选取初始值,也可以采用分段法,或者也可以使用可线性化的非线性回归模型,通过线性变换,然后施行最小平方法求出初始值。
(2)对已知f(x+deltax)进行一阶泰勒展开:
在这里插入图片描述
此时就需要求deltax的值使得下式存在最小值
在这里插入图片描述
故我们可以得到最小二乘问题为:
在这里插入图片描述
为了求极值,对其求导:
在这里插入图片描述
故,对其求导可以得到:
在这里插入图片描述
则,此时可以转化为线性求解问题:
在这里插入图片描述
从而即可实现最优化的求解。
总结:高斯牛顿法求解的主要步骤:在这里插入图片描述
高斯牛顿法相较于牛顿法,避免了求解海瑟矩阵,大大降低了运算量,但是也有其缺点,即:容易和梯度下降法一样,陷入锯齿状,导致迭代次数较长且如果求出来的步太大,会导致其局部近似不精确,严重的时候,可能无法保证迭代收敛。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值