关于最小二乘法的介绍可以参考链接
要自己使用并应掌握的重点是:
下面主要就最小二乘法的实际应用进行测试,主要包含两个部分,第一个是使用最小二乘法对线性方程进行拟合
,第二个是使用最小二乘法对非线性方程进行拟合
。
线性方程拟合
程序思路:先随机生成测试数据,并可视化,随后使用最小二乘法拟合线性方程。
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(0)
def real_func(x):
return 3*x + 2
# generate data
x = np.linspace(0, 1, 100)
y_ = real_func(x) # gt
y = [np.random.normal(0, 0.1)+y1 for y1 in y_] # observation
# vis generate data
plt.scatter(x, y_, c='c')
plt.scatter(x, y, c='b')
plt.title('Generate Data')