最小二乘法

来源:互联网 发布:php pc软件开发 编辑:程序博客网 时间:2024/06/15 13:53

1、在学习这个算法之前,先看一下如何解决下面这个问题。
有一组点{(2,3,5),(4,5,7),(6,8,10)},如何确定一条直线能最大的拟合这些点?
我们把这个问题转换一下就是,确定一个函数表达式z=f(x,y)=ax+by,使用这个函数表达式求得的值与真实点z坐标的值相差的平方S最小,
S=(2a+3b-5)²+(4a+5b-7)²+(6a+8b-10)²=56a²+98b²+174+148ab-196a-260b,如果S取最小,那么就是这条线就是最符合这些点的。
那么现在问题转换成,如何取最合适的a,b值能让S最小?
数学中这么解决的
我们对a和b求偏导,分别让它的偏导数为0,然后组成一个一个方程组:
112a+148b-196=0
{
196b+148a-260=0
解得a=-1.32,b=2.33,那么z=-1.32x+2.33y,是这些点最佳拟合直线。这就是最小二乘法。二乘的意思就是平方。类似求最佳拟合曲线的还有梯度下降法,这在我BP-神经网络算法有介绍。

原创粉丝点击