統計學習方法
統計學習是關於計算機基於資料構建概率統計模型並運用模型對資料進行預測與分析的一門學科,也稱統計機器學習以下是小編分享給大家的統計學習的資料,希望可以幫到你!
一
統計學習
統計學習的物件是資料,它從資料出發,提取資料的特徵,抽象出資料的模型,發現數據中的知識,又回到對資料的分析與預測中去。統計學習關於資料的基本假設是同類資料具有一定的統計規律性,這是統計學習的前提。
統計學習的目的就是考慮學習什麼樣的模型和如何學習模型。
包括模型的假設空間、模型選擇的準則以及模型學習的演算法。實現統計學習的步驟如下:
***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***。預測過程中,預測系統對於給定的測試樣本集中的輸入
三
統計學習三要素
統計學習=模型+策略+演算法
3.1 模型
統計學習中,首先要考慮學習什麼樣的模型,在監督學習中,模型就是所要學習的條件概率分佈或決策函式,由決策函式表示的模型為非概率模型,由條件概率分佈表示的模型為概率模型。
3.2 策略
有了模型的假設空間,統計學習接著需要考慮的是按照什麼樣的準則學習或選擇最優的模型。監督學習實際上就是一個經驗風險或者結構風險函式的最優化問題。風險函式度量平均意義下模型預測的好壞,模型每一次預測的好壞用損失函式來度量。
監督學習問題就是從假設空間F中選擇模型f作為決策函式,對於給定的輸入X,由f***X***給出相應的輸出Y,這個輸出的預測值f***X***與真實值Y可能一致也可能不一致,用一個損失函式來度量預測錯誤的程度。損失函式記為L***Y, f***X******。常用的損失函式有以下幾種:
3.3 演算法
統計學習問題歸結為以上的最優化問題,這樣,統計學習的演算法就是求解最優化問題的演算法。如果最優化問題有顯示的解析解,這個最優化問題就比較簡單,但通常這個解析解不存在,所以就需要利用數值計算的方法來求解。統計學習可以利用已有的最優化演算法,也可以開發獨自的最優化演算法。
四
模型評估與模型選擇
當損失函式給定時,基於損失函式的模型的訓練誤差和模型的測試誤差就自然成為學習方法評估的標準。
訓練誤差是模型Y=f***x***關於訓練資料集的平均損失:
下圖給出了M=0,M=1,M=3,M=9時的多項式函式擬合的情況,其中綠色曲線為真模型,紅色為預測模型。
其中,M=0和M=1模型簡單,擬合不足,訓練誤差較大;M=9模型複雜,過擬合,訓練誤差為0,但基本不具備推廣性;M=3模型複雜度適中,泛化能力強,效果最好。
下圖描述了訓練誤差和測試誤差與模型的複雜度之間的關係:
當模型的複雜度增大時,訓練誤差會逐漸減小並趨向於0,而測試誤差會先減少,達到最小值後又增大。模型選擇的典型方法是正則化與交叉驗證。
五
正則化與交叉驗證
模型選擇的典型方法是正則化,正則化的一般形式如下:
其中,第一項是經驗風險,第二項是正則化項,正則化項可以取不同的形式,例如,正則化項可以是模型引數向量的範數。迴歸問題中,損失函式是平方損失,正則化項可以是引數向量的L2範數:
正則化項也可以是引數向量的L1範數:
經驗風險較小的模型可能較複雜,這時正則化項的值會較大,正則化的作用是選擇經驗風險與模型複雜度同時較小的模型。
正則化符合奧卡姆剃刀原理,在所有可能的模型中,能夠很好的解釋已知資料並且十分簡單的模型才是最好的模型。從貝葉斯估計的角度來看,正則化項對應於模型的先驗概率,可以假設複雜的模型有較小的先驗概率,簡單的模型有較大的先驗概率。
模型選擇的另一種方法是交叉驗證,使用交叉驗證的前提是資料不充足,常見的有簡單交叉驗證、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等。
標註問題的輸入是一個觀測序列,輸出是一個標記序列。標註問題在資訊抽取、自然語言處理等領域被廣泛採用。例如,自然語言處理中的詞性標註就是一個典型的標註問題:給定一個由單片語成的句子,對這個句子中的每一個單詞進行詞性標註,即對一個單詞序列預測其對應的詞性標記序列。標註常用的有:隱馬爾科夫模型、條件隨機場。
迴歸問題的學習等價於函式擬合:選擇一條函式曲線使其很好的擬合已知資料且很好地預測未知資料。迴歸問題按照輸入變數的個數分為一元迴歸和多元迴歸,按照輸入變數和輸出變數之間的關係的型別即模型的型別,分為線性迴歸和非線性迴歸。迴歸學習最常用的損失函式時平方損失函式,在此情況下,迴歸問題可以用著名的最小二乘法求解。