《機器學習》第二次作業——第四章學習記錄和心得


《機器學習》第四章學習記錄和心得

線性判據與回歸

思維導圖

1.線性判據基本概念

生成模型

概念:給定訓練樣本 {𝒙𝑛},直接在輸入空間內學習其概率密度函數𝑝(𝒙)。
優勢:可以根據𝑝 𝒙 采樣新的樣本數據(synthetic data);可以檢測出較低概率的數據,實現離群點檢測

劣勢;如果是高維的𝒙,需要大量訓練樣本才能准確的估計𝑝 𝒙 ;否則,會出現維度災難問題

判別模型

概念:給定訓練樣本 {𝒙𝑛},直接在輸入空間內估計后驗概率𝑝 (𝐶𝑖|𝒙 ),在分類任務中,后驗概率分布𝑝(𝐶𝑖|𝒙)相當於直接從輸入樣本𝒙映射到類別輸出𝐶𝑖 的判別函數𝑓(𝒙),即判別模型
優勢:快速直接、省去了耗時的高維觀測似然概率估計

線性判據

定義:如果判別模型𝑓(𝒙)是線性函數,則𝑓(𝒙)為線性判據。可以用於兩類分類,決策邊界是線性的。也可以用於多類分類,相鄰兩類之間的決策邊界也是線性的。
優勢:計算量少:在學習和分類過程中,線性判據方法都比基於學習概率分布的方法計算量少。適用於訓練樣本較少的情況

模型


判別公式

決策邊界

𝒘垂直於決策邊界上的任何向量,即𝒘垂直於決策邊界H,是H的法向量
𝑤0的作用:決定了決策邊界的偏移量,使其能夠滿足兩個類輸出值分別為正負
任意樣本𝒙到決策邊界的垂直距離為:r=W0/||W||,可見,𝑤0決定決策邊界相對於坐標原點的位置

2.線性判據學習概述

監督式學習(訓練)過程:基於訓練樣本{𝒙1, 𝒙2, … , 𝒙𝑁}及其標簽{𝑡1,𝑡2, … ,𝑡𝑁} ,設計目標函數,學習𝐰和𝑤0

識別過程:將待識別樣本𝒙帶入訓練好的判據方程

參數空間&解域

解不唯一

由於訓練樣本個數通常會遠遠大於參數個數(𝒘的維度+ 𝑤0的維度),所以線性判據滿足條件的解不唯一

參數空間&解域

參數空間:由各個參數維度構成的空間。
參數的每個可能解相當於是參數空間的一個向量。
解域:在參數空間內,參數的所有可能解所處的范圍

目標函數

設計目標函數:目標函數反映了如何實現有效決策的核心思想
目標函數的求解:最小化/最大化目標函數
可以在學習算法中加入約束條件,提高泛化能力,加入約束后,使得解域范圍收縮

3.並行感知機算法

根據目標函數的不同,我們可以設計不同的線性判據算法

感知機算法:預處理

目的:根據標記過的訓練樣本 (𝒙𝑛,𝑡𝑛) ,學習模型參數:𝐰, 𝑤0
預處理:
1.將兩個參數合為一個參數a
2.將𝐶2類的訓練樣本全部取反
幾何解釋:在幾何上,通過在特征空間上增加一個維度,使得決策邊界可以通過原點(𝑤0項)。翻轉𝐶2類的樣本:得到一個平面使得所有樣本位於該平面同一側

並行感知機:目標函數

思想:被錯誤分類的樣本最少
目標函數:針對所有被錯誤分類的訓練樣本(即輸出值小於0的訓練樣本),其輸出值取反求和
最小化該目標函數:取目標函數關於 𝒂 的偏導(即梯度)

梯度下降法

使用當前梯度值迭代更新參數。
更新的方向(正負):假設在k=1迭代時刻,參數取值𝒂1情況下,每個維度的梯度反方向就是該維度往目標函數最小值收斂的最速下降方向
更新的大小:每個維度的梯度幅值代表參數在該維度上的更新程度。通常加入步長(𝜂𝑘)來調整更新的幅度。每次迭代可以用不同的步長。

算法流程

初始化參數:a0, 步長𝜂(∙),閾值τ。通常,參數𝒂初始值設為𝒂0=0.
迭代更新:基於當前梯度更新參數𝒂,更新集合𝒀𝑘
停止迭代:所有訓練樣本的輸出值都大於0,或者更新值小於閾值𝜏。

4.串行感知機算法

適用情況:訓練樣本是一個一個串行給出的

目標函數

思想:當前樣本被錯誤分類的程度最小。被錯誤分類的樣本𝒚𝑛,輸出值𝑓(𝒚𝑛)是負數。同時,根據幾何意義,輸出值的絕對值越大,錯誤的程度越大。
目標函數:如果當前訓練樣本被錯誤分類,最小化其輸出值取反

