监督学习——通用线性模型
一、何謂監(jiān)督學習
要給出監(jiān)督學習準確的定義并不容易,因為每本參考資料中都給出了不同的解釋,雖然核心的思想是相同的,但是再 寫博客的時候,總得選擇自己滿意的定義。在監(jiān)督學習這個概念上,我選擇以李航老師的統(tǒng)計學習方法中的定義作為 標準,監(jiān)督學習(supervisedlearning)的任務是一個學習模型,使模型能夠對任意給定的輸入,對其相應的輸出做出 一個好的預測(注意:這里的輸入何輸出,是指某個系統(tǒng)的輸入、輸出,與學習的輸入、輸出不同)。1 通用線性模型
首先我們要介紹的是一組用于回歸的方法,“回歸”一詞源于最佳擬合,表示要找到最佳擬合參數(shù)集。在回歸方法中,目標值被估計為輸入變量的線性組合。在數(shù)學概念中,被稱為估計值(predicted value)。線性的回歸方程:
稱為回歸系數(shù),稱為截距。
1.1 普通最小二乘
線性回歸(LinearRegression)模型的目標是擬合一個系數(shù)為的線性模型,使得觀測變量的值與目標值之間的殘差盡可能小。在數(shù)學中,它主要解決以下形式的問題:
線性回歸把數(shù)組X,y的你和系數(shù)存儲在成員變量coef_中:
[python]?view plaincopy
然而,最小普通二乘系數(shù)的估計和模型的獨立性相關,輸入矩陣X的列有近似的線性關系時,最小普通二乘對觀察到的數(shù)據(jù)的隨錯誤估計非常敏感,這種情況下會產(chǎn)生較大的方差。
例子:
- Linear Regression Example
回歸系數(shù)、殘差平方、 Variance score的計算如下:
[plain]?view plaincopy如果X是一個大小為n行p列的矩陣,假設n>=p,則線性回歸的普通最小二乘的算法復雜度為。
1.2 嶺回歸(Ridge regression)
嶺回歸通過對回歸系數(shù)增加一個懲罰因子解決了如下形式的普通最小二乘問題,嶺回歸系數(shù)使得殘差平方和最小:
是一個控制收縮率大小的參數(shù):越大,收縮率就越大,因此,回歸線數(shù)的共線性就越健壯,圖1給出了和權重weights之間的關系。
同其他線性模型一樣,嶺回歸把數(shù)組X,y的你和系數(shù)存儲在成員變量coef_中:
[python]?view plaincopy
- Plot Ridge coefficients as a function of the regularization
- Classification of text documents using sparse features
嶺回歸的復雜度與線性回歸復雜度一樣。
1.2.1 設置正則化的參數(shù):廣義交叉驗證
RidgeCV?的嶺回歸中實現(xiàn)了參數(shù)alpha的交叉驗證。RidgeCV與GridSearchCV的實現(xiàn)原理一樣,只是RidgeCV用的方法是廣義交叉驗證(GCV),而GridSearchCV則用的是一對一交叉驗證(leave-one-out cross-validation)。1.3 Lasso
Lasso是估計稀疏系數(shù)的線性模型。Lasso總是傾向于解決參數(shù)較少的問題,并可以有效的減少解決方案依賴的變量參數(shù)。為此,Lasso及其變形 是壓縮感知領域的基礎,在特定的情況下,Lasso可以恢復非零權重的準確集合。 Lasso是由正則化參數(shù)組成的線性模型,目標函數(shù)為:為常數(shù),范數(shù)為參數(shù)向量的主題。
?Lasso使用梯度下降法擬合系數(shù),另一種實現(xiàn)方法參考?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 and Elastic Net for Sparse Signals
- Compressive sensing: tomography reconstruction with L1 prior (Lasso)
總結
以上是生活随笔為你收集整理的监督学习——通用线性模型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 重构—改善既有代码的设计
- 下一篇: 一、数据挖掘概述