Re: [问题] 解最小平方法的问题 Ax~b

楼主: DJWS (...)   2017-12-25 13:09:07
※ 引述《j0958322080 (Tidus)》之铭言:
: 我想要去FIT一条四次方的曲线,其中 x 的值为50000左右,
: 依照理论我会用到x^4,这样整个矩阵A*A^T的最大值与最小值会差到40次方,
: 我自己写了一个程式用 LU 分解去计算反矩阵,求得的反矩阵跟 EXCEL 的结果完全一样,
: 可是我发现那两个矩阵(A*A^T)和(A*A^T)^-1在 EXCEL 里面乘起来不是单位矩阵,
: 而且有些非对角线元素甚至达到10^8,这样的结果不知道是否会与我想要的解差很多??
: 因为目前只有想到用反矩阵解,不知道有没有什么比较好的算法可以解的比较精确??
先讲结论:我也不知道
稍微帮忙整理一下资讯
1. 我看过的大学课程资料,通通没有提过这件事。
2. 这网页的reference列了很多书,我没有全部读过,所以可能最近几天翻一翻吧。
  http://mathworld.wolfram.com/LeastSquaresFitting.html
3. 如果这些书都没有答案,那答案可能藏在论文、专利、专案里面。
  这种情况嘛,除非去找专家,要不然光靠自己应该是找不到答案。
  可能要去专业讨论区发问吧,例如这种的:
 https://math.stackexchange.com/questions/tagged/numerical-methods
4. 解least square的方法(资料量从少到多,速度从慢到快,精确度从高到低)
(1) 公式解(Normal Equation/QR/SVD)
  (2) 梯度下降法/递推法(Levenberg-Marquardt Algorithm/Conjugate Gradient)
    主要是针对正定矩阵进行加速
  (3) 随机取样(RANSAC/Iterative Closest Point)
   随便抓5点,然后做多项式内插。
  然后重复这个步骤很多次,从中找到最好的那个多项式。
  实际应用几乎都是(2)(3),所以很难找到(1)的讨论。尤其又是四次多项式...
5. 说到FIT四次方曲线,有一个非常接近的东西叫做 bezier curve fitting
因为贝兹曲线很有名,所以资料应该满多的,我猜可以往这方面去找。
6. 说到多项式内插,谷歌一下就有讨论精确度的论文了,还满好找的:
http://www.sciencedirect.com/science/article/pii/S0024379505004520
我也想知道答案是什么。如果你找到答案了,希望可以CC给我,谢谢!
作者: j0958322080 (Tidus)   2017-12-25 15:07:00
我觉得这误差应该跟计算太多次有关系,目前在想是否可以利用什么数学定理来减少计算量。不过梯度下降法我之前以为只是要得到最小误差的理论推导而已,之后会试试看这个算法和QR分解,感谢我刚刚看了一下,最好的方法是把A做QR分解,整个问题就只剩下 Qx = Rb,剩下解线性方城组就好

Links booklink

Contact Us: admin [ a t ] ucptt.com