統計學習是關於計算機基於數據構建機率統計模型並運用模型對數據進行預測與分析的一門學科,也稱統計機器學習。統計學習是數據驅動的學科。統計學習是一門機率論、統計學、信息論、計算理論、最優化理論及計算機科學等多個領域的交叉學科。算法
統計學習的對象是數據,它從數據出發,提取數據的特徵,抽象出數據的模型,發現數據中的知識,又回到對數據的分析與預測中去。統計學習關於數據的基本假設是同類數據具備必定的統計規律性,這是統計學習的前提。網絡
統計學習的目的就是考慮學習什麼樣的模型和如何學習模型。dom
統計學習方法包括模型的假設空間、模型選擇的準則以及模型學習的算法。實現統計學習的步驟以下:機器學習
(1) 獲得一個有限的訓練數據集合;函數
(2) 肯定包含全部可能的模型的假設空間,即學習模型的集合;學習
(3) 肯定模型選擇的準則,即學習的策略;測試
(4) 實現求解最優模型的算法,即學習的算法;優化
(5) 經過學習方法選擇最優模型;對象
(6) 利用學習的最優模型對新數據進行預測或分析。開發
監督學習從訓練數據中學習模型,對測試數據進行預測,訓練集一般表示爲
人們根據輸入、輸出變量的不一樣類型,對預測任務給予不一樣的名稱:輸入變量和輸出變量均爲連續變量的預測問題稱爲迴歸問題;輸出變量爲有限個離散變量的預測問題稱爲分類問題;輸入變量與輸出變量均爲變量序列的預測問題稱爲標註問題。
監督學習假設輸入與輸出的隨機變量X和Y遵循聯合機率分佈P(X,Y),P(X,Y)表示分佈函數,或分佈密度函數。統計學習假設數據存在必定的統計規律,X和Y具備聯合機率分佈的假設就是監督學習關於數據的基本假設。
監督學習的模型能夠是機率模型或非機率模型,由條件機率分佈P(Y|X)或決策函數Y=f(X)表示,隨具體學習方法而定。
監督學習分爲學習和預測兩個過程,由學習系統與預測系統組成,以下圖:
學習過程當中,學習系統利用給定的訓練數據集,經過學習獲得一個模型,表示爲條件機率分佈P(Y|X)或決策函數Y=f(X)。預測過程當中,預測系統對於給定的測試樣本集中的輸入
統計學習=模型+策略+算法
統計學習中,首先要考慮學習什麼樣的模型,在監督學習中,模型就是所要學習的條件機率分佈或決策函數,由決策函數表示的模型爲非機率模型,由條件機率分佈表示的模型爲機率模型。
有了模型的假設空間,統計學習接着須要考慮的是按照什麼樣的準則學習或選擇最優的模型。監督學習實際上就是一個經驗風險或者結構風險函數的最優化問題。風險函數度量平均意義下模型預測的好壞,模型每一次預測的好壞用損失函數來度量。
監督學習問題就是從假設空間F中選擇模型f做爲決策函數,對於給定的輸入X,由f(X)給出相應的輸出Y,這個輸出的預測值f(X)與真實值Y可能一致也可能不一致,用一個損失函數來度量預測錯誤的程度。損失函數記爲L(Y, f(X))。經常使用的損失函數有如下幾種:當損失函數給定時,基於損失函數的模型的訓練偏差和模型的測試偏差就天然成爲學習方法評估的標準。
訓練偏差是模型Y=f(x)關於訓練數據集的平均損失:其中,M=0和M=1模型簡單,擬合不足,訓練偏差較大;M=9模型複雜,過擬合,訓練偏差爲0,但基本不具有推廣性;M=3模型複雜度適中,泛化能力強,效果最好。
下圖描述了訓練偏差和測試偏差與模型的複雜度之間的關係:經驗風險較小的模型可能較複雜,這時正則化項的值會較大,正則化的做用是選擇經驗風險與模型複雜度同時較小的模型。
正則化符合奧卡姆剃刀原理,在全部可能的模型中,可以很好的解釋已知數據而且十分簡單的模型纔是最好的模型。從貝葉斯估計的角度來看,正則化項對應於模型的先驗機率,能夠假設複雜的模型有較小的先驗機率,簡單的模型有較大的先驗機率。
模型選擇的另外一種方法是交叉驗證,使用交叉驗證的前提是數據不充足,常見的有簡單交叉驗證、S折交叉驗證和留一交叉驗證。若是數據充足,選擇模型的一種簡單方法是隨機的將數據集分紅三部分,分別爲訓練集、驗證集和測試集,訓練集用來訓練模型,驗證集用於模型的選擇,而測試集用於最終對學習方法的評估。若是數據不充足,能夠採用交叉驗證的方法來選擇模型。判別模型
該模型主要對p(y|x)建模,經過x來預測y。在建模的過程當中不須要關注聯合機率分佈。只關心如何優化p(y|x)使得數據可分。一般,判別式模型在分類任務中的表現要好於生成式模型。但判別模型建模過程當中一般爲有監督的,並且難以被擴展成無監督的。
常見的判別式模型有:
Logisticregression
Lineardiscriminant analysis
Supportvector machines
Boosting
Conditionalrandom fields
Linearregression
Neuralnetworks
生成模型
該模型對觀察序列的聯合機率分佈p(x,y)建模,在獲取聯合機率分佈以後,能夠經過貝葉斯公式獲得條件機率分佈。生成式模型所帶的信息要比判別式模型更豐富。除此以外,生成式模型較爲容易的實現增量學習。
常見的生成式模型有:
Gaussian mixture model and othertypes of mixture model
HiddenMarkov model
NaiveBayes
AODE
LatentDirichlet allocation
RestrictedBoltzmann Machine
由上可知,判別模型與生成模型的最重要的不一樣是,訓練時的目標不一樣,判別模型主要優化條件機率分佈,使得x,y更加對應,在分類中就是更可分。而生成模型主要是優化訓練數據的聯合分佈機率。而同時,生成模型能夠經過貝葉斯獲得判別模型,但判別模型沒法獲得生成模型。前面提到過,輸入變量和輸出變量均爲連續變量的預測問題稱爲迴歸問題;輸出變量爲有限個離散變量的預測問題稱爲分類問題;輸入變量與輸出變量均爲變量序列的預測問題稱爲標註問題。
對於二分類問題,經常使用的評價指標是精確率和召回率。一般以關注的類爲正類,其餘類爲負類,分類器在測試數據集上的預測或正確或不正確,4中狀況出現的總數分別記爲:
TP——將正類預測爲正類數;
FN——將正類預測爲負類數;
FP——將負類預測爲正類數;
TN——將負類預測爲負類數。
則,精確率定義爲:許多統計方法能夠用於分類,包括k近鄰法、感知機、樸素貝葉斯法、決策樹、決策列表、邏輯斯諦迴歸模型、支持向量機、提高方法、貝葉斯網絡、神經網絡、Winnow等。
標註問題的輸入是一個觀測序列,輸出是一個標記序列。標註問題在信息抽取、天然語言處理等領域被普遍採用。例如,天然語言處理中的詞性標註就是一個典型的標註問題:給定一個由單詞組成的句子,對這個句子中的每個單詞進行詞性標註,即對一個單詞序列預測其對應的詞性標記序列。標註經常使用的統計學習方法有:隱馬爾科夫模型、條件隨機場。
迴歸問題的學習等價於函數擬合:選擇一條函數曲線使其很好的擬合已知數據且很好地預測未知數據。迴歸問題按照輸入變量的個數分爲一元迴歸和多元迴歸,按照輸入變量和輸出變量之間的關係的類型即模型的類型,分爲線性迴歸和非線性迴歸。迴歸學習最經常使用的損失函數時平方損失函數,在此狀況下,迴歸問題能夠用著名的最小二乘法求解。