学机器学习怎么可以不知道最小二乘法 (2)

学机器学习怎么可以不知道最小二乘法

最小二乘法呼之欲出,这就是最小二乘法的原理了,即让误差的平方总和尽可能小。从求一条最接近这五个点的线的问题转化成求最小化误差的问题。

学机器学习怎么可以不知道最小二乘法

学机器学习怎么可以不知道最小二乘法

求解

那么怎么求呢,继续以上面的为例子。这是一个二次函数。总误差的平方:

学机器学习怎么可以不知道最小二乘法

根据多元微积分,当

学机器学习怎么可以不知道最小二乘法

这个时候 ϵ 取得最小值,求的a,b的解为

学机器学习怎么可以不知道最小二乘法

a,b求出后,这条最接近的线也就出来了

学机器学习怎么可以不知道最小二乘法

进一步现在假设这条线是 二次函数,结果怎样

学机器学习怎么可以不知道最小二乘法

我们可以选择不同的 f(x),根据最小二乘法得出不一样的拟合函数。不过选择f(x)还是不能太随意,不然要么不准,要么容易过拟合。代码实现整个思路如下

学机器学习怎么可以不知道最小二乘法

 

目标函数:代入生成的x,生成对应的y

def real_func(x): return np.sin(2*np.pi*x)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpwpyd.html