《機器學習》– 第三章 廣義線性模型

  • 2019 年 10 月 5 日
  • 筆記

3.2.3 廣義線性模型

generalized linear model

線性模型雖然簡單,但卻有豐富的變化。

對於樣例

,當我們希望線性模型(3.2)(見上節內容:

線性模型)的預測值逼近真實標記

時,就得到了線性回歸模型,我們將模型簡寫為式3.13:

有時像上面這種原始的線性回歸可能並不能滿足需求,例如:

值並不是線性變化,而是在指數尺度上變化。這時我們可以採用線性模型來逼近

的衍生物,例如

,這時衍生的線性模型(式3.14)如下所示,實際上就是相當於將指數曲線投影在一條直線上,如下圖所示:

generalized_linear_model

式3.14在形式上仍然式線性回歸,但實質上已經式在求輸入空間到輸出空間的非線性函數映射。

一般地,考慮所有

的衍生物的情形,就得到了「廣義的線性模型」(generalized linear model)(式3.15)

其中,

單調可微(即連續且充分光滑),稱為聯繫函數(link function)。

3.3 對數幾率回歸

線性模型可以應用於回歸學習問題,利用上述廣義線性模型的特徵,是否可以通過一個聯繫函數,將預測值轉化為離散值從而進行分類任務的學習呢?

考慮二分類任務,其輸出標記

,而線性回歸模型產生的預測值

是實值,於是我們需要將其轉化為 0/1,最理想的是"單位階躍函數" (unit-step function)

unit_step_function

由上圖可知單位階躍函數不連續,因此不能作為廣義線性模型中的聯繫函數,於是我們希望找到能在一定程度上近似單位階躍函數的」替代函數「 (surrogate function),並且它可以作為聯繫函數(單調可微)

對數幾率函數(logistic function)正是替代函數之一,可將預測值投影到 0-1之間,從而將線性回歸問題轉化為二分類問題。(式3.17)

對數幾率函數也是一種」Sigmoid 函數「 (即形似 S 的函數)。

將式 3.17 代入式 3.15 即可得到(式3.18)

基於式 3.14的變換方式,可得到(式3.19)

若將

看做樣本為正例的概率,

則為反例的概率,兩者比值稱為」幾率「 (odds), 反映了樣本作為正例的相對可能性。對幾率取對數則得到」對數幾率「 (log odds,亦稱 logit)(式3.20, 3.21)

由此可看出,式3.18 實際上是在用線性回歸模型的預測結果取逼近真實標記的對數幾率,因此這個模型稱為「對數幾率回歸」(logistic regression,或 logit regression),即「邏輯回歸」。

它的優點在於直接對分類可能性進行建模,無需事先假設數據分布,這樣就避免了假設分布不準確所帶來的問題;不僅可以預測類別,也可得到近似概率預測;對數幾率函數是任意階可導的凸函數,現有的許多數值優化演算法都可直接用於求取最優解。

邏輯回歸(對數幾率回歸)帶有2個主要假設:

(1)假設數據服從伯努利分布

(2)假設模型的輸出值是樣本為正例的概率

若將式3.18中的

視為類後驗概率估計

,則式3.19可重寫為(式3.22)

因為

,於是我們可以得到(式3.23, 3.24)

於是,可以使用極大似然估計的方法(maximum likelihood estimation, MLE)來計算出

兩個參數

對於給定的訓練數據集

,該數據集出現的概率(即似然函數)為

對似然函數取對數得到「對數似然」(log-likelihood)

極大似然最簡單的理解就是:樣本所展現的狀態便是所有可能狀態中出現概率最大的狀態。即令每個樣本屬於其真實標記的概率越大越好。為便於討論,令

於是似然項可以重寫為

將式3.26,3.23,3.24帶入式3.25,則可以轉化式3.25為

代入得到

綜合上式即可得到

而損失函數即為對數似然函數的相反數,對於對數似然函數(高階可導連續凸函數)求最大值,即是求其相反數的最小值,即損失函數的最小值。根據凸優化理論,經典的數值優化演算法如梯度下降法(gradient descent method)、牛頓法(Newton method)等都可求得其最優解,於是就得到(式3.28)

注: 邏輯回歸的損失函數「對數似然函數(的相反數)」,在模型GBDT分類情況下也會用到,又叫作「交叉熵」(cross-entropy,描述兩組不同概率數據分布的相似程度,越小越相似)。

用一句話來描述邏輯回歸的過程:邏輯回歸假設數據服從伯努利分布,通過極大化似然函數的方法,運用梯度下降來求解參數得出分類概率,通過閾值過濾來達到將數據二分類的目的。

3.4 線性判別分析

3.5 多分類學習

3.6 類別不平衡問題

前面介紹的分類學習方法都有一個共同的基本假設,即不同類別的訓練樣例數目相當,如果不同類別的訓練樣例數目稍有差別,通常影響不大,但若差別很大,則會對學習過程造成困擾

例如有998個反例,但正例只有2個,那麼學習方法只需返回一個永遠將新樣本預測為反例的學習器,就能達到99.8%的精度,然而這樣的學習器往往沒有價值,因為它不能預測出任何正例。

