赞
踩
目录
最小二乘法英文Least squares method,简称LMS,主要解决的是根据理想值来估计参数,是工程中运用最多的算法之一。在雷达中同样有应用,主要是安装角度自校正。安装角度表示雷达安装在车辆/轮船的前保/后保上,相对于系统坐标系的旋转的角度(因为所有检测的目标信息都要统一到系统坐标系中)。它的原理很简单,第一找出静态目标,第二,根据本车速度和静态目标信息(相对速度、方位角)计算出速度偏差和安装角度偏差。通常标定方法有工厂标定台,短道和在线学习。这里不涉及安装角度自校正的具体推导,而是通用知识,以便回忆原理。
最小二乘法是为了对未知参数的估计使得观测值与实际值的残差平方和最小,其形式如下:
观测值就是我们的多组样本,理论值就是我们的假设拟合函数。目标函数也就是在机器学习中常说的损失函数,我们的目标是得到使目标函数最小化时候的拟合函数的模型。其实理论值就是我们建立的带有估计参数的模型,这也是最小二乘法的关键,后面我们推导的归一化方程也是基于该模型,该模型基于不同的问题而建立,安装角度自校正的模型基于上述的公式进一步延申推导而出是关于安装角度误差和速度误差(假设车速也是不准确的,也有误差)。那我们按照知乎给的举个栗子:
有m个只有一个特征的样本:
采用n次多项式进行拟合:
最小二乘法就是要找到一组, 使得残差平方和最小,即求:
如何求解上述欲估计参数,一般有两种方法(参考博文1中有详细介绍):代数法和矩阵求解法,这里推导矩阵求解法,然后总结个实现步骤吧。
有木有对这个公式似曾相识,没错高斯牛顿法也是这个公式,当时就说高斯牛顿是一阶泰勒展开非线性关系线性化,传送门在这里:
https://blog.csdn.net/qinze5857/article/details/109483432
那其实到这里我们已经能够推出解题步骤了!
step1:给定待估参数的初值,给定待估模型,给定变量X的范围
step2:将求解函数h写为矩阵形式,以便构造目标函数时可以写作如下形式:
step3:求出待估参数的误差量(如下),然后计算下一轮迭代的待估参数
step4:循环迭代2、3步骤,止到误差量变化很小
%已知在不同的温度T下,测定铜棒的长度l,给出一个在工程中实用的与众不同的实例!
- %温度T, 铜线长度l
- %理想方程:y=0.0368*x+2000
- %下面是温度对应的理想铜线长度
- T=[10,15,20,25,30,35,40,45];%样本
- l_ideal=[2000.36,2000.50,2000.72,2000.80,2001.07,2001.25,2001.48,2001.60];
- plot(T,l_ideal);xlabel('温度T');ylabel('长度L');
- hold on;plot(T,l_ideal,'go','MarkerSize',8)
- %step1:初始参数 y=AX+B, l=AT+B
- a=0.02;b=1997;
- %step2: matrix
- X=ones(length(T),2);
- X(:,1)=T';
- l_real = a*T + b;
- Y=l_real -l_ideal;
- %step3: delta
- theta = inv(X'*X)*X'*Y';
- a = a-theta(1);
- b = b-theta(2);
- plot(T,T*a+b,'-r','LineWidth',2)
参考:
最小二乘法的原理与要解决的问题:https://www.cnblogs.com/pinard/p/5976811.html
知乎最小二乘法原理(写的通俗易懂):https://zhuanlan.zhihu.com/p/38128785/
最小二乘法实例 https://wenku.baidu.com/view/5cc9006abf1e650e52ea551810a6f524ccbfcba4.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。