1 1 廣義線性模型

2022-05-06 05:48:11 字數 3312 閱讀 7628

下面介紹的是一組用於回歸的方法,這些方法的目標值是輸入變數的線性組合。用

作為**值。

貫穿模組,我們指定向量

為coef_(係數),

為intercept_(截距)。

要使用廣義線性模型實現分類,詳見logistic回歸。

線性回歸擬合以係數

最小化可觀測到的資料的響應與線性模型**的響應的殘差和的平方,用數學公式表示即:

linearregression 對陣列x,y使用fit方法,並將結果的係數

存放在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的列近似線性相關,矩陣變得近似於相關,這樣的結果是,最小而成估計變得對觀測值中的隨機異常點非常敏感,因此產生巨大的偏差。舉例來說,這種多重共線性的情況在實驗資料中時常出現。

例子1.1.1.1.常規最小二乘法的複雜度

這個方法使用對x的單值分解,如果x是(n,p)的矩陣,那麼這個方法的消耗是o(np2),假設n≥p。

嶺回歸通過對係數施加乙個罰項來改善常規最小二乘法的一些問題。嶺係數最小化經過罰項優化的平方殘差和,數學表達為:

這裡的α>0是乙個複雜的引數用於控制收縮量:α值越大收縮量越大,因此模型係數對共線性問題更加健壯。(α是乙個罰項,值越大對異常點的容忍度越大,因此模型更健壯)。

正如其他模型一樣,ridge對陣列x和y使用fit方法,並將線性模型的係數

存放在coef_中。

>>> from sklearn import

linear_model

>>> reg = linear_model.ridge (alpha = .5)

>>> reg.fit ([[0, 0], [0, 0], [1, 1]], [0, .1, 1])

ridge(alpha=0.5, copy_x=true, fit_intercept=true, max_iter=none,

normalize=false, random_state=none, solver='

auto

', tol=0.001)

>>>reg.coef_

array([ 0.34545455, 0.34545455])

>>>reg.intercept_

0.13636...

例子嶺係數作為正則化的函式

使用稀疏特徵對文字文件進行分類

1.1.2.1嶺複雜度

這個方法的複雜度與常規最小二乘法一樣。

1.1.2.2正則花引數設定:通用交叉驗證

ridgecv使用α引數的內建交叉驗證實現嶺回歸。這個物件除了預設設定通用交叉認證(gcv)之外,與gridsearchcv採用同樣的工作方式,gcv是留一法交叉驗證的有效形式:

>>> from sklearn import

linear_model

>>> reg = linear_model.ridgecv(alphas=[0.1, 1.0, 10.0])

>>> reg.fit([[0, 0], [0, 0], [1, 1]], [0, .1, 1])

ridgecv(alphas=[0.1, 1.0, 10.0], cv=none, fit_intercept=true, scoring=none,

normalize=false)

>>>reg.alpha_

0.1

參考閱讀:「notes on regularized least squares」, rifkin & lippert (technical report, course slides).

lasso 是乙個用於估算稀疏係數的線性模型,由於它傾向於用更少的引數值去解決問題,這有效減少了給定解下相互依賴變數的數量,因此它在一些情景下非常好用。因此,lasso以及它的變種是壓縮感知領域的基礎。在特定條件下,它可以恢復非零矩陣的精準集(通訊技術中的訊號復原)。

數學表達下,模型由基於l1prior作為正則化訓練的線性模型組成。用於最小化的函式是:

lasso估計通過增加項

來解決最小二乘法罰項,其中α是乙個常量,

是引數向量的l1norm(範數)。

lasso類使用座標下降演算法來擬合係數。least angle regression是另外一種演算法:

>>> from sklearn import

linear_model

>>> reg = linear_model.lasso(alpha = 0.1)

>>> reg.fit([[0, 0], [1, 1]], [0, 1])

lasso(alpha=0.1, copy_x=true, fit_intercept=true, max_iter=1000,

normalize=false, positive=false, precompute=false, random_state=none,

selection='

cyclic

', tol=0.0001, warm_start=false)

>>> reg.predict([[1, 1]])

array([ 0.8])

對於低階任務lasso_path函式十分好用,這個函式沿著可能值的全路徑計算係數。

例子注釋:用lasso進行特徵選擇

lassoregression產生稀疏模型,因此可以用它來進行特徵選擇,詳見 l1-based feature selection

.注釋:隨機稀疏

對於特徵選擇或稀疏恢復,可使用 randomized sparse models.

1.1.3.1設定正則化引數

α引數控制稀疏被評估的係數的稀疏階數。

1.1.3.1.1使用交叉驗證

廣義線性模型

廣義線性模型是線性模型的擴充套件,主要是對非正態因變數的分析 廣義線性擬合的核心是最大似然估計,而不是最小二乘 擬合模型如下 y 0 pj 1 jx j 其中,beta是係數,mu是優勢比的對數,beta係數是對優勢比的影響。通過擬合求得的就是 我們可以通過兩個例子看一下兩種變數 類別型 自變數x ...

廣義線性模型

之前提到過,線性回歸模型有三個限制 響應變數服從正態分佈,響應變數和解釋變數之間服從線性關係,方差不變。其實在構建乙個線性模型的時候,除了上述的兩個要求,我們還需要對解釋變數進行具體的分析,主要有幾點,首先是解釋變數之間的相互作用 interaction 對結果的影響,簡單來說就是模型不僅僅受因素a...

廣義線性模型和線性回歸

首先術語廣義線性模型 glm 通常是指給定連續和 或分類 變數的連續響應變數的常規線性回歸模型。它包括多元線性回歸,以及anova和ancova 僅具有固定效果 形式為 yi n x 2 其中xi包含已知的協變數,包含要估計的係數。這些模型使用最小二乘和加權最小二乘擬合。術語廣義線性模型 glim或...