類別不平衡(class-imbanlance)就是指分類問題中不同類別的訓練樣本相差懸殊的情況,常見的做法有三種:

  1. 在訓練樣本較多的類別中進行「欠取樣」(under-sampling / down-sampling),即去除一些樣本,比如從反例中采出100個,常見的演算法有:EasyEnsemble,其利用集成學習機制,將反例劃分為若干個集合供不同學習器使用,這樣對每個學習器來看都進行了欠取樣,但在全局來看不會丟失重要資訊。
  2. 在訓練樣本較少的類別中進行「過取樣」(oversampling / up-sampling),例如通過對正例中的數據進行插值,來產生額外的正例,常見的演算法有SMOTE(Synthetic minority over-sampling technique)。
  3. 直接基於原數據集進行學習,對預測值進行「再縮放」(rescaling / re-balance)處理。其中再縮放也是代價敏感學習的基礎。

前兩種方法都關注於對於數據樣本進行均衡,而第三種方法則是關注於對預測結果進行均衡,稱為「閾值移動」 (threshold-moving)。

以邏輯回歸應用在二分類問題為例,當我們在用

對新樣本進行預測的時候,事實上是在用預測出的

值與閾值進行比較,對於邏輯回歸而言,因為聯繫函數的分段點在

的位置,即在幾率大於 1 時判定為正例,反之為反例。(式3.46)

但是當訓練集中正/反例的數目不同時,令

表示正例數目,

表示反例數目,則觀測幾率是

,由於我們通常假設訓練集是真實樣本總體的無偏取樣,因此觀測幾率就代表了真實幾率,於是,只要分類器的預測幾率高於觀測幾率就應判定為正例,即(式3.47)

由於分類器是基於式3.46 進行決策,因此需要對其結果進行調整,使其執行式3.47,於是我們只需要令(式3.48)

這就是在決策過程中進行了再縮放。

3.7 閱讀材料

「稀疏表示」 (sparse representation) 近年來很受關注(詳細見第十一章),但即便對多元線性回歸這樣簡單的模型,獲得具有最優「稀疏性」 (sparsity)的解也並不容易。稀疏性問題本質上對應了

範數的優化,這在通常條件下是NP難問題。LASSO通過

範數來近似

範數,是求取稀疏解的重要技術。

可以證明,OvO和 OvR 都是ECOC的特例[Allwein et al., 2000]),人們以往希望設計通用的編碼法, [Crammer and Singer, 2002]提出要考慮問題本身的特點,設計「問題依賴」的編碼法,並證明尋找最優的離散編碼矩陣是一個NP完全問題,此後,有多種問題依賴的 ECOC編碼法被提出,通常是通過找出具有代表性的二分類問題來進行編碼,[Escalera et al., 2010]開發了一個開源ECOC庫.

MvM除了ECOC還可有其他實現方式,例如DAG (Directed Acyclic Graph)拆分法將類別劃分表達成樹形結構,每個結點對應於一個二類分類器,還有一些工作是致力於直接求解多分類問題,例如多類支援向量機方面的一些研究[Crammer and Singer, 2001; Lee et al, 2004])

代價敏感學習中研究得最多的是基於類別的「誤分類代價」 (misclassification cost), 代價矩陣如表2.2所示,在提及代價敏感學習時,默認指此類情形,已經證明,對二分類任務可通過「再縮放」獲得理論最優解[Elkan,2001],但對多分類任務,僅在某些特殊情形下存在閉式解[Zhouand Liu, 2006]。

非均等代價和類別不平衡性雖然都可藉助「再縮放」技術,但兩者本質不同[Zhou and Liu, 2006b]。需注意的是,類別不平衡學習中通常是較小類的代價更高,否則無需進行特殊處理。

多分類學習中雖然有多個類別,但每個樣本僅屬於一個類別,如果希望為一個樣本同時預測出多個類別標記,例如一幅影像可同時標註為「藍天」、「白雲」、「羊群」、「自然場景」 ,這樣的任務就不再是多分類學習,而是「多標記學習」 (multi-label learning),這是機器學習中近年來相當活躍的一個研究領域。

本文項目地址:

https://github.com/firewang/lingweilingyu/blob/master/contents/Machine_Learning_Zhi-Hua_Zhou.md

參考網址:

  • https://blog.csdn.net/qq_39355550/article/details/81809467
  • https://blog.csdn.net/class_brick/article/details/79724660
  • https://blog.csdn.net/z_x_1996/article/details/70176819
  • http://www.huaxiaozhuan.com/
  • https://datawhalechina.github.io/pumpkin-book/#/chapter3/chapter3
  • 周志華 著. 機器學習, 北京: 清華大學出版社, 2016年1月.

PS:

1. 後台回復"MIT", "Pycharm","線性代數"等獲取資源鏈接

2. 後台回復「聯繫「, 「投稿「, 「加入「 等任一關鍵詞聯繫我們

3. 後台回復 「紅包」 領取紅包

零維領域,由內而外深入機器學習

dive into machine learning

微訊號:零維領域

英文ID:lingweilingyu