最小化目標函數:取關於參數向量𝒂的偏導

算法流程

1.初始化參數:𝒂0, 步長𝜂 ∙ 。
2.迭代更新:遍歷所有樣本,當𝒂𝑘𝑇𝑦 < 0時,更新參數𝒂。
3.停止迭代:所有訓練樣本的輸出值都大於0。
4.通常,參數𝒂初始值設為𝒂0 = 𝟎或者𝒂0 = 𝒚1。

感知機:收斂性

收斂性:如果訓練樣本是線性可分的,感知機(並行和串行)算法理論上收斂於一個解
--全局最優與局部最優--

步長與收斂性

1.步長決定收斂的速度、以及是否收斂到局部或者全局最優點。
2.如果目標函數J(a)滿足L-Lipschitz條件(對於任意a,存在一個常數L,使得|J(a)|<L成立),則步長𝜂 = 1/ 2𝐿 可確保收斂到局部最優點。 如果目標函數J(a)是凸函數,局部最優點就是全局最優點

提升感知機的泛化能力

加入Margin約束

當樣本位於決策邊界邊緣時,對該樣本的決策有很大的不確定性,加入margin約束條件,修改錯誤分類的標准。
最小化目標函數:取關於參數向量𝒂的偏導

5.Fisher線性判據

線性判據的模型可以看做是把原空間各點𝒙投影到新的一維空間𝑦。
設計動機
1.𝒘的方向不同,對應不同的投影結果。
2.怎么樣學習𝒘,使得二類可以有效分開。

Fisher判據基本原理

找到一個最合適的投影軸,使兩類樣本在該軸上投影的重疊部分最少,從而使分類效果達到最佳。
最佳標准之一:投影后,使得不同類別樣本分布的類間差異盡可能大,同時使得各自類內樣本分布的離散程度盡可能小。

類間樣本的差異程度:用兩類樣本分布的均值之差度量
類內樣本的離散程度:用每類樣本分布的協方差矩陣表征
在投影軸𝐰上:最大化如下目標函數

優化目標函數

最優參數解

𝒘最優解:
1.求解最優的𝐰:無需求解特征值
2.忽略標量項,因為只需要考慮方向
𝑤0的解:
1.將所有樣本的均值投影到坐標原點

決策邊界

方程:

訓練算法流程

算法 Fisher判據訓練過程
輸入:兩個類的訓練樣本集
輸出:參數𝒘和 𝑤0;
步驟1:統計兩個類的樣本個數N1和N2;
步驟2:分別計算兩個類的均值𝝁1和𝝁2,以及協方差矩陣𝜮1和𝜮2 ;
步驟3:計算所有樣本的均值𝝁;
步驟4:計算矩陣𝑺𝑊 = 𝑁1𝜮1 + 𝑁2𝜮2;
步驟5:計算參數

6.支持向量機基本概念

如果兩個類是線性可分的,則存在着多個線性決策平面用作決策邊界。感知機從最小化分類誤差角度來設計。Fisher線性判據首先降維到一維空間,從最大化類間距離同時最小化類內散度的角度來設計。
如何擁有更好的泛化性能?

設計思想

給定一組訓練樣本,使得兩個類中與決策邊界最近的訓練樣本到決策邊界之間的間隔最大
間隔:在兩個類的訓練樣本中,分別找到與決策邊界最近的兩個訓練樣本,記作𝒙+和𝒙−,𝒙+和𝒙−到決策邊界的垂直距離叫作間隔,記作𝑑+和𝑑−

支持向量的概念

決策邊界記作Π,平行於Π且分別通過 𝒙+ 和 𝒙− 的兩個超平面記作Π+和Π-,稱為間隔邊界。沒有任何訓練樣本落在這兩個超平面中間的間隔區域。位於超平面Π+和Π-上的樣本被稱為支持向量(Support vector)。
支持向量在確定決策邊界Π中起到核心作用。

分類器

在支持向量機中,正負類訓練樣本輸出真值分別用+1和-1來表達
支持向量:
當𝒙𝑛是支持向量時,等式成立,
例如, 𝒙+和𝒙−

間隔計算:
總間隔:

目標函數

支持向量機的目標:最大化總間隔,等價於最小化| 𝒘 |

7.拉格朗日乘數法

支持向量機的目標函數是一個條件優化問題,拉格朗日乘數法(Lagrange Multiplier)是常用的解決該類問題的方法

等式約束

函數在等高面上任意一點的梯度方向與其等高面(切線方向)正交,且朝向(即正方向)函數值較高的方向。
𝑓(𝒙)的極值點𝒙∗必須位於曲線𝑔 𝒙 = 0上。
搜尋極值點𝒙∗:沿着𝑔 𝒙 = 0的切線方向、向着𝑓 𝒙 負梯度方向移動。當出現沿着切線方向、無法再向𝑓 𝒙 負梯度方向移動時停止。

