最小二乘法约束条件
使用直线方程a*x+b*y+c=0拟合的时候先求最小二乘总误差:
∑(a*x+b*y+c)^2
最小,
为何约束条件是 a^2+b^2=1
我看拟合平面方程的时候也是a^2+b^2+c^2=1这是为什么类?
谢谢啦 Least Squares Fitting
1、最小二乘法:
通过最小化误差的平方和找到一组数据的最佳函数匹配。例如:已知点集(x1,y1),(x2,y2)...., 要拟合的模型表达式为y=f(x), 最小二乘法通过使 ∑|yi-f(xi)|^2最小,可以通过对其求导得出关于每个系数的方程,将点集带入解次超定方程组进而可求得个系数的值,最终得到方程表达式。f(x)可以是直线表达式、曲线表达式等。
2、最小二乘法直线拟合
直线方程为y=kx+b,应用上述原理,得误差表达式为e=∑(yi-k*xi-b))^2,分别对其关于k和b求导得
de/dk=∑(xi*yi-k*xi^2-xi*b)=0
de/db=∑(yi-k*xi-b)=0
整理得:
k*∑xi^2+b*∑xi=∑xi*yi
k∑xi+b=∑yi
设A=∑xi^2,B=∑xi,C=∑yixi,D=∑yi,则方程化为:
Ak+Bb=C
Bk+nb=D
解出a,b得:
k=(Cn-BD)/(An-BB)
b=(AD-CB)/(An-BB)
这就是最小二乘法拟合直线的完整过程。
尽管这是个经典问题的标准线性解,但实际上在视觉应用中没有什么用处,由于这个过程太依赖于坐标系-它把直线的纵坐标的差作为误差(yi-k*xi-b,此即所谓的 vertical distance-垂直距离或竖直距离),以至于此方法完全不能表示竖直的直线。实际中,我们可以用点到直线的实际距离,即根据点到直线的距离公式所得的距离来求。使用直线方程a*x+b*y+c=0,求最小二乘总误差:
∑(a*x+b*y+c)^2
最小,因此约束条件 a^2+b^2=1, 以及Lagrange乘子λ(原理见另一篇blog),得
F=∑(a*x+b*y+c)^2 + λ(a^2+b^2-1)
对其关于a,b,c一次求导按上述方法组成超定方程组求解。 madio 发表于 2014-8-23 10:15 static/image/common/back.gif
Least Squares Fitting
1、最小二乘法:
通过最小化误差的平方和找到一组数据的最佳函数匹配。例如:已 ...
也就是说用了误差和最小和 点线距离最小 这两个条件来拟合?
页:
[1]