最小二乘法(least square method)

  |   0 评论   |   460 浏览


名称的来历

日语中「乗」有「次幂」的意思,「二乗」就是「二次幂」,即「平方」。least squares method 最初由日本人翻译成「最小二乗法」,又称最小平方法,即最小误差平方和

基本思想

认为测量中有误差,所以所有样本的累积误差为

法国数学家阿德里安-马里·勒让德提出:让总的误差的平方最小的y就是真值,即最小二乘法

我们求解出导致累积误差最小的参数即可。

假设真值为y,记y1,...,yn为第n次的测量值,每次测量的误差为ε= y - yi,按最小二乘法,误差累积为

这是一个二次函数,当其导数为0时,ε取得极小值

即当误差最小时,真值恰好等于所有观测值的算数平均值

sklearn中的普通最小二乘法

定义向量 w = (w1,..., wp) 作为 coef_ ,定义 w0 作为 intercept_

LinearRegression 拟合一个带有系数 w = (w_1, ..., w_p) 的线性模型,使得数据集实际观测数据和预测数据(估计值)之间的残差平方和最小。其数学表达式为: 

\underset{w}{min\,} {|| X w - y||_2}^2

../_images/sphx_glr_plot_ols_0011.png


from sklearn import linear_model

reg = linear_model.LinearRegression()
reg.fit ([[0, 0], [1, 1], [2, 2]], [0, 1, 2])
print(reg.coef_)
print(reg.intercept_)
[0.5 0.5]
1.1102230246251565e-16