机器学习第一篇——线性模型

在写线性模型之前,我先概述下普通的最小二乘法。

一、最小二乘法

最小二乘法就是普通的无约束优化问题,具体请看吴立德教授的 https://www.bilibili.com/video/av10289610/?p=17.

有了最小二乘法的概念,我们再来看看机器学习中的线性模型。

二、线性模型

 由于线性模型的函数是凸函数,所以它的最优化解的一阶充分必要条件为一阶导数为0。

三、LinearRegression

有了原理之后,我再向大家介绍使用sklearn中LinearRegression。一个简单的例子如下。

>>> 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])

下面我对LinearRegression的参数进行如下说明:

       Parameters :

                    fit_intercept : boolean, optional, default True

                         模型是否使用截距,也就是模型中的独立变量b。值默认为True,如果值为False,则不会计算截距。

                    normalize : boolean, optional, default False

                         数据样本X在训练之前是否需要标准化,如果 fit_intercept = False,则此参数忽略。标准化的原理和

                         sklearn.preprocessing.StandardScaler一样。

      copy_X : boolean, optional, default True

                          当值为True的时候,即可保证训练过程不会修改原来的数据样本,否则有可能修改原来的数据样本。

                    n_jobs : int, optional, default 1      

                           计算时使用的CPU数目。

       Attributes:

                    coef_ : array, shape (n_features, ) or (n_targets, n_features)

                            线性回归的参数,即模型中的W。

                    intercept_ : array

                           截距,即模型中的独立变量b

       Methods:

                    fit(X, y[, sample_weight])

                             拟合模型,即利用数据样本训练,得到模型的参数。

                   predict(X)

                            对输入的新数据样本进行回归预测。

                  score(X, y[, sample_weight])

                            返回模型在数据样本X、y上的得分。得分计算公式R2定义

 

以上就是这次的线性模型的内容。

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章