《機器學習》(二)——《西瓜書》3章

語言: CN / TW / HK

線性模型基本形式

給定由d個屬性描述對的示例x = (x_{1};x_{2};...;x_{d}),其中{x_{i}}是第i個屬性上的取值,線性模型試圖學得一個通過屬性的線性組合來進行預測的函數,即

image.png

一般用向量形式表示寫成

線性迴歸

線性迴歸試圖學得

利用均方誤差進行度量,讓均方誤差最小化,即

均方誤差對應常用的歐幾里得距離或簡稱“歐式距離”。基於均方誤差最小化進行模型求解的方法稱為“最小二乘法”。在線性迴歸中,最小二乘法就是試圖找到一條直線,使得所有樣本到直線的歐式距離之和最小。

求解w和b使得均方誤差最小化的過程,稱為線性迴歸模型的最小二乘“參數估計”。我們將均方誤差分別對w和b求導,得到

令上兩式為零可得到w和b最優解的閉式解

更一般的情形是數據集D,樣本由d個屬性描述。此時我們試圖學得

這稱為“多元線性迴歸”。 類似地,可利用最小二乘來對w和b進行估計。為方便討論,把w和b吸收如向量形式相應地,把數據集D表示為一個大小的矩陣X,其中每行對應一個示例,改行前d個元素對應於示例的d個屬性值,最後一個元素恆置為1,即

再把標記寫成向量形式則有

為滿秩矩陣或正定矩陣時,令上式為零可得的   

當其不是滿秩矩陣,即我們常遇到大量的變量,其數目超過樣例數,導致X的列數多於行數,顯然不滿秩。此時可解除多個\hat{w},他們都能使均方誤差最小化。選擇哪一個作為輸出,將由學習算法的歸納偏好決定,常見的做法是引入正則化項。

假設我們認為示例所對應的輸出標記是在指數尺度多行變化,那就可將輸出標記的對數作為先行模型逼近的目標,即

這就是“對數線性迴歸”。同時實際上是在試圖讓逼近y。實質已是求輸入空間到輸出空間的非線性函數映射。

更一般地,考慮單調可微函數g(.),令

這樣得到的模型稱為“廣義線性模型(generalized linear model)”,其中函數g(.)稱為“聯繫函數”。顯然,對數線性迴歸是廣義線性模型在g(.)=ln(.)時的特例。

對數機率迴歸

對於分類任務,只需找一個單調可微函數將分類任務的真實標記y與線性迴歸模型的預測值聯繫起來。考慮二分類任務,其輸出標記,而線性迴歸模型產生的預測值是實值,於是,只需將實值轉換為0/1值。最理想的是“單位階躍函數”

即預測值z大於零就判為正例,小於零則判為反例,預測值為臨界值零則可任意判別。

但單位階躍函數不連續,我們希望找到能在一定程度上近似單位階躍函數的“替代函數”,並單調可微。對數機率函數(logistic function)即為這樣一個替代函數:

對數機率函數是一種“sigmoid函數”,它將z值轉化為一個接近0或1的y值,並且其輸出在z=0附近變化很陡,則

若將 y 視為樣本 x 作為正例的可能性,則 1-y 是其反例可能性,兩者的比值

稱為“機率(odds)”,反映了 x 作為正例的相對可能性。對機率取對數則得到“對數機率(log odds,亦稱logit)”

從上可以看出,實際上是用線性迴歸模型的預測結果去逼近真實標記的對數機率,因此,其對應模型稱為“對數機率迴歸”。

估計對數機率迴歸的 w 和 b。若將 y 視為類後驗概率估計

顯然有

利用極大似然法來估計 w 和 b。給定數據集,對對率迴歸模型最大化“對數似然”

線性判別分析Fisher

線性判別分析LDA(Linear Discriminant Analysis)是一種經典的線性學習方法,亦稱“Fisher 判別分析”。

LDA思想:給定訓練樣例集,設法將樣例投影到一條直線上,使得同類樣例的投影點儘可能接近、異類樣例的投影點儘可能遠離;在對新樣本進行分類時,將其投影到同樣的這條直線上,再根據投影點的位置來確定新樣本的類別。

image.png

給定數據集分別表示第類示例的集合、均值向量、協方差矩陣。若將數據投影到直線 w 上,則兩類樣本的中心在直線上的投影分佈為 w^{T}u_{0} 和 w^{T}u_{1};若將所有樣本點都投影到直線上,則兩類樣本的協方差分別為w^{T}\Sigma _{0}w 和 w^{T}\Sigma _{1}w

欲使同類樣例的投影點儘可能接近,可以讓同類樣例投影點的協方差儘可能小,即w^{T}\Sigma _{0}w + w^{T}\Sigma _{1}w儘可能小;而欲使異類樣例的投影點儘可能遠離,可以讓類中心之間的距離儘可能大,即||w^{T}u_{0} - w^{T}u_{1}||_{2}^{2} 儘可能大。同時考慮二者,則可得到欲最大化的目標

image.png

多分類學習

現實任務中常遇到多分類學習任務。有些二分類學習方法可直接推廣到多分類,利用二分類學習器來解決多分類問題。

考慮N個類別 C1、C2、.....Cn,多分類學習的基本思路是“拆解法”,即將多分類任務拆為若干個二分類任務求解。

最經典的拆分策略有三種:一對一(one vs one ,OvO)、一對其餘(one vs rest,OvR)和多對多(many vs many,MvM) 。

image.png

OvO將 N 個類別兩兩配對,從而產生 N(N-1)/2 個二分類任務;

OvR則每次將一個類的樣例作為正例、所有其他類的樣例作為反例來訓練N 個分類器。

OvR只需要訓練N個分類器,而OvO需訓練 N(N-1)//2 個分類器,因此OvO的存儲開銷和測試時間開銷通常比OvR更大。但在訓練時,OvR的每個分類器均使用全部樣本進行訓練,而OvO的每個分類器僅用到兩個類別的樣例,因此,在類別很多時,OvO的訓練時間開銷通常比OvR更小。至於預測性能,則取決於具體的數據分佈,在多數情況下兩者差不多。

MvM 是每次將若干可類作為正類,若干個其他類作為反類。顯然,OvO和OVR 是MvM 的特例。

類別不平衡問題

類別不平衡就是指分類任務中不同類別的訓練樣例數目相差很大的情況。即使原始問題中不同類別訓練樣例數目相當,在使用OvR、MvM策略後仍可能出現類別不平衡現象。

現假設正例樣本較少、反例較多。

處理方法——再縮放:欠採樣,過採樣、閾值移動

欠採樣:直接對訓練集中反類樣例進行“欠採樣”,即去除一些反例使得正、反數目接近,再進行學習;

過採樣:增加一些正例使得正、反數目接近,然後再進行學習

閾值移動:直接基於原始訓練集進行學習,但在用訓練好的分類器進行預測時,將嵌入到其決策中。

上式中y表達了正例的可能性,機率反映了正例可能性與反例可能性之比值,m+表示正例數目、m-表示反例數目,則觀測機率是

欠採樣的時間開銷通常遠小於過採樣發,因為前者丟棄了很多反例,使得分類器訓練集遠小於初始訓練集。

再縮放 也是 代價敏感學習 的基礎。在代價敏感學習中將 代替即可,其中是將正例誤分為反例的代價,是將反例誤分為正例的代價。