考試說明
注重基礎知識和概念的理解,因此解題中的計算過程不會很復雜,但是會有推公式的過程。本課程的重點知識包括:貝葉斯決策、概率密度估計、參數法、非參數法、線性分類器設計、神經網絡、支撐向量機、聚類分析、特征提取和選擇。
參考資料:
- 《機器學習》周志華: p
- 《統計學習方法》李航:*p
- 'Pattern Classification 2nd':%p
- 'Pattern Classification and Machine Learning' :[pclm]
- ‘A Tutorial on Spectral Clustering’ [tsc]
- neural-networks-and-deep-learning [nndl]
本文結構:哪些分類模型屬于參數法/非參數法?哪些屬于生成模型/判別模型?
- 生成模型是基于概率密度的,會顯式地計算后驗概率/類條件概率。將后驗概率/類條件概率計算出來后,根據貝葉斯決策,可以得到最小誤差判別/最小風險判別。計算后驗概率/類條件概率可以分為參數法和非參數法:
- 參數法:假設總體服從某含參數分布,然后根據樣本對參數進行估計
- 非參數法:直接根據樣本對類條件概率進行估計。knn還可以直接對后驗概率進行估計。
- 判別模型不基于后驗概率。預先設定含參判別函數,然后從標記樣本中學習參數。典型的有神經網絡、線性判別、支持向量機
判別分析(判別模型)
判別模型不基于后驗概率,而是設計一個函數(黑箱),對于給定樣本作為輸入,輸出一個類別。當然這個函數在測試前需要進行訓練,也就是說這個函數是帶有參數的(可調節的)。判別模型訓練本質上是利用標記樣本進行判別函數參數學習。
如何利用樣本進行學習?基本方法是構造準則函數(誤差函數),這個函數包含了樣本的標記和模型的輸出(也就包含了判別模型的輸入和參數)。誤差函數原則是樣本標記和模型輸出一致時(或者近似,對于回歸任務)函數值為0或者很小;而當樣本標記與模型輸出差別很大時,函數值很大。模型參數學習過程就是通過調節參數使得誤差函數值盡可能小(模型輸出與樣本標記一致)。
最優的學習率最好是經過一次學習就能得到最小值點
線性判別模型
線性判別只支持線性可分情況,否則模型參數學習不收斂。當然線性不可分情況可以改造成線性可分。
二分類器構造多分類器 p64
-
一對一
(很可能存在不確定區域)
- 逐步一對多:將 c 類問題逐步轉化個兩類分類問題。 第一個分類器將其中一個類樣本與其余各類樣本分開,
接著在其余各類中設計第二個分類器,直至僅剩下兩個分類器為止。對新樣本判別時,當判別結果對應1個類時,就輸出那個類,判別結果為多個類時,繼續判別。 -
一對多
(很可能存在不確定區域)
改進(線性機器):對于第i個輸出結果,不輸入符號函數進行判別,而是看作屬于第i類的可能性。對于m個下線性判別函數的值,取值最大的結果對應的類別作為輸出,不存在模糊區域。
線性機器分類策略
線性機器也存在重大缺陷:分類界面只能是
1 凸的(因為某邊界所在超平面必須使得這一類都在一側,而不可以將同一類的樣本分開)
2 單連通的(理由同上,分塊是廣義上的非凸)
此時稱為線性不可分
線性機器無法正確分類的數據分布模式簡單的一維情形也無法分類
-
廣義線性判別:
1 屬性先經過一個(非線性)單值函數,再利用常規的線性判別模型
2 高次推廣:加入原先屬性的高次項(或交叉項)作為新的屬性,仍按照線性判別模型
- 感知器 *p25
為了簡單,僅考慮兩類線性可分
將輸入向量進行增廣,因此僅需要考慮經過原點的超平面。首先確定正負類,將負類樣本乘以系數-1(樣本規范化,在樣本空間中進行了關于原點的中心對稱操作),后面都只考慮處理后的樣本(也就是訓練樣本的無差別對待,包括判斷分類正確性和權值更新)。正確樣本向量與法向量內積大于0(或夾角小于90°)
限制解區域- 尋找一個單位長度的解向量 a,能最大化樣本到分界面的最小距離(不過這樣就復雜了,還要進行極值求解)
- 尋找一個最小長度的解向量 a,使a‘yi>b. 此時可以將 b 稱為間隔 (margin)
在線性可分情形下,滿足上述不等式的 a 是無窮多的, 因此需要引入一個準則。僅考慮錯分樣本作為誤差,法向量以批錯誤樣本向量之和的方向進行調整(乘以學習速率),這樣法向量與錯誤樣本之間的夾角減小。
其它感知機誤差函數
-
松弛準則
松弛準則函數的梯度
松弛準則的更新公式 -
平方誤差準則(也就是最常見的線性模型最小二乘解)
線性模型最小二乘解
這里采用梯度下降對求解a(直接求Y的偽逆計算量太大)
梯度下降法權值更新公式
Ho-Kashyap Algorithm -
支持向量機
優點
理論基礎強;訓練容易;能夠避免過擬合
缺點
核函數選擇;C參數選擇;復雜度高
-
線性可分問題
函數間隔:y(wx+b),用于表示分類確信度
關于樣本點的函數間隔
關于數據集的函數間隔
更常用的是幾何間隔,物理意義是點到平面的有向距離
最大化距離的優化問題:
令函數距離為1,轉化為等價優化問題:
利用對偶問題求解優化問題
-
線性不可分問題
對于每一個樣本引入一個松弛變量,對約束進行放寬。將松弛變量視為代價,加到目標函數中
利用對偶問題求解上述優化問題
求解完上述問題后,對于松弛變量大于0的向量不是支持向量,小于等于0對應的向量是支持向量。
C表示裕量的
-### 非線性劃分
因此雖然需要非線性函數將原空間進行非線性映射,但是并不需要具體去求這個函數,只需要求內積形式的核函數
核函數的充要條件是對于任意輸入,形成的矩陣是半正定的
- 線性核:輸入向量的內積
-
高斯核:輸入向量之差的模經過高斯后的輸出
神經網絡
-
RBF網絡
一列的徑向基函數不相同;一個樣本產生p維輸出 Hopfield網絡
wij:從結點i 到結點 j 的連接權重,Hopfield網絡是對稱的
達到穩定狀態。穩定狀 態即為網絡的輸出受限玻爾茲曼機RBM p111
具有兩層結構(完全二部圖),層內結點不相連,信息可雙向流動-
自組織映射網絡SOM p109
競爭層結點之間并沒有連接,不過存在一種平面關系。SOM 獲勝神經元對其鄰近神經元的影響是由近及遠的,由興奮逐漸轉變為抑制。在學習算法中,不僅獲勝神經元本身要調整權向量(隱層到競爭層的連接權重),它周圍的神經元在其影響下也要不同程 度地調整權重。鄰域大小可隨時間增長而減小。
競爭層每一個結點都有各自的權向量,用于與輸入計算距離。當輸入得到后,每一個競爭層的結點的權重都與之計算距離,然后選出最小的距離對應的結點作為勝出者。
權向量更新公式 自動編碼機 Autoencoder
-
線性判別分析(LDA)
-
兩個類別的分類 p60
將樣本空間投影到一維空間,優化目標為
-
- 多個類別的分類
將樣本空間投影到N-1維空間(類別數減一),優化目標為
LDA不適合的情況
概率模型判別(生成模型)
由此導出貝葉斯判別準則:對于每一個樣本都選擇最小期望代價對應的類別,
對于不考慮錯判風險,只考慮準確率的任務,上述風險函數具體為0-1代價(風險):
此時最小風險決策具體為最小錯誤率決策,也就是后驗概率最大的對應的類別(類條件概率) p147:
-
貝葉斯分類器
貝葉斯分類器與貝葉斯學習有顯著區別,前者是通過最大后驗概率進行點估計,而后者是進行分布估計。
判別函數(用于計算c個類別對應的風險):
-
最小誤差判別:類條件分布假設為多元正態分布
一般類條件概率假設為多元正態分布模型,帶入最小誤差準則對應的判別函數中,得:
接著討論一些情況
-
每一類協方差矩陣都相等、樣本屬性之間線性無關、各屬性方差都相等
-
每一類協方差矩陣都相等
- 一般地,每一類協方差不相等
-
樸素貝葉斯分類器
求類條件概率時,考慮到樣本空間太大,因此假設樣本各屬性之間相互獨立,于是類條件概率可以寫成屬性類條件概率的乘積形式。這樣對于每一個概率,樣本空間都是一維的,根據樣本對求出每一個屬性的類條件分布。類的概率按照樣本占比進行估計。至此樣本學習完畢。
對于一個新的樣本進行歸類
按照窮舉法,對于每一個類別,由于類條件概率分布已知,根據樣本屬性求出各屬性的類條件概率(密度)值,按照上式進行相乘,這樣求出所有的類別的后驗值后進行排序,將最大值對應的概率進行輸出。離散概率分布估計 p153
離散的概率分布一般直接用樣本出現頻率來估計,比如類別的先驗概率。當樣本不充足或分布覆蓋不廣會導致估計概率為0(連續型概率分布不會遇到這種情況),很多時候0概率會帶來問題(例如樸素貝葉斯分類器,某個類條件屬性值為0,那么這個類條件概率直接為0)。因此需要進行平滑修正,一般采用拉普拉斯修正:對于每一類,給每一個離散屬性值額外賦予一個樣本。于是對于每一類,樣本數增加了Ni;總樣本數增加N-
參數法估計類條件概率
給定類別,假設對總體服從特定的概率分布形式,然后基于樣本對模型參數進行估計(一般是連續型分布,離散型直接通過出現頻率進行估計)。確定參數后,類條件概率p(x|c)就完全確定下來了。
參數估計有兩種派別,對應兩種方法:
- 極大似然估計法
由于樣本服從總體的分布,對于給定數目的樣本,可以構建聯合概率分布;由于樣本都是獨立同分布的,樣本聯合概率分布可以通過總體概率分布的連乘得到(帶參數)。由于樣本值已知,可以帶入樣本聯合概率分布中,得到只剩下模型參數為變量的似然函數。使得似然函數值最大的參數即為極大似然估計。 -
貝葉斯參數估計
貝葉斯后驗概率估計核心公式
其中參數因為不確定,就當作變量處理,因此具有分布p(θ),于是按照上述公式進行積分求得類條件分布p(x|D)。而根據數據可以減少參數不確定程度,也就是參數后驗概率p(θ|D)。
貝葉斯學習過程:在數據量越來越多的情況下,參數的不確定程度越來越小,體現為參數的后驗分布趨于尖峰狀
假設模型參數為正態分布
- 單變量情況p(μ|D):
求得均值參數的后驗概率:
根據貝葉斯概率估計公式,積分得到類條件分布:
-
多變量情況
假設參數和后驗概率都服從正態分布,協方差已知,均值向量為參數
-
遞歸貝葉斯學習
在線學習:新樣本對參數的后驗分布更新公式
例題:
假設類條件分布如上,帶有未知參數θ且已知上述參數服從如上分布(先驗知識)
對于x1 = 4:當θ<4時,p(x|θ)=0;當θ>10時,p(θ|D)=0;當4<θ<10時,p(x|θ)=1/θ,p(θ|D)=c,p(x|θ)p(θ|D)=1/θ. 因此
第一個數據到達后,參數的分布進行了更新
參數隨數據到來的分布更新從貝葉斯參數分布更新公式可以看出,參數在取值空間每一處的值是乘上一個系數(p(x|θ)在此參數值條件下,樣本處的概率值),因此區間是進行了放縮,且一旦某點的后驗概率更新為0,之后就始終為0. 因此參數的后驗概率只會越來越集中,最終形成尖峰。
-
EM算法
- 首先選擇參數的初值
-
注意是概率分布,因此需要考慮歸一化
-
非參數法估計類條件概率
樣本空間中某一點處的概率密度用樣本在其鄰域出現的頻率來估計:
其中等式左邊為需要估計的某一點處的概率密度,V為此點的一個鄰域,兩者乘積是一個概率值P(因為概率密度是一個無窮小的概率,在樣本空間上積分才是概率值)。k/n表示樣本在此鄰域內出現的頻率。對于給定的數據集,n固定,變量只剩下k和V. 固定k,稱為knn估計;固定V,稱為Parzen window估計。
-
Parzen window
推廣:不僅僅是鄰域內的樣本才對此點有貢獻,而是所有樣本根據距離遠近加權做出貢獻。實際上只要滿足概率密度要求的函數都可以
推廣的delta函數含義為:一個樣本,對于給定距離(向量)帶來的計數
對于每一個樣本,欲測量點處的概率密度為所有樣本對此點的概率密度影響之和的平均值
-
knn
knn分類器可以直接估計后驗概率(類條件概率也可以用knn進行估計)
- 泛化錯誤率不超過貝葉斯最優估計兩倍 p226
優點:簡單好用,容易理解,精度高,理論成熟,既可以用來做分類也可以用來做回歸; 可用于數值型數據和離散型數據;無數據輸入假定; 對異常值不敏感 。
缺點:當樣本不平衡時有可能導致樣本的 K個鄰居中大容量類的樣本占多數。計算量較大,及時響應性能不行。
快速近鄰搜索
- 部分距離判斷:在進行距離計算時,實際是計算差向量的模,也就是其各個分量的平方和后開方。為了減少乘積運算,一個分量一個分量計算相加,一旦累加和已經超過限定的距離平方后就停止運算,因為距離已經超過限定距離。
- 建立搜索樹:思想是:對于明顯行不通的方向,試都不要試。好比鑰匙丟了,肯定是在最近去的地方找,而不是地毯式找。
- 樣本簡化:雖然樣本數量很多,但是對分類邊界有貢獻的僅占少數,類似于SVM中支持向量是少數。通過去除冗余樣本可以降低計算復雜度。
降維與特征提取
高維有利于不同類別之間的區分
- 高維樣本空間帶來的困難 p227
數據樣本稀疏:對于一定量的樣本,樣本空間維數越大,樣本就越稀疏。可以反向理解:一定量的高維樣本空間中的樣本經過降維,樣本分布就會密集;低維線性不可分數據在高維線性可分
距離計算復雜
泛化困難
便于可視化 - 降維方法
- 針對樣本空間,線性變換降維方法(主成分導出)
-
重構與重構誤差 p230
一個樣本(即向量)可以由變換后的空間中的基底和對應坐標的線性組合表示(即重構表示,若重構維數相等,則是同一個向量),與原先空間的坐標表示之間的偏差稱為“重構誤差”:
-
投影方差最大化 p230
-
主成分 p231
-
上述兩個優化問題等價,運用向量求導法則,可得:
顯然解與隨機向量X的協方差陣的特征值和特征向量有關
-
保持樣本距離的非線性降維方法MDS p227
測地線距離:沿著空間表面的距離也稱“本真距離”。
高維直線距離:可以脫離表面的高維空間距離
注意,MDS僅僅是在低維空間保持樣本之間距離不變,但是并不保證樣本分布與高維分布同構。MDS假設高維直線距離唯一代表樣本的近似程度,而實際很多情況下這個假設并不合理:
-
流行學習
-
等度量映射Isomap
針對MDS的缺點,Isomap局部采用MDS,得到樣本低維分布:
Isomap算法 -
局部線性嵌入LLE
區別與Isomap保持局部樣本距離不變,LLE希望保持樣本之間相對位置不變
-
聚類分析
- 混合高斯分布 [pclm] p430
- k-means [pclm] p424
采用最大似然估計或最小均方誤差作為評價聚類的準則函數- 最大似然估計: 先假設總體服從k個高斯混合分布,再假設樣本屬于某類的后驗概率服從0-1分布,即距離樣本某類中心(因為假設服從高斯分布,因此有中心)最近,屬于那類的概率就為1,而屬于其他類的概率為0。為了找到各類中心,k-means使用的是最大期望迭代算法(EM): 先隨機挑選k個樣本作為類中心,利用0-1后驗概率,將樣本分為k類; 根據得到的k類,計算各類中心,返回上一步。停機條件是類中心不再發生變化。此時類中心就收斂到假設的k個高斯中心了。k-means算法的有效性和收斂性證明參考EM算法。
k-means -
最小均方誤差(適用于各類樣本平衡,云團分布):從一個類引出一個樣本會減少該類均方誤差; 但移入一個樣本至一個類會增加該類均方誤差。如果減 少量大于增加量,對這樣的樣本進行移動是有利于總體 誤差減少的。也可以進一步改變準則為:類內散度最小;類間散度最大
樣本類調整原則隨機劃分成c類,并計算c類的中心;接著隨機挑選樣本,判斷屬于哪一類,然后計算這個樣本若加入到其它類去引入的誤差和在本類中去除所減小的誤差;若引入誤差小于減小誤差,則進行個樣本轉移,并重新計算涉及到的兩個類別的均值;直到無法進行樣本轉移
- 最大似然估計: 先假設總體服從k個高斯混合分布,再假設樣本屬于某類的后驗概率服從0-1分布,即距離樣本某類中心(因為假設服從高斯分布,因此有中心)最近,屬于那類的概率就為1,而屬于其他類的概率為0。為了找到各類中心,k-means使用的是最大期望迭代算法(EM): 先隨機挑選k個樣本作為類中心,利用0-1后驗概率,將樣本分為k類; 根據得到的k類,計算各類中心,返回上一步。停機條件是類中心不再發生變化。此時類中心就收斂到假設的k個高斯中心了。k-means算法的有效性和收斂性證明參考EM算法。
kmeans局限性
必須事先給定簇的個數,且對初始值敏感
不適合于大小相差很大的簇
對噪聲、孤立數據點很敏感。
-
不適用于總體不滿足k個混合高斯分布假設的情況,也就是數據不是一個一個云團分布的。
散度準則
總類內散度跡最小準則:與類均方誤差最小準則是等價的。
類間散度最大準則
最小化總類內行列式準則 -
譜聚類
實際數據不服從高斯混合分布的情況更加普遍,由此引入譜聚類算法。
-
鄰接矩陣(權重矩陣)
元素為0說明對應的兩個頂點之間不相鄰(至于頂點自身相似度是多少,后面可以看到對角線元素對結果完全沒影響)
頂點度數
|A| 表示一個頂點集中頂點的個數; vol(A) 是頂點集中所有頂點度數之和
由數據生成鄰接矩陣(權重矩陣)的方式- ε-neighborhood
- k-nearest neighbor
- 全連接
-
拉普拉斯圖矩陣
未標準化的拉普拉斯圖矩陣兩種標準化的拉普拉斯圖矩陣
拉普拉斯圖矩陣的特點是:
1 半正定
2 0特征值對應的特征向量是全1向量
3 o特征值的重數表示原圖的連接子圖個數
圖切割
補充
-
凸優化問題*p100
- 拉格朗日乘子法 p403
- 對偶問題*p225
常見問題:
-
協方差矩陣不滿秩
(a)將協方差矩陣與單位矩陣進行平滑,得到非奇異矩陣。
(b)將協方差矩陣進行正交分解(譜分解)后,將為 0 的特征值置為一個很小的非零值(如 0.001).
距離度量
距離需要滿足的基本性質:
1 非負性 2 同一性(當且僅當兩輸入相等時,距離為0) 3 對稱性 4 三角不等式(不滿足此性質的稱為非度量距離p201)向量之間的距離
Minkowski:適用于有序屬性,常用的是Euclidean distance (p=2);還有曼哈頓距離(p=1)
-
tangent distance
因為OCR常見的仿射變換對歐氏距離影響很大,引入切空間距離。切空間距離不再是兩個向量之間的距離,而是樣本到另一個樣本生成的切空間的距離。切空間是由一些仿射變換"線性"組合(線性系數看作仿射變換參數)形成的空間。一個樣本到這個空間的距離也就是其到那個樣本的各種仿射變換的最短距離。當然這個切空間得是有限的(也就是仿射變換參數范圍有限),比如旋轉變換的角度需要控制在一定范圍內。缺點是訓練計算量大。
馬氏距離:同一分布的兩個樣本之間的距離;樣本與一總體之間的距離
樣本簇之間的距離
最大距離、最小距離、平均距離、中心距離
- 集成學習有效原因
p181 - 特征選擇動機
1.降維
2.探索關鍵因素 - 局部最小問題解跳出思路
1 重復、隨機初始化
2 模擬退火:以衰減的概率接受次優解
3 隨機梯度下降