等式約束優化求解思路

此時,在該點,𝑓(𝒙)等高線與𝑔 𝒙 = 0相切,即𝑓(𝒙)與𝑔 𝒙 梯度方向在同一直線上,該點為𝑓(𝒙)的極值點𝒙∗。
𝑓(𝒙)與𝑔 𝒙 的梯度記作𝛻𝑓 𝒙 和𝛻𝑔 𝒙 。如果是等式約束,在極值點𝒙∗上, 𝛻𝑓 𝒙∗和𝛻𝑔 𝒙∗ 的方向必然平行,可能同向或反向,梯度的幅值可能不同

拉格朗日函數


拉格朗日函數滿足駐點條件和約束條件

等價優化問題

等式約束問題可以轉換為等價的不帶約束的優化問題

情況1:極值點落在可行域內:
這種情況下,約束條件不起作用。直接通過𝛻𝑓 𝒙 = 0獲得極值點
情況2:極值點落在可行域邊界
假設極值點落在了可行域邊界,即極值點位於區域𝑔 𝒙 = 0區域。
搜尋極值點𝒙∗:當出現沿着𝑔 𝒙 = 0切線方向、無法再向𝑓 𝒙 負梯度方向移動時停止。在該點,𝑓(𝒙)等高線與𝑔 𝒙 = 0相切,該點為𝑓(𝒙)的極值點𝒙∗。
對於不等式約束,在極值點𝒙∗,𝑓 𝒙 與𝑔 𝒙 的負梯度方向平行且相反。梯度的幅值可能不同。

不等式約束:對偶可行性

無論是𝑔 𝒙 < 0(𝜆 = 0)還是𝑔 𝒙 = 0(𝜆 > 可行域0)的約束情況,始終存在一個𝜆 ≥ 0(對偶可行性),滿足:𝜆g(x)=0

KKT條件&等價優化問題

在𝑔 𝒙 ≤ 0約束條件下最小化𝑓(𝒙)的問題,可以轉化為如下約束條件(KKT條件)下的拉格朗日函數優化問題:

8.拉格朗日對偶問題

不等式約束:拉格朗日乘數法


主問題:根據原問題的約束條件 ,對於𝛾𝑗的任意取值,拉格朗日函數第三項都可以消去,拉格朗日函數𝐿(𝒙,𝚲, 𝚪)關於𝚲, 𝚪的最大值就是𝑓(𝒙)
針對不等式約束,主問題難以求解

拉格朗日對偶函數

取拉格朗日函數關於𝒙在其可行域內的最小值,記作𝐿d

對偶函數𝐿𝐷給出了主問題最優值的下界
該下界只跟對偶變量𝚲和𝚪有關,與𝒙無關

對偶問題

針對𝚲 > 0和𝚪,最大化對偶函數𝐿𝐷,得到主問題的對偶問題

對偶函數的凹凸性

對偶函數是以𝚲和𝚪為自變量的、與𝒙無關。因此,里面的拉格朗日函數𝐿看做關於對偶變量𝚲和𝚪的仿射組合。對偶函數𝐿𝐷則是拉格朗日函數𝐿的逐點(pointwise)最小值函數。逐點最小值函數min是凹函數
由於逐點最大化函數是凹函數,且拉格朗日函數可以看做關於對偶變量的仿射組合,所以對偶函數𝐿𝐷是凹函數由於目標函數𝐿𝐷是凹函數,約束條件是凸函數,所以對偶問題是凸優化問題

對偶問題是凸優化

無論主問題的凸性如何,對偶問題始終是一個凸優化問題。凸優化的性質:局部極值點就是全局極值點。所以,對偶問題的極值是唯一的全局極值點。因此,對於難以求解的主問題(例如,非凸問題或者NP難問題),可以通過求解其對偶問題,得到原問題的一個下界估計。

弱對偶性

設對偶問題的最優值為𝑑∗、主問題的最優值為𝑝∗,對於所有的優化問題都存在𝑑∗<=𝑝∗

強對偶性

𝑑∗=𝑝∗
如果強對偶性成立,則對偶問題獲得主問題的最優下界

9.支持向量機學習算法

帶不等式約束的優化問題,使用拉格朗日對偶法求解
構建對偶函數

如何針對𝑤和𝑤0求解最小化

1.在極值點計算| 𝑤 |2
2.在極值點計算拉格朗日函數第二項

3.在極值點得到𝐿d

對偶函數的約束條件

對偶函數是關於𝚲的函數,所以約束條件只需考慮𝚲的相關項
對偶可行性:對於不等式約束,構建拉格朗日函數必須滿足對偶可行性條件
對偶問題:最大化該對偶函數得到最優的𝜦。得到最優的𝜦。即可得到最優的參數𝒘和𝑤0

