機器學習第一篇——線性模型

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

一、最小二乘法

最小二乘法就是普通的無約束優化問題,具體請看吳立德教授的 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定義

 

以上就是這次的線性模型的內容。

  

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