統計學習方法-學習總結
基礎知識
四種學習型別
- 監督學習
- 非監督學習
- 半監督學習
- 強化學習
這本書主要介紹第一類學習型別,監督學習。
統計學習三要素
未知的P(X,Y)聯合概率模型產生的獨立同分布的資料,統計學習基於三要素學習這些資料,並期許學習到的模型能對未知資料有較好的預測能力。
模型
能與資料相吻合的概率模型或數學模型。
評判策略
用於評判模型優劣的標準。一般由一個損失函式表示。分為兩種:經驗風險及結構風險。
- 經驗風險:關於訓練資料的平均損失。由於(由於P(X,Y)未知,所以對訓練資料平等看待)(可能出現過擬合)(採用經驗風險的例子:極大似然估計)
- 結構風險(正則化):在經驗風險基礎上在加上模型複雜度的懲罰項。(採用結構風險的例子:最大厚顏概率估計)
學習演算法
通過最優化數值計算,選取(計算)出最優模型。
模型選擇方法(選擇合適複雜度的模型)
過擬合
一味提高對訓練資料的預測能力,致使模型複雜度過高。導致對已知資料的預測能力好,對未知資料的預測能力差。
正則化及交叉驗證
有兩種方法選擇合適的模型:正則化及交叉驗證。
- 正則化(結構風險):在經驗風險的損失函式中加上模型引數向量的範數,作為新的損失函式。
- 交叉驗證:資料充足時,把訓練資料分成訓練集,驗證集和測試集,分別用於訓練模型,模型選擇和評估模型。資料不充足時,切分資料,重複組合資料,分別用於訓練,選擇和評估。
泛化能力
即模型對未知資料的預測能力
泛化誤差上界:樣本多則小;假設空間大則大。
生成模型與判別模型
生成模型
學習P(X,Y),從而得出P(Y|X)。 收斂快(樸素貝葉斯,隱馬鏈)
判別模型
學習y=f(x)或P(Y|X)。 準(kNN,。。。)
模型解決三種問題
分別為:分類,標註和迴歸。
標註:一個樣本序列對應多個標籤。(用於資訊抽取:抽取名詞短語。隱馬,條件隨機場)
迴歸:函式擬合(最小二乘)
感知器
適用於分類問題,是kNN(k近鄰)與SVM(支援向量機)的基礎。
模型
線性分類,判別模型
f(x) = sign( w*x+b )
w*x+b=0 對應一個超平面,這個超平面將特徵空間分為兩部分。w對應法向量,b對應截距。
評判策略
線性可分資料集
存在 w*x+b=0能完美劃分資料集
兩種策略
- 以誤分類點的總數評判模型的優劣。但對w,b不能求導,不好優化。
- 以誤分類點到超平面的距離之和作為評判標準。
損失函式為:
演算法
誤分類點驅動,使用隨機梯度下降。
隨機選取一個誤分類點,利用其梯度值更新模型。
點
- 超平面不唯一,可增加約束,即為SVM模型。
- 例項點參與更新次數越多,意味著其離平面越近,因而對學習結果影響大。
k近鄰法
適用於分類與迴歸。無顯示的學習過程。
主要步驟有:k值的選擇,距離度量及分類決策規則。
模型
根據距離將特徵空間劃分,新資料選取前k個距離最近的劃分,並決策。
距離度量
k值的選擇
k值小:近似誤差小,估計誤差大,模型複雜,會過擬合。
k值大:近似誤差大,估計誤差小,模型簡單。
(近似誤差:只有較近的例項才對結果起作用。估計誤差:對近鄰的例項非常敏感。)
決策規則
多數表決 等價於 經驗風險最小。
kd樹
主要問題
訓練資料多,如何進行快速k近鄰搜尋。考慮使用特殊的儲存結構儲存訓練資料。
構建kd樹
kd樹是一個二叉樹,對特徵空間進行劃分。
迴圈取各個特徵(深度可超過維度)
取中位數為切分點
搜尋kd樹
先從根節點觸發,找到包含目的節點的葉節點,之後遞歸向上回退,尋找更近的節點。(檢視矩形區域與圓是否相交)
回退到根節點結束。
效能
更適用於例項數遠大於空間維數的時候。每個節點對應一個超矩形區域。
樸素貝葉斯
由訓練資料的匯出 P(X,Y),對輸入x,取使後驗概率最大的y作為輸出。(生成模型)
樸素貝葉斯與貝葉斯估計是不同的概念。
模型
進而得出 P(X,Y)。
但是條件概率引數過多(每個取值對應一個概率):
因此提出條件獨立性假設,簡化學習:
預測
取使後驗概率最大的y值作為輸出
而後驗概率可通過下式計算得出:
預測輸出為:
進一步化簡:
等價策略
等價於期望風險(概率由計算得出)最小化(0-1損失函式)
學習(極大似然估計)
用於後驗概率計算。
特殊情況
有計算出的個別概率為零的情況。(致使後驗概率等於零)
採用以下方法(加個因子):
決策樹
- 適用於分類與迴歸問題。
- 是定義在特徵空間,類空間上的條件概率分佈。
- 具有可讀性。
- 模型構建分為三個步驟:特徵選取,決策樹生成和決策樹的修剪。
模型與學習
模型
樹有節點和有向邊。內部節點指代特徵,葉節點指代輸出類。
- 決策樹將特徵空間劃分為互不相交的單元,並在每個單元上定義一個類的概率分佈(條件概率分佈)。
- 一條路徑對應一個單元。
- 各個單元的條件概率偏向某一類。
學習
- 目標,構建一個決策樹模型。(歸納出一組分類規則)
- 根據損失函式,從所有可能的決策樹中尋找最優決策樹屬於NP-hard問題。
- 因此採用啟發式演算法:遞迴選擇最優特徵並劃分集合,使得對子資料集有最好的分類。但可能出現過擬合現象,因此需要對決策樹進行剪枝(子節點擠進父節點,成為新子節點)。
特徵選擇
選取對訓練資料具有有效分類能力的特徵。
以資訊增益or資訊增益比作為選擇標準。
資訊增益
熵:
熵只與變數的分佈有關。
條件熵:
用於計算熵的概率可由估計得到(極大似然估計)。
資訊增益(互資訊):
特徵A對訓練資料集D的資訊增益 g(D;A) 為:
決策樹的生成
生成區域性最優樹,可由剪枝得到全域性最優樹。
ID3
演算法:選取資訊增益最大的特徵作為節點特徵,由該特徵的不同取值建立子節點,再對子節點遞迴呼叫以上方法,構建決策樹。終止條件:直到所有特徵的資訊增益均很小或沒有特徵可以選擇為止。
問題:若某個特徵選取的值過多,如ID號,其資訊增益大。因此需要對此引入懲罰,即使用資訊增益比:
C4.5
利用資訊增益比選取特徵。
決策樹的剪枝
損失函式
|T|為葉節點個數,Nt為葉節點樣本個數,H(T)為葉節點的熵。
C(T)表示模型對訓練資料的預測誤差,即模型與訓練資料的擬合程度,|T|表示模型複雜度,引數a控制兩者之間的影響。
等價於正則化的極大似然估計
方法
通過比較剪枝前後的損失函式,判斷是否剪枝。
CART演算法
二叉樹(上述的ID3,C4.5為多叉樹)
分為分類樹與迴歸樹
CART生成
遞迴構建二叉樹,迴歸問題通過平均誤差最小化選取最優輸出;分類問題通過基尼係數選取特徵和切分點。
迴歸樹(最小二乘迴歸樹)
含義:將特徵空間劃分成單元,每個單元對應一個固定輸出值Cm。
採用啟發式方法對空間進行劃分:
分類樹
基尼係數:
表示訓練集D的不確定性。
- 基尼係數和熵都可以近似代表分類誤差率。
- 取基尼係數最小的切分點作為最優特徵和切割點。
CART剪枝
通過某項判定規則,不斷地對樹的內部節點進行剪枝,生成一個決策樹序列,然後通過交叉驗證對決策樹進行測試,從而選取最優決策樹。
對於內部節點 t:
剪枝前的損失函式:
剪枝後的損失函式:
使內部節點t剪枝前和剪枝後損失函式相等,得到引數a的值。
a小,則剪枝後增加的不確定度C(t)-C(Tt)=a(|T|-1)越小。所以優先選取a小的內部節點進行剪枝。
所以剪枝的原則是:不增加損失函式的前提下,選取能最有效降低決策樹複雜度(a越小)的內部節點進行剪枝。
步驟:
先自下而上計算數值:
然後自上而下選取內部節點進行剪枝。
邏輯迴歸與最大熵模型
logistic regression/max entropy
是對數線性模型
邏輯迴歸
分佈函式和密度函式
曲線圖:
分佈函式與階躍函式(感知器)相比充分考慮所以樣本的期望損失。
模型
由分佈函式匯出:
演算法
用極大似然估計,估計模型引數w。
使似然函式最大,利用梯度下降,擬牛頓求引數。
最大熵模型
熵最大的概率模型是最好的模型(最穩定)。即基於已知資訊平等對待未知資訊。
均勻分佈熵最大。
模型
通過估計得出
定義特徵函式(符合特徵能提供資訊):
期許模型 P(y|x) 能學習經驗資訊 P~(X,Y) 的資訊,即特徵函式的期望值相等,並使模型的條件熵最大的模型稱為最大熵模型:
演算法
通過引進拉格朗日乘子,對應於多個特徵函式。
利用對偶問題求解引數w。
進而可得模型:
支援向量機SVM
適用於二類分類問題。求取間隔最大的線性分類器+核方法。
核方法:將輸入空間對映到特徵空間(非線性)。
線性可分資料:(硬間隔最大化)
感知器目標是使誤分類最少,存在多個解;SVM目標是間隔最大化,存在唯一解。
函式間隔和幾何間隔
|w*x+b|表示樣本點距離超平面的距離,由距離來表示分類的確信度。取確信度為y(w*x+b),此成為函式間隔。
但 w 和 b 的縮放不會改變超平面,但是會改變函式間隔的大小。使模型評判不準確。所以對 w 和 b 進行歸一化的間隔即為幾何間隔。
策略
優化目標:使間隔 r/|w| 取最大值;
約束:是所有樣本點距離都大於 r 。
一般取 r=1,則:
等價
支援向量和間隔邊界
距離超平面最近的樣本點稱為:支援向量
支援向量間的間隔帶稱為:間隔邊界
超平面由(少數)支援向量確定,因此支援向量很重要。
對偶問題
原始問題:
拉格朗日函式:
經過數值運算,得:
線性不可分資料:(軟間隔最大化)
某些樣本點不能滿足》1的約束條件。因此引入鬆弛變數,並對鬆弛變數引入懲罰。
支援向量和損失函式
支援向量由對偶問題給出。。。
對偶問題中 a>0 的樣本為支援向量
軟間隔最大化的另一種解釋是:合頁損失函式最小化。
核方法(非線性)
只有超曲面(非線性)才能分類的資料。
核方法:對輸入資料作變換,使得可以使用超平面(線性)進行分類。
核函式:
將核函式應用到對偶問題中(將內積換成核函式)即為核方法。
序列最小化優化演算法(SMO)
對於SVM,當樣本多時,學習慢,以此引入SMO方法,加速學習。是一種啟發式演算法。(啟發式:有線選擇距離終點最近的節點,而Dijkstra優選選擇離源節點最近的節點。)
SMO:在對偶問題中,取其中兩個變數先優化,再持續優化兩個兩個的變數。(利用KKT條件選變數)一個變數選違反KKT條件最嚴重的(啟發式?),另一個變數來由約束條件自動確定。
提升方法(Boosting)
強可學習:一個類(概念)存在一個多項式學習,是預測正確率高。弱可學習:最好的預測,其正確率僅比隨機猜測略好。
提升方法:改變訓練資料的概率分佈(權值分佈),訓練出一系列分類器,將這些分類器組合構成一個強學習器。
AdaBoost演算法
- 提高前一輪弱分類器中錯誤分類樣本的權值
- 加大分類誤差率小的弱分類器的權值
- AdaBoost訓練誤差以指數下降
對於帶權值資料的學習演算法:1. 通過修改弱分類器的損失函式為w*cost(x);2. 對訓練樣本進行bootstrap抽樣,每次抽樣的概率等於樣本的權值。
AdaBoost對線性分類器起不到效果。
引數計算:
等價於
(演算法的另一種解釋:
模型:加法模型
損失函式:
學習方法:前向分佈演算法(每部只學習一個b(x,r))
)
提升樹
採用加法模型(基函式的線性組合)與前向分步演算法,當以基函式為決策樹時,稱為提升樹。
模型
根據問題挑選損失函式。對於迴歸問題,相當於擬合殘差以學習一個新的迴歸樹。
梯度提升
對於一般損失函式,可以用損失函式的負梯度近似為殘差值,用以擬合迴歸樹。
EM演算法及其推廣
EM:期望最大(expectation max)
當觀測變數包含了所有變數(可利用極大似然估計 or 貝葉斯估計);當觀測變數未包含所有變數(有隱變數,採用EM演算法)。
演算法
由極大化 匯出:
- 應用於非監督學習時,只有輸入沒有輸出,EM演算法可用於學習生成模型P(X,Y)。
- 演算法迭代遞增,但不一定收斂於極大值;可取多組初始值,多次訓練,取最好的模型。
應用於高斯混合模型的引數估計
需要預知模型的結構?
隱馬爾可夫模型
HMM
用於標註問題;是生成模型。用於語音識別,NLP,生物資訊,模式識別。
基本概念
模型
是關於時序的概率模型。
用隱藏(未知)的馬鏈產生 隨機狀態序列,通過觀測隨機狀態序列,得到隨機觀測序列。通過隨機觀測序列學習模型。
數學模型
模型由以下三部分組成:
初始狀態概率向量:
狀態轉移概率矩陣:
觀測概率矩陣:
隱馬的兩個基本假設
- 齊次性:當前狀態只與前一狀態有關。
- 觀測獨立性:當前觀測只依賴於當前狀態。
應用於標註問題
給定觀測序列,預測標記序列,如標記詞性。
演算法的三個基本問題
概率計算
直接法
計算量大
採用動態規劃演算法:
前向演算法
前向概率:到時刻 t ,部分觀測序列為 o1, o2, … , ot,且狀態為 qt的概率。
演算法
路徑結構
後向演算法
後向概率:在時刻 t 狀態為 qi 條件下,從 t+1 到 T 的部分觀測序列為 ot+1 , ot+2 , … , oT 的概率。
演算法
路徑結構
概率計算
進而可求得在時刻 t 處於狀態 qi 的概率。
學習演算法
監督學習
有觀測資料和狀態序列。
可以用極大似然估計 得出模型。
轉移概率
觀測概率
與轉移概率類似的方法。
初始概率
人工標註的代價高
非監督學習(Baum-Welch演算法)
即為隱變數的概率模型:
狀態序列為隱變數 I。利用EM演算法實現引數學習。
預測演算法
近似演算法
取每個時刻 t 最有可能出現的狀態作為預測結果。
計算簡單,但是不能保證預測的狀態序列整體是最有可能的狀態序列。
維特比演算法
用動態規劃求概率最大路徑。
定義
演算法遞推
條件隨機場CRF
概率無向圖模型
由無向圖表示聯合概率分佈。
模型
- 節點表示隨機變數,邊表示變數間的概率依賴關係。
- 節點 Y=(yi),P(Y) 表示聯合概率。
- 當P(Y)滿足成對、區域性或全域性馬爾可夫性時,稱為概率無向圖模型或馬爾可夫隨機場
模型的因子分解
因子分解:把P(Y)寫成若干個子聯合概率的乘積。
團:兩兩有邊連線的節點的集合,集合最大的團稱為最大團。
P(Y) 可以表示為最大團變數的函式的乘積。(因子分解)
條件隨機場
序列化的最大熵模型
條件隨機場:在給定隨機變數X下,隨機變數Y的馬爾可夫隨機場。主要討論線性鏈(序列)條件隨機場。
用於標註:觀測得X , 預測出標註Y。
最大團:
相鄰的兩個節點組成最大團。
線性鏈條件隨機場:
線性鏈滿足馬爾可夫性:
引數化形式
t 為轉移特徵,s 為狀態特徵。通常 t,s 取值為 1或0。
簡化形式
轉化為向量表示:
特徵向量:
特徵權值:
簡化形式:
矩陣形式
指定標記序列,計算其概率值。
M類似轉移概率矩陣。即由特徵函式及其權值表徵的標註轉移概率矩陣。
概率計算
用於選取最符合特徵的標註序列
前向-後向演算法(與隱馬類似)
前向遞推公式:
後向遞推公式:
概率計算
期望
學習演算法
通過極大化訓練資料的對數似然概率來求解 引數 w。
對數似然函式,即各個樣本點的條件概率p(y|x)的乘積的對數。
使用梯度下降方法。
分別對每個變數求偏導並使其等於0。得出為兩個期望相等。。
帶懲罰項
or
也就是說樣本點中符合第 j 個特徵的樣本數目 應該等於 在目前模型下第 j 個特徵的期望數目。(類似最大熵模型)
預測演算法
給定P(Y|X)和觀測序列,求使條件概率最大的序列Y,與隱馬類似。
CRF和HMM
- CRF有豐富的特徵函式
- CRF可以取任意權重值
HMM只考慮狀態之間的鄰接關係。CRF還考慮了觀測序列間的關係。?
因此CRF更好
感知器 Logistic和SVM
區別:損失函式不同
- 感知器:只考慮誤分類點
- logistic:考慮所有點,並大大減小離超平面較遠的點的權重
- SVM:只考慮和分類最相關的少數點