求解對偶問題

這是標准的關於𝜆的二次規划(quadratic programming)問題。可以調用Matlab提供的quadprog函數來求解。

求解支持向量

用二次規划求解得到最優的𝜦∗,包含𝑁個最優的拉格朗日乘數

𝑤最優解

根據找到的支持向量𝒙𝑛以及對應的拉格朗日乘子𝜆𝑛∗ 構建𝒘∗

𝑤0最優解

根據支持向量機定義的約束條件,針對任意一個支持向量Xs

決策過程

識別決策
給定一個測試模式𝒙𝑡𝑒𝑠𝑡,支持向量機分類器可表達為

𝒘 和 𝑤0 的學習過程實際上是從訓練樣本中選擇一組支持向量,並將這些支持向量存儲下來,用作線性分類器

10.軟間隔支持向量機

軟間隔:克服過擬合
有些訓練樣本帶有噪聲或者是離群點,如果嚴格限制所有樣本都在間隔區域之外,噪聲點可能被選做支持向量,使得決策邊界過於擬合噪聲。
可以將SVM的硬間隔放寬到軟間隔,允許一些訓練樣本出現在間隔區域內,從而具備一定的克服過擬合的能力

設計思想

引入松弛變量,允許一些訓練樣本出現在間隔區域內,形成軟間隔,軟間隔概念的引入,也使得線性SVM可以用於近似分類非線性數據
分類器表達:給定標記過的訓練樣本 (𝒙𝑛,𝑡𝑛) ,引入松弛變量𝜉𝑛后,分類器可以表達為如下形式:

構建目標函數:

將目標函數寫為拉格朗日函數:

KKT條件:

構建對偶函數:

1.何針對𝑤、𝑤0和Ξ求解最小化
2.在極值點消去𝑤、𝑤0和Ξ
3.在極值點得到對偶函數 𝐿d

對偶函數的約束條件

對偶函數是關於𝚲的函數,所以約束條件只需考慮𝚲的相關項。

支持向量

1.最大化該對偶函數得到最優的𝚲,得到最優的𝜦。即可得到最優的參數𝒘和𝑤0
2.求解支持向量,用二次規划求解得到最優的𝜦∗
3.支持向量分析

參數最優解

1.𝑤最優解
用二次規划求解得到最優的𝜦∗,選取𝜆𝑛∗ > 0對應的訓練樣本𝒙𝑛作為支持向量,從而估計出w
2.𝑤0最優解
𝑤0通常由所有支持向量取均值得到

決策過程

給定一個測試模式𝒙𝑡𝑒𝑠𝑡,軟間隔SVM可表達為

11.線性判據多類分類

單個線性判據只能實現二類分類。如何用線性判據實現多類分類?
多類分類的本質:非線性
實現非線性分類的途徑:
1.一個模型:能刻畫非線性的決策邊界。
2.多個模型:多個模型(線性/非線性)組合成非線性決策邊界
線性判據實現多類分類的途徑:通過多個線性模型組合的途徑實現多類分類

One-to-all策略

基本思想:
假設條件:每個類與剩余類線性可分。
針對每個類𝐶𝑖 ,單獨訓練一個線性分類器𝑓𝑖 𝒙 = 𝒘𝑖𝑇𝒙 + 𝑤𝑖0。
每個分類器𝑓𝑖 𝒙 用來識別樣本𝒙是屬於𝐶𝑖類還是不屬於𝐶𝑖類。
設類別個數為𝐾: 𝐾 > 2。
總共需要訓練𝐾個分類器。

判別公式&決策邊界

給定測試樣本𝒙,其屬於分類器輸出值為正的那個類
決策邊界:
每個線性方程𝑓𝑖 𝒙 = 0表示𝐶𝑖類與剩余類的決策邊界(記作𝐻𝑖),每條決策邊界𝐻𝑖垂直於𝒘𝑖 。
𝐾 − 1個分類器:有時也可以只訓練𝐾 − 1 個分類器:針對某個測試樣本𝒙,如果所有𝐾 − 1個分類器都輸出為非正值,則代表該樣本屬於剩余的第𝐾個類
訓練樣本選擇:對於每個分類器𝑓𝑖 𝒙 ,屬於𝐶𝑖類的訓練樣本作為正樣本,其余類別的訓練樣本作為負樣本
問題:每個分類器正負類樣本個數不均衡
混淆區域:
拒絕選項(reject case):針對單個測試樣本𝒙,所有分類器輸出都不是正值。
重疊:針對單個測試樣本 𝒙 ,出現多個分類器輸出為正,形成多個類重疊的區域

線性機

基本思想:
假設條件:每個類與剩余類線性可分。
訓練:基於one-to-all策略訓練𝐾個線性分類器𝑓𝑖,每個分類器對應一個類𝐶𝑖。
決策:使用輸出值投票法(max函數)給定測試樣本𝒙,其屬於所有分類器中輸出值最大的那個類。

