数据压缩学习笔记(二)最小二乘法、梯度下降法、牛顿法、高斯牛顿法原理
最小二乘法
最小二乘法的目标是解决函数拟合的问题,对于给定的多组(x,y):(x1,y1),(x2,y2),(x3,y3)……,(xk,yk)
求得最佳拟合函数的关系。
一般地,这个函数的非线性表示形式为:其线性方程组表示为Y=XA,记作矩阵:
在算法中,优化的目标是让残差平方和最小,即:此时的残差平方和又可称为损失函数。
最小二乘法求解最优化A矩阵的思想就是对每一个系数的导数求导并使其置零。
其求解结果为:
对于线性关系,方程为:
求解结果不变仍为
最小二乘法在DPCM预测器设计中确定预测系数的应用:
(图为1阶DPCM编解码器,多阶时图中延迟器变为预测器)
对于预测器而言,其预测公式为:
预测误差为:
预测误差的方差:
对于一个预测器的优化,通常的优化目标是使MSE最小。需要说明,实际中量化器和预测器之间往往互相影响,应同时优化。但是当量化电平足够多时,有下式:
此时可以单独优化量化器,使预测误差最小。
其推导过程如下:
梯度下降法
同最小二乘法,梯度下降法适用于解决线性回归问题。对于需要求解最佳参数的线性方程:
梯度下降法所用的损失函数为:
其优化目标仍然是:
梯度下降通过迭代实现对损失函数的优化,对损失函数中的每一个a进行更新,并且需要设定学习率以控制每次更新的速度。需要注意的是,学习率的设定过小会导致损失函数更新缓慢,过大可能导致损失函数无法收敛至最优解。
优化过程如下:
梯度下降法在预测器中的应用:后向自适应预测器
梯度下降法与最小二乘法比较:
最小二乘法直接通过对损失函数求导找出全局最小,不需迭代计算。梯度下降法是一种迭代法,先给定参数,然后向损失函数下降最快的方向调整,在若干次迭代之后找到局部最小。梯度下降法的缺点是到最小点的时候收敛速度变慢,并且对初始点和学习率的选择敏感。
牛顿法
首先从几何意义上较为形象地了解牛顿法的原理。
给定 (Xn , f(Xn)),其中f(x)为可微函数。此时希望通过给出的点即f(x)的倒数求解出f(x)的零点。在(Xn , f(Xn))切线,与x轴交点Xn+1,可以看出Xn+1点更为接近X*,此时,可以选择在(Xn+1 , f(Xn))切线,与x轴交点Xn+2。Xn+2将会比Xn+1更为接近X*。牛顿法就是通过不断地迭代,来达到近似求解X*的目标。
其公式解释为:
牛顿法的原理是利用一阶泰勒展开求近似解:
令f(X) = 0,同样可求得:
牛顿法在最优化问题中的应用:
在最优化问题中,求解目标常常是求Xn使f(Xn)具有最大/最小值。
利用f(Xn)具有最大/最小值时,导数为0的性质:
可求得:
实际中,X往往是一个向量。需要求解的维度更高。
记X在Xn的一阶梯度为:
X在Xn的二阶梯度为:
当黑塞矩阵Hn非奇异时,可得到:
通过该式可以令X迭代逼近所求的解。
高斯牛顿法
对于待拟合的函数
其中x为输入值,β为参数向量。
给定m个点
当m>n时,高斯牛顿法可以迭代求解处一组β的值,以最小化误差平方和函数
其迭代过程为:
其中J为雅可比矩阵:
在该算法中,由于求解的函数是S(β),所以该矩阵中的f变为r,对于第i行j列,有: