1. 程式人生 > >統計學習方法-學習總結

統計學習方法-學習總結

基礎知識

四種學習型別

  • 監督學習
  • 非監督學習
  • 半監督學習
  • 強化學習

這本書主要介紹第一類學習型別,監督學習。

統計學習三要素

未知的P(X,Y)聯合概率模型產生的獨立同分布的資料,統計學習基於三要素學習這些資料,並期許學習到的模型能對未知資料有較好的預測能力。

模型

能與資料相吻合的概率模型或數學模型。

評判策略

用於評判模型優劣的標準。一般由一個損失函式表示。分為兩種:經驗風險及結構風險。

  1. 經驗風險:關於訓練資料的平均損失。由於(由於P(X,Y)未知,所以對訓練資料平等看待)(可能出現過擬合)(採用經驗風險的例子:極大似然估計)
  2. 結構風險(正則化):在經驗風險基礎上在加上模型複雜度的懲罰項。(採用結構風險的例子:最大厚顏概率估計)

學習演算法

通過最優化數值計算,選取(計算)出最優模型。

模型選擇方法(選擇合適複雜度的模型)

過擬合

一味提高對訓練資料的預測能力,致使模型複雜度過高。導致對已知資料的預測能力好,對未知資料的預測能力差。

正則化及交叉驗證

有兩種方法選擇合適的模型:正則化及交叉驗證。

  1. 正則化(結構風險):在經驗風險的損失函式中加上模型引數向量的範數,作為新的損失函式。
  2. 交叉驗證:資料充足時,把訓練資料分成訓練集,驗證集和測試集,分別用於訓練模型,模型選擇和評估模型。資料不充足時,切分資料,重複組合資料,分別用於訓練,選擇和評估。

泛化能力

即模型對未知資料的預測能力
泛化誤差上界:樣本多則小;假設空間大則大。

生成模型與判別模型

生成模型

學習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資訊增益比作為選擇標準。

資訊增益


H(D)
熵只與變數的分佈有關。
條件熵
H(D|A)
用於計算熵的概率可由估計得到(極大似然估計)。
資訊增益(互資訊):
特徵A對訓練資料集D的資訊增益 g(D;A) 為:
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

適用於二類分類問題。求取間隔最大的線性分類器+核方法。
核方法:將輸入空間對映到特徵空間(非線性)。

參考優化問題SVM1SVM2

線性可分資料:(硬間隔最大化)

感知器目標是使誤分類最少,存在多個解;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,生物資訊,模式識別。

基本概念

模型

是關於時序的概率模型。
用隱藏(未知)的馬鏈產生 隨機狀態序列,通過觀測隨機狀態序列,得到隨機觀測序列。通過隨機觀測序列學習模型。

數學模型

這裡寫圖片描述
這裡寫圖片描述
模型由以下三部分組成:
初始狀態概率向量:
這裡寫圖片描述

狀態轉移概率矩陣:
這裡寫圖片描述
觀測概率矩陣:
這裡寫圖片描述

隱馬的兩個基本假設

  1. 齊次性:當前狀態只與前一狀態有關。
  2. 觀測獨立性:當前觀測只依賴於當前狀態。

應用於標註問題

給定觀測序列,預測標記序列,如標記詞性。

演算法的三個基本問題

這裡寫圖片描述

概率計算

直接法

這裡寫圖片描述
計算量大
採用動態規劃演算法:

前向演算法

前向概率:到時刻 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:只考慮和分類最相關的少數點