机器学习实践之scikit-learn:最小二乘法

Ordinary Least Squares ( 普通最小二乘法 )

线性回归 用系数 w = (w_1, ..., w_p) 来拟合线性模型,来最小化观测得的数据集和线性模型估计值的均方误差。 所解决的问题在数学上的表达为:

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

机器学习实践之scikit-learn:最小二乘法_第1张图片

线性回归 将矩阵X,y 作为方法 fit 的参数,将拟合的系数 w 存放到coef_ 成员:

>>> from sklearn import linear_model
>>> reg = linear_model.LinearRegression()
>>> reg.fit ([[0, 0], [1, 1], [2, 2]], [0, 1, 2])
LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)
>>> reg.coef_
array([ 0.5,  0.5])

然而,最小二乘的系数估计依赖于模型特征项的独立性。当特征项相关并且设计矩阵 X 的列近似的线性相关时,设计矩阵便接近于一个奇异矩阵,因此最小二乘估计对观测点中的随机误差变得高度敏感,产生大的方差。例如,当没有试验设计的收集数据时,可能会出现这种多重共线性(multicollinearity )的情况。

示例:

  • Linear Regression Example

Ordinary Least Squares Complexity ( 普通最小二乘法复杂度 )

该方法通过对X进行 singular value decomposition ( 奇异值分解 ) 来计算最小二乘法的解。如果 X 是大小为(n, p) 的矩阵,则该方法的复杂度为O(n p^2) ,假设n \geq p 。

 

参考:

scikit-learn 0.19 文档

scikit-learn 0.18 中文文档

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(机器学习)