最小平方误差的求值
(2011-03-30 16:35:07)
标签:
杂谈 |
分类: 编程语言学习 |
最小平方误差的求值
在很多问题里,通常要找到一个系数a,使得给定的误差函数值形如f(d(x,a)-t)期望最少,其中t为真实值,d(x,a)是关于自变量x,系数为a的函数(通常是线性函数)(注:x和a通常是向量,表示一组自变量和对应的一组系数)。给定的误差函数可以是误差的绝对值期望,也可以是误差值的平方的期望。通常平方比绝对值更常用,因为方便做微分运算。
http://mathworld.wolfram.com/MethodofSteepestDescent.html
以一维情况为例,我们首先估计一个初始系数值a0, 然后求出误差函数的在该点导数f'(x), 迭代直到第r步系数值ar,
使该点梯度绝对值小于某一精度阀值。
关于共轭梯度法求函数最小值的方法,有一篇很好的指导文章:
http://www.cs.utah.edu/classes/cs3200/notes/painless-conjugate-gradient.pdf
CMU计算机系写的共轭梯度法解惑,非常详细地讨论了梯度下降和共轭梯度法,还有一些线性代数的复习。
关于Levenberg- Marquardt的C++程序:
http://www.ics.forth.gr/~lourakis/levmar/
关于他的原理:
http://www.cs.toronto.edu/~roweis/notes/lm.pdf
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/daly888/archive/2007/03/15/1530460.aspx