最小二乘问题
2015-07-23 16:50
295 查看
1. 引文
假设我们要确定一根绳子的弹性,而它的长度与拉力间服从公式,F为拉力,l为绳子在拉力F作用下的长度,e和k为待确定的常数。为此,我们进行一批实验采集如下数据,并绘制其散点图
根据此数据,构造的公式及其矩阵形式为
要解此方程需要利用最小二乘方法。
2. 最小二乘方法
对于上例所示的系统,A为m*n且m>n的矩阵,被成为超定的(overdetermined)。一般,它没有解。例如,当m=3,n=2时,A的两个列向量
和
在
空间图形如下,我们希望能获得此列向量的线性组合以使
。从图中,可清楚看出这是不可能的,因为b并不在
和
张成的空间中。
这时,因为无法求求解,退而求其次,我们希望解x1和x2使残差向量(residual vector)
尽可能小。当然,这时解就依赖于如何度量残差向量的长度。在最小二乘方法中使用欧氏距离,问题转换为下面优化问题
由上面图形可知,当线性组合使残差变量与品面正交时,向量b到此平面的距离最小。表达为公式
把
代入上式有,解此公式就得到最小二乘意义下的解。
,称为正规方程组(normal
equations)
定理:若A的列向量线性独立,则
是非奇异的,并且有唯一解。
3. 案例分析
利用matlab
>> C=A’*A % Normal equations
C= 5 15
15 55
>> x=C\(A’*b)
x = 4.2360
3.2260
注意,利用正规方程组解最小二乘问题有以下缺陷:
1)构造
会导致信息丢失
2)
的条件数是A的平方
3.1
会导致信息
对于,
。当
非常小时,会造成
的浮点表达
,从而导致正规方程组为奇异的。因此,A中重要信息在
中丢失了
3.2
条件数大
相关文章推荐
- iOS单例销毁
- 回调函数
- 堆排序详细分析(算法导论第六章)
- POJ 3620:Avoid The Lakes(DFS)
- EXT3和EXT4两种文件系统比较
- windows 10系统的的贴靠功能该怎么使用?
- Tomcat之——配置项目有虚拟路径
- openCV使用心得
- java异常,java.lang.IllegalStateException,在进行JasperReports导出报表的时候出现的异常
- Android webview实现QQ一键登录授权
- 移动端消息推送原理浅析及问题思考
- C# + Socket断线重连
- 在Cocos2d-x工程中嵌套使用Lua
- POJ 2243:Knight Moves(BFS)
- php 获取当前url,可以规避框架url重写后还有index.php的情况
- Java基础之"=="和 和 equals 方法的区别
- Android Studio快捷键大全
- bootstrap:javascript的通用技术
- HDU 2027 统计元音
- Oracle表自动增长列之序列创建