為什么取輸出值最大?

輸出值𝑓𝑖 (𝒙) 近似於𝒙 到分類邊界(𝐶𝑖類與剩余類)的距離,該值最大即表示屬於該類的可能性大

決策過程數學表達:線性機的決策過程相當於:將輸入特征𝒙直接映射到類別標簽𝑙。

線性機 = 𝐾個線性模型 + 一個max函數
max函數是非線性的,因此線性機可以實現非線性分類
綜合𝐾個線性模型, 𝐾個權重向量𝒘𝑖寫成矩陣𝑾,決策過程可以表達為

決策邊界:通過max函數的引入,線性機將特征空間最終分為𝐾個決策區域

決策邊界𝐻𝑖𝑗垂直於超平面(𝒘𝑖 − 𝒘𝑗)
1.輸出值投票法:使用兩類權重𝒘向量的差值決定相鄰兩類之間的決策邊界;
2.標簽識別法:利用每一類的權重𝒘向量決定該類與剩余類之間的決策邊界。
優勢:由於使用max函數,不再有混淆區域(即拒絕區域和重疊區域),通過划定相鄰兩類之間的邊界,分割了重疊區域和拒絕區域

問題:可能出現最大的𝑓𝑖(𝒙) ≤ 0,即測試樣本𝒙出現在拒絕區域。
如果嚴格按照線性判據的定義,拒絕區域其實是線性機(基於one-to-all策略)無法正確判斷的區域

One-to-one策略

假設條件:

任意兩個類之間線性可分,但每個類與剩余類可能是線性不可分的,如右圖所示𝐶1 和𝐶2
基本思想:針對每兩個類𝐶𝑖 和𝐶𝑗 ,訓練一個線性分類器:𝑓𝑖𝑗 𝒙 = 𝒘𝑖𝑗𝑇𝒙 + 𝑤0𝑖𝑗。𝐶𝑖類真值為正;𝐶𝑗類真值為負
總共需要訓練𝐾 𝐾 − 1 /2個分類器

訓練樣本選擇

對於每個分類器𝑓𝑖𝑗 𝒙 ,屬於𝐶𝑖類的訓練樣本作為正樣本,屬於𝐶𝑗類的訓練樣本作為負樣本
避免了one-to-all策略正負類樣本個數不均衡的問題

判別公式&決策邊界

給定測試樣本𝒙,如果所有𝐶𝑖 相關的分類器輸出都為正,則𝒙屬於𝐶i
決策邊界:𝐶𝑖類與剩余類的決策邊界:所有𝐻𝑖𝑗正半邊的交集
優勢;適用於一些線性不可分的情況,從而實現非線性分類
與one-to-all策略相比,不再有重疊區域
問題;會出現拒絕選項,即樣本不屬於任何類的情況
避免Reject Case:
1.采用類似線性機的策略,在決策過程中采用max函數
2.采用max函數的one-to-one策略決策過程可以表達為

總結

使用線性判據進行多類分類,本質上是利用多個線性模型組合而成一個非線性分類器,因此,決策邊界不再是由單個超平面決定,而是由多個超平面組合共同切割特征空間

12.線性回歸

主要輸出數據類型:二值數據,多類別數據,連續數據
輸入樣本:個數與特征維度的關系
1.每個輸入樣本特征為𝑃維。樣本個數為𝑁。
2.Tall數據:𝑁 ≫ 𝑃,所有訓練樣本的輸入和真值輸出構成一個超定方程組。可以使用線性回歸來學習。
3.Wide數據:𝑁 ≪ 𝑃,所有訓練樣本的輸入和真值輸出構成一個欠定方程組。

線性回歸模型表達

1.輸出單維度
2.輸出多維度

模型對比

線性回歸vs線性判據

待學習參數

給定訓練樣本,學習參數𝑾。

訓練樣本

給定𝑁個訓練樣本

目標函數

最小化均方誤差:如果參數𝑾是最優的,意味着對每個樣本(𝒙𝑛, 𝒕𝑛)而言,模型的輸出值y𝑛與標定的輸出真值𝒕𝑛之間的差值最小因此,目標函數可以使用均方誤差 ,即最小化均方誤差

對比

線性回歸 vs 線性判據
1.線性判據:主要判斷預測的輸出值與真值在符號上的差異。感知機:被錯誤分類的樣本的輸出值之和。雖然輸出值代表錯誤的程度,但是不考慮正確分類的正確程度
2.線性回歸:比較預測的輸出值和真值在數值上的差異

目標優化

1.展開目標函數
2.對參數𝑾求偏導

梯度下降法

采用梯度下降法更新𝒘和𝑤0 :
1.設當前時刻為𝑘,下一個時刻為𝑘 + 1
2.n為更新步長

最小二乘法

1.參數最優值的閉式解
2.𝑋𝑇𝑋分析:非奇異矩陣
3.𝑋𝑋𝑇分析:奇異矩陣
4.𝑋𝑋𝑇分析

線性回歸模型:概率解釋

給定一個樣本𝒙,模型輸出與輸出真值之間誤差記做𝜺 ∈ 𝑅𝑀:

假設誤差𝜺是𝑀維高斯白噪聲,維度之間獨立且共享方差𝜎2:

由此可得,給定樣本𝒙和權重𝑾,輸出真值𝒕的條件概率也是高斯:

目標函數

似然函數:針對每個訓練樣本,輸出真值𝒕的條件概率越大,說明該樣本的模型輸出值與輸出真值越接近,則參數𝑾越是接近最優的。因此,給定𝑁個訓練樣本,似然函數為輸出真值𝒕的條件概率乘積。該似然函數即為目標函數。最大化該目標函數。

目標函數優化

最大似然估計:
對目標函數取對數

最大似然 vs MSE

13.邏輯回歸的概念

目前學過的分類模型中,有哪些模型是非線性的?
1.MAP分類器 線性 / 非線性
2.感知機 線性
3.Fisher判據 線性
4.支持向量機 線性

MAP分類器

非線性的情況:
如果兩個類別數據分布的協方差矩陣不同(即Σ𝑖 ≠ Σ𝑗),則MAP分類器的決策邊界是一個超二次型曲面,即非線性
線性的情況:
如果兩個類別數據分布的協方差矩陣相同(即Σ𝑖 = Σ𝑗 ),則MAP分類器的決策邊界是一個超平面,即線性

MAP分類器可以在線性和非線性之間切換,為我們將線性模型改進成非線性模型提供了思路

后驗概率的比例

對於二類分類,MAP分類器通過比較后驗概率的大小來決策

Logit變換

后驗概率對數比率=線性判據輸出
在每類數據是高斯分布且協方差矩陣相同的情況下, 𝒙屬於𝐶1類的后驗概率與屬於𝐶2類的后驗概率之間的對數比率就是線性模型𝑓(𝒙)的輸出

Logit變換定義

Logit變換:𝐶1類的后驗概率與𝐶2類的后驗概率之間的對數比率

在每類數據是高斯分布且協方差矩陣相同的情況下,由於Logit變換等同於線性判據的輸出,所以在此情況下Logit(z) 是線性的

Logit變換與線性判據:決策方式

設𝐶1代表正類(即線性判據輸出大於0的類),𝐶2代表負類

Sigmoid函數

設𝑦 = 𝑓 𝒙 = 𝒘𝑇𝒙 + 𝑤0,根據上式可以定義Sigmoid函數

線性判據𝑓 𝒙 放入Sigmoid函數,可得到x屬於𝐶1類的后驗概率

Sigmoid函數:連接線性模型和后驗概率的橋梁,線性模型𝑓(𝒙) + Sigmoid函數 = 后驗概率

邏輯回歸

邏輯回歸(Logistic Regression):線性模型𝑓(𝒙) + sigmoid函數

決策邊界
單個邏輯回歸可以用於二類分類,其決策過程如下

給定兩個類,邏輯回歸的決策邊界仍然是線性的超平面

單個邏輯回歸就是一個神經元模型,多個邏輯回歸(即多個同層神經元)可應用於多類分類,使用max函數做決策(即基於one-to-all的線性機)

適用范圍:分類
前提:兩類之間是線性可分的。
1.狹義范圍:每個類的數據都是高斯分布且分布的協方差矩陣相同。
2.廣義范圍:每個類的數據分布可以是非高斯,甚至是多模態分布
適用范圍:回歸
范圍:可以擬合sigmoid形式的非線性曲線

總結

1.邏輯回歸本身是一個非線性模型。
2.邏輯回歸用於分類:仍然只能處理兩個類別線性可分的情況。但是,sigmoid函數輸出了后驗概率,使得邏輯回歸成為一個非線性模型。因此,邏輯回歸比線性模型向前邁進了一步。
3.邏輯回歸用於擬合:可以擬合有限的非線性曲線

14.邏輯回歸的學習

給定訓練樣本,學習參數𝒘和𝑤0
正類(𝐶1類)樣本的輸出真值𝑡𝑛 = 1;
負類(𝐶2類)樣本的輸出真值𝑡𝑛 = 0。

給定兩個類別(正類和負類)共𝑁個標定過的訓練樣本

如何設計目標函數?

最大似然估計法

給定單個輸入樣本𝒙,模型輸出的類別標簽𝑙可以看做一個隨機變量
針對單個訓練樣本,模型輸出的概率
單個訓練樣本𝒙𝑛放入模型,相當於對隨機變量𝑙的一次采樣試驗(trial),輸出真值標簽𝑡𝑛相當於指定此次試驗的正確結果
針對訓練樣本(𝒙𝑛,𝑡𝑛),如果模型輸出概率較低,說明模型的參數不是最優的

似然函數

如果參數𝒘和𝑤0是最優的,意味着對大部分樣本(𝒙𝑛,𝑡𝑛)而言,𝑝(𝑡𝑛|𝒙𝑛) 應該是較大的(無論𝑡𝑛取值是1還是0)
因此,使用最大似然估計:針對所有訓練樣本𝒳,最大化輸出標簽分布的似然函數,以此求得參數𝒘和𝑤0的最優值

目標函數

由於log是凹函數,所以對目標函數取反。相應的,最大化變為最小化

目標函數:交叉熵解釋

訓練目標;給定單個樣本𝒙𝑛,希望模型預測輸出的概率分布𝑝 (𝑙𝑛|𝒙𝑛)符合輸出真值的概率分布𝑞(𝑙𝑛|𝒙𝑛),即兩種分布的差異程度最小
交叉熵可以用來度量兩種分布的差異程度。
給定𝑁個訓練樣本,把每個訓練樣本的交叉熵求和,得到最終的目標函數

目標函數優化:梯度下降法

對參數𝒘求偏導
對參數𝑤0求偏導
參數更新

梯度下降法需要注意的問題:梯度消失問題

在飽和區,輸出量𝑧接近於1,導致sigmoid函數梯度值接近於0,出現梯度 消失問題

參數的初始化

在迭代訓練過程中,如果參數𝒘選擇較大的初始值,輸出𝑧𝑛很快會進入sigmoid飽和區(即𝑧𝑛的值接近於1),梯度𝜕𝑧𝑛Τ𝜕𝑦𝑛接近於0,出現梯度消失。根據鏈式法則,導致目標函數關於參數的梯度𝜕𝐽Τ𝜕𝒘接近於0,使得后續迭代更新不起作用。因此,參數𝒘盡量選擇較小的初始值,避免出現梯度消失問題

迭代停止

如果迭代停止條件設為訓練誤差為0,或者所有訓練樣本都正確分類的時候才停止,則會出現過擬合問題。所以,在達到一定訓練精度后,提前停止迭代,可以避免過擬合

15.Softmax判據的概念

后驗概率:多類情況

一個類與剩余類的后驗概率比率
邏輯回歸是由Logit變換反推出來的,由Logit變換可知:正負類后驗概率比率的對數是一個線性函數,分類𝐾個類,可以構建𝐾個線性判據。第𝑖個線性判據表示𝐶𝑖類與剩余類的分類邊界,剩余類用一個參考負類(reference class) 𝐶𝐾來表達
參考類的后驗概率𝑝(𝐶𝐾|𝒙)

任意正類的后驗概率𝑝(𝐶𝑖|𝒙)

重新審視參考負類的后驗概率𝑝(𝐶𝐾|𝒙)
把𝑝(𝐶𝐾|𝒙)參照𝑝(𝐶𝑖|𝒙)的形式,可以類比得到

任意類的后驗概率𝑝(𝐶𝑖|𝒙)

可見,對於多類分類(𝐾 > 2), 𝐾個線性模型也跟每個類對應的后驗概率建立起了聯系

Softmax函數:


該后驗概率計算方法被稱作softmax函數:如果一個類𝐶𝑖對應的𝑦𝑖(即線性模型的輸出)遠遠大於其他類的,經過exp函數和歸一化操作,該類的后驗概率𝑝(𝐶𝑖|𝒙)接近於1,其他類的后驗概率接近於0,則softmax決策就像是一個max函數。但是,該函數又是可微分的,所以稱作“軟最大值函數“

Softmax判據:𝐾個線性判據 + softmax函數
給定測試樣本𝒙,經由線性模型和softmax函數計算𝐾個類對應的后驗概率, 𝒙屬於最大后驗概率對應的類別

Softmax判據的決策邊界:Softmax判據用於分類,等同於基於one-to-all策略的線性機
Softmax判據與神經網絡

相當於由𝐾個神經元組成的神經網絡輸出層,每個神經元輸出值代表屬於該類的后驗概率𝑝(𝐶𝑖 𝒙 ∈ [0,1]。

分類前提:每個類和剩余類之間是線性可分的

回歸

范圍:可以擬合指數函數(exp)形式的非線性曲線

總結

1.Softmax判據本身是一個非線性模型。
2.Softmax判據用於分類:只能處理多個類別、每個類別與剩余類線性可分的情況。但是, Softmax判據可以輸出后驗概率。因此,Softmax判據比基於one-to-all策略的線性機向前邁進了一步。
3.Softmax判據用於擬合:可以輸出有限的非線性曲線

16.Softmax判據的學習

訓練樣本:給定𝐾個類別,共𝑁個標定過的訓練樣本

輸出真值采用one-hot方式

目標函數

Softmax模型輸出的概率分布
給定單個樣本𝒙,one-hot形式的輸出標簽{𝑙𝑖}𝑖=1,…,𝐾符合多項分布(試驗次數𝑁=1)
最大似然估計:如果參數是最優的,意味着對大部分樣本(𝒙𝑛, 𝒕𝑛)而言,輸出概率𝑝({𝑡𝑛𝑖}|𝒙𝑛) 應該是較大的(無論𝑡𝑛𝑖 取值是1還是0)
使用最大似然估計:針對所有訓練樣本𝒳,最大化輸出標簽分布的似然函數,以此求得參數{𝒘𝒊,𝑤0𝑖}𝑖=1,2,…𝐾的最優值。似然函數為所有訓練樣本輸出概率的乘積
目標函數:

交叉熵解釋:

Softmax模型輸出的概率分布
針對單個樣本 𝒙𝑛 , 可以得到 softmax 預測輸出的概率分布𝑝 ({𝑙𝑛𝑖}𝑖=1,…,𝐾|𝒙𝑛)、輸出真值的概率分布𝑞({𝑙𝑛𝑖}𝑖=1,…,𝐾|𝒙𝑛) 。
交叉熵:
給定單個樣本𝒙𝑛,希望softmax模型預測輸出的概率分布𝑝 (𝒍𝑛|𝒙𝑛)符合輸出真值的概率分布𝑞(𝒍𝑛|𝒙𝑛)

目標函數優化

1.對參數𝒘𝑘求偏導
2.對參數𝒘𝑘求偏導
3.對參數𝑤0𝑘求偏導

梯度分析

從梯度公式可以看到,第𝑖個線性方程的參數𝒘𝑖和 𝑤0𝑖的更新不僅依賴於第𝑖類的樣本𝒙𝑛 ∈ 𝐶𝑖,而且還依賴於所有剩余類的樣本𝒙𝑛 ∈ 𝐶𝑗, 𝑖 ≠ 𝑗。可見,判別式學習是依賴所有類的訓練樣本來學習參數。

梯度對比

目標函數優化

參數更新:采用梯度下降法更新所有{𝒘𝒊, 𝑤0𝑖}

17.核支持向量機(Kernel SVM)

引言:以SVM為基礎模型,看看是否可以實現非線性分類邊界?

Kernel方法的基本思想

如果樣本在原始特征空間(𝑋空間)線性不可分,可以將這些樣本通過一個函數𝜑映射到一個高維的特征空間(Φ空間),使得在這個高維空間,這些樣本擁有一個線性分類邊界
高維空間表達

該高維空間Φ是希爾伯特(Hilbert)空間,即線性完備內積空間。如果在高維空間Φ兩個類是線性可分的,則可以應用線性SVM來實現𝑋空間的非線性分類
如何得到低維到高維空間的映射函數𝜑呢?

核技巧

在實際應用中,很難得到映射函數𝜑的確切形式

核函數:

在低維𝑋空間的一個非線性函數,包含向量映射和點積功能,即作為𝑋空間兩個向量的度量,來表達映射到高維空間的向量之間的點積

Kernel SVM決策模型

給定測試樣本𝒙,Kernel SVM的決策模型為(在X空間)

可見,Kernel SVM的決策是關於測試樣本𝒙與𝑁𝑠個支持向量𝒙𝑘的核函數的線性組合,即𝑁𝑠個非線性函數的線性組合。決策邊界方程也由𝑁𝑠個非線性函數的線性組合來決定。因此,在𝑋空間是一條非線性邊界

Kernel SVM:一個單隱層神經網絡

Kernel SVM的學習算法

由於kernel SVM在高維Φ空間是線性的,所以kernel SVM的對偶函數可以表達為

Kernel SVM+軟間隔

由於kernel SVM(尤其是高斯核)很容易產生過擬合,所以通常會加入松弛正則項,即軟間隔Kernel SVM,其對偶問題為

得到最優的𝜦。即可得到最優的參數𝒘和𝑤0

核函數的條件

Mercer條件:只要是半正定對稱函數,都可以用作核函數

常見的核函數

1.多項式核函數:

不同的核函數參數值,決定了不同的支持向量和分類邊界
𝜌, 𝑚:取值越高,分類邊界非線性程度越高
2.高斯核函數

不同的核函數參數值,決定了不同的支持向量和分類邊界
𝜎:方差越小,分類邊界越不平滑,甚至出現孤島(過擬合)

核函數優缺點

總結

1.如何構建非線性

(1)需要有非線性的基函數,例如,核函數
(2)需要多個這樣的基函數進行組合(可以是線性組合)

2.組合方式

並行組合/串行組合


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM