一、基本形式
給定由d個屬性描述的示例x=(x1, x2, ..., xd),則線性模型(linear mdel)的預測函數f(x)是屬性的線性組合,用向量形式表示為f(x) = wTx + b。
線性模型蘊涵了機器學習中一些重要的基本思想。通過在線性模型中引入層次結構或高維映射,就可以得到更為強大的非線性模型(nonlinear model)。此外,線性模型也具有很好的可解釋性(comprehensibility)。
針對回歸任務、二分類任務、多分類任務,下文總結了幾種經典的線性模型。
二、線性回歸
給定數據集D = {(x1, y1), (x2, y2), ..., (xm, ym)},其中xi = (xi1; xi2; ...; xid), yi為實數。線性回歸(linear regression)試圖學得一個線性模型以盡可能准確地預測實值輸出標記(試圖學得f(xi) = wTxi+b,使得f(xi) ≈ yi)。
對於輸入的屬性,若k個屬性間存在序關系,則可以通過連續化轉化為連續值;若不存在序關系,則通常轉化為k維向量。
對於輸入屬性數目只有一個的情況,可以通過最小化均方誤差(亦稱為平方損失函數,square loss)來確定w和b,即
其中(w*, b*)表示w和b的解。
使用均方誤差,是因為它對應了常用的”歐式距離“(Euclidean distance)。基於均方誤差最小化來求解模型的方法稱為“最小二乘法”(least square method)。在線性回歸中,求解w和b使得E(w,b)最小的過程被稱為線性回歸模型的最小二乘“參數估計”(parameter estimation)。
求解方法:將E(w,b)分別對w和b求導,得到
令兩式為零,即可得到w和b最優解的閉式(closed-form)解
其中
更一般的情形,設樣本由d個屬性描述,此情形被稱為“多元線性回歸”(multivariate linear regression)。
類似地,可以用最小二乘法對向量w和b進行估計。設
則X是一個m×(d+1)大小的矩陣。記,標記y = (y1; y2; ...; ym)。則類似地,有
令,對
求導得
令上式 = 0。當XTX是滿秩矩陣時,有
否則,利用最小二乘法,求解方程組
此時可能會解出多個。選擇哪一個解輸出,將由學習算法的歸納偏好決定,常見的做法是引入正則化(regularization)項。
考慮單調可微函數g,令y=g-1(wTx + b),則得到“廣義線性模型”(generalized linear model),g稱為“聯系函數”(link function)。例如,當g(x)=lnx時,對應的模型即為對數線性回歸。 順便一提,對廣義線性模型的參數估計,常通過加權最小二乘法或極大似然法進行。
三、對數幾率回歸
對於分類任務,可以采用廣義線性模型。為此,希望找到某個可微函數,將分類任務的真實標記y與線性回歸模型的預測值聯系起來。比如說,考慮二分類任務,十分理想的是“單位階躍函數”(unit-step function, 亦稱Heaviside function)
但是單位階躍函數並不可微,不能作為聯系函數。因此,希望找到一定程度上近似單位階躍函數的“替代函數”(surrogate function),並希望它單調可謂。
一個選擇是“對數幾率函數”(logistic function),其定義如下
將對數幾率函數作為g-1(x) 代入y=g-1(wTx + b),即得到
經過變換得到
將y視為樣本x作為正例的可能性,則1-y是其反例的可能性,兩者的比值稱為“幾率”(odds),反映了x作為正例的相對可能性。對幾率取對數,則得到“對數幾率”(log odds, 亦稱logit)。因此,上式實際上是在用線性回歸模型的預測結果去逼近真實標記的對數幾率,其對應模型稱為“對數幾率回歸”(logistic regression, 亦稱logit regression)。雖然名字是回歸,實際則是一種分類學習方法。
對數幾率回歸的優點在於:可以直接對分類可能性建模,無需事先假設數據分布; 不僅可以預測出類別,還可以預測近似概率;對率函數任意階可導,有很好的數學性質。
在對數幾率回歸模型中,若將y視為類后驗概率估計p(y=1|x),則有
於是,可以用“極大似然法”(maximum likelihood method)估計w和b。詳細計算過程見書p.59。
四、線性判別分析
“線性判別分析”(Linear Discriminant Analysis, LDA)在二分問題上最早由[Fisher, 1936]提出,因此亦稱為“Fisher判別分析”。
LDA的思想是:設法將樣例投影到一條直線上,使得同類樣例的投影點盡可能接近、異樣例投影點盡可能遠離;對新樣本進行分類時,將其投影到直線上,再根據投影點的位置來確定新樣本的分類。
給定數據集,令Xi, μi, ∑i分別表示第i類示例的集合、均值向量、協方差矩陣。將數據投影到直線ω上。則欲使同類樣例投影點盡可能接近,即讓
盡可能小;要讓不同類樣例投影點盡可能遠離,即讓
盡可能大。同時考慮而者,則得到欲最大化目標
定義“類內散度矩陣”(within-class scatter matrix)
以及“類間散度矩陣”(between-class scatter matrix)
於是
此即LDA欲最大化的目標,即Sω與Sb的“廣義瑞利商”(generalized Rayleigh quotient)。
可以用拉格朗日乘子法來確定ω,解得。具體過程詳見書pp.61-63。
五、多分類學習
現實中常遇到多分類學習任務。基於一些基本策略,可以利用二分類學習器來解決多分類問題。不失一般性,考慮N個類別C1, C2, ..., CN,一個基本思路是“拆解法”,即將多分類任務拆解為多個二分類任務。
最經典的拆分策略有三種:“一對一”(One vs. One, OvO),“一對其余”(One vs. Rest, OvR),以及“多對多”(Many vs. Many, MvM)。
OvO:將N個類別兩兩匹配,在訓練階段為每一組配對訓練一個分類器,測試階段則將新樣本同時提交給所有分類器。最終通過投票產生被預測得最多的類別作為最終分類結果。
OvR:將每個樣例作為正例,其余樣例作為反例來訓練N個分類器。測試階段,若僅有一個分類器預測為正類,則對應類別標記作為最終結果;若有多個分類器預測為正類,則考慮各分類器的預測置信度,選擇置信度大的標記作為分類結果。
比較:OvO的存儲開銷及測試時間開銷高於OvR;但當類別很多時,OvO的訓練時間開銷比OvR小。預測性能則取決於數據分布,多數情形下兩者差不多。
MvM:每次將若干個類作為正類,若干個其它類作為反類。值得注意的是,正反例的構造需要特殊的設計,不可隨意選取。
一種常用的MvM技術是“糾錯輸出碼”(Error Correcting Output Code, ECOC)。ECOC工作步驟分為兩步:
- 編碼:對N個類別做M次划分,每次划分將一部分歸為正類,另一部分歸為反類,得到M個訓練集。
- 解碼:M個分類器對分類樣本進行預測,預測標記組成一個編碼。將此編碼與每個類別各自的編碼比較,返回其中距離最小的類別作為最終預測結果。
類別划分通過“編碼矩陣”(coding matrix)指定。常見的編碼矩陣的形式主要有:
- 二元碼:將每個類別分別指定為正類和反類
- 三元碼:在正反類之外,還可以指定“停用類”
概念比較抽象,有點難以理解。看一下書中給出的示例圖,可以由更直觀的感受。
從圖中可以看出,在測試階段,ECOOC編碼對分類器的錯誤有一定的容忍能力,這也是其名“糾錯輸出碼”的來由。
一般來說,對同一個學習任務,ECOOC編碼越長,糾錯能力越強,代價是分類器增多帶來的計算、存儲開銷;以及對於有限類別,組合數有限,編碼太長也會失去意義。另一方面,對於長度相同的編碼,距離越遠,糾錯能力越強。編碼較小時可以此原則確定理論最優編碼;而當編碼過長時,確定最優編碼則成為NP-難問題。不過,並非編碼的理論性質越好,分類器性能就越好。比如:一個理論性質很好、但導致的二分類問題較難的編碼,與另一個理論性質稍差、但導致的而分類問題比較簡單的編碼相比,最終產生的模型孰強孰弱很難說。
六、類別不平衡問題
類別不平衡(class-imbalance)是指分類任務中不同類別的訓練樣例數差別很大的情況。例如,在拆分法解決多分類學習任務時,即便原始問題的不同類別的訓練數據相當,在產生的而分類任務中仍然可能出現類別不平衡現象。因此有必要了解對類別不平衡的處理辦法。
在線性分類器中,一個基本策略是“再縮放”(rescaling),也稱“再平衡”(rebalance)。其思想是:當訓練集中正、反例不同時,令m+表示正例數,m-表示反例數,則觀測幾率為m+ / m-。假設訓練集是真實樣本總體的無偏采樣,則觀測幾率就代表了真實幾率。因此,當y / (1 - y) > m+ / m-時,預測為正例。即令,再將閾值設為1,當預測值大於1時預測為正例,即可。順便一提,再縮放也是“代價敏感學習”(cost-sensitive learning)的基礎。
然而在現實中,“訓練集是真實樣本總體的無偏采樣”的假設往往並不成立,因此未必能有效地基於訓練集的觀測幾率推斷真實幾率。現有技術有三類解決辦法:
- 欠采樣(undersampling):去除一些反例使得正、反例數目相近,再進行學習。
- 過采樣(oversampling):增加一些正例使得正、反例數目相近,再進行學習。需要考慮過擬合問題。代表性算法是SMOTE,通過對訓練集里的正例進行插值來產生額外的正例。
- “閾值移動”(threshold-moving):基於原始訓練集學習,但在預測時將再縮放策略嵌入到決策過程中。