機器學習基石筆記11——機器可以怎樣學習(3)


轉載請注明出處:http://www.cnblogs.com/ymingjingr/p/4271742.html

目錄

機器學習基石筆記1——在何時可以使用機器學習(1)

機器學習基石筆記2——在何時可以使用機器學習(2)

機器學習基石筆記3——在何時可以使用機器學習(3)(修改版)

機器學習基石筆記4——在何時可以使用機器學習(4)

機器學習基石筆記5——為什么機器可以學習(1)

機器學習基石筆記6——為什么機器可以學習(2)

機器學習基石筆記7——為什么機器可以學習(3)

機器學習基石筆記8——為什么機器可以學習(4)

機器學習基石筆記9——機器可以怎樣學習(1)

機器學習基石筆記10——機器可以怎樣學習(2)

機器學習基石筆記11——機器可以怎樣學習(3)

機器學習基石筆記12——機器可以怎樣學習(4)

機器學習基石筆記13——機器可以怎樣學得更好(1)

機器學習基石筆記14——機器可以怎樣學得更好(2)

機器學習基石筆記15——機器可以怎樣學得更好(3)

機器學習基石筆記16——機器可以怎樣學得更好(4)

 

十一、Linear Models for Classification

用於分類的線性模型。

11.1 Linear Models for Binary Classification

用於二元分類的線性模型。

目前敘述的算法模型主要有3類:線性二元分類,線性回歸,logistic回歸,這三個模型的最主要的相同點在假設函數和錯誤函數中都出現了線性得分函數(linear scoring function),如公式11-1所示。

 

    (公式11-1)

 

三類模型與得分s之間的關系如圖11-1所示。

 

圖11-1 三類模型與得分s的關系

 

最左為線性二元分類,其假設函數為,一般使用0/1錯誤,通過求解最優權值向量w比較困難;中間為線性回歸模型,其假設函數為,一般使用平方錯誤,可直接通過解析解求解最優w;最右為logistic回歸模型,假設函數為,使用交叉熵錯誤,通過梯度下降法求出近似的w。

從上述分析不難看出,線性二元分類問題的求解方式最為困難,但與另外兩種模型存在着共同點——得分s,能否利用這兩種模型的算法近似求得二分類問題的最優w呢?

回顧10.2節,logistic回歸的錯誤,可用符號 表示,其中CE為交叉熵(cross-entropy )的縮寫,可以寫成公式11-2所示。

 

    (公式11-2)

 

是否二元分類模型和線性回歸模型的錯誤函數可以寫成關於 的形式?答案是可以的,如圖11-2所示。

 

圖11-2 三類模型的錯誤函數

 

二元分類模型和線性回歸模型錯誤函數中的轉換都用到了 的性質。接着觀察三類模型的錯誤函數與ys之間的關系。本節開頭回顧了s的物理意義為得分,此處ys的物理意義是正確的得分 ,因此ys越大越好,表示兩者接近且同號。

根據圖11-2中的三類模型的錯誤函數有關ys的公式,可以得出如圖11-3所示的關系圖。

 

圖11-3 三類模型的錯誤函數與ys的關系圖

 

其中藍色的折線表示0/1錯誤 ,在ys大於0時,,反之;紅色的拋物線表示平方錯誤,在 時與在該范圍內所表現出的特征相似,但是在時與在該范圍內所表達的效果相去甚遠,因此只有在很小的情況下,可以使用取代;墨綠的曲線表示,同樣如圖11-3所示也只有在很小的情況下, 可互相取代。但是跟想得到的錯誤曲線還有一些差距,因此略做轉變,得到公式11-3。

 

    (公式11-3)

 

其中表示縮放的(scaled),即對做了一個換底,因此可以得到圖11-4。

 

圖11-4 關於ys的圖

 

如圖11-4中墨綠色的線表示,從圖中可以看出,該錯誤函數很適合做的上限,在很小的情況下, 可互相取代,如公式11-4所示。

 

    (公式11-4)

 

通過公式11-4可以得出的上限,如公式11-5和公式11-6所示。

 

    (公式11-5)

 

    (公式11-6)

 

再通過VC限制理論可以得到公式11-7。

 

        (公式11-7)

 

第一個不等號連接的是在VC限制下和其上界,概念見7.4節, 其中函數也是在7.4節中提到過的模型復雜度,在二元分類中可以寫成的形式。

因此得到如下結論:小的可以通過小的得出。同理可以證明小的也可以通過小的得出,即線性回歸模型和logistic回歸模型可以用作二元分類。

算法流程一般是在輸出空間 的情況下,通過線性回歸和logistic回歸相對應的求解方法求出最優

將求得的代入公式sign,得到最優假設函數

三類模型做分類的利弊分析如表11-1所示。

 

表11-1 三類模型做分類的利弊分析

 

二元分類

線性回歸

Logistic回歸

好處

在線性可分的情況下可以保證完成

最容易的優化算法

容易的優化算法

壞處

在線性不可分的情況,需要使用啟發式pocket

非常大時,相對於是一個很寬松的上界

在ys為負時,是一個寬松的上界

 

線性回歸一般只作為PLA、pocket、logistic回歸的初始向量 ;logistic回歸經常取代pocket算法。

 

11.2 Stochastic Gradient Descent

隨機梯度下降。

如公式11-8為迭代優化算法的通式,學過的PLA的迭代算法如公式11-9,logistic回歸中梯度下降的迭代公式如公式11-10。

 

    (公式11-8)

 

    (公式11-9)

 

        (公式11-10)

 

對比以上兩種迭代優化方法,:PLA與logistic回歸的梯度下降。發現PLA只需要通過一個樣本點便可計算出,即每次迭代的時間復雜度為 ;logistic回歸的梯度下降需要遍歷所有的樣本點才能計算出,即每次迭代的時間復雜度為。有無可能將logistic回歸每次迭代時間復雜度降為

觀察公式11-10,方向向量v,v≈,該梯度是通過所有的樣本點加權求和再取平均得到的,如何使用一個樣本點的取值近似整體的平均值?

可以將求平均的過程理解為求期望值,此處使用在N個樣本中隨機抽取一個樣本點求出的梯度取代原來的期望梯度,這種隨機選取的梯度稱為隨機梯度(stochastic gradient),可用符號表示,而真實的梯度與隨機梯度的關系如公式11-11。

 

    (公式11-11)

 

隨機梯度值可以看做真實的梯度值加上一個噪音,使用隨機梯度取代真實梯度做梯度下降的算法稱作隨機梯度下降(stochastic gradient descent),簡稱SGD。這種替代的理論基礎是在迭代次數足夠多的情況下,平均的隨機梯度和平均的真實梯度相差不大。

該算法的優點是簡單,容易計算,適用於大數據或者流式數據;缺點是不穩定。

Logistic回歸的隨機梯度下降的迭代如公式11-12所示。

 

    (公式11-12)

 

是否聯想到了其他的迭代算法?PLA,如公式11-13所示。

 

    (公式11-13)

 

因此logistic回歸隨機梯度下降類似於"軟"的PLA,為什么稱為軟的?原因是它的之前的權值並沒有那么絕對不是1就是0,而是一個在0~1之間的值。在公式11-12中,如果始終是一個很大的值,則logistic回歸隨機梯度下降相當於是PLA。

SGD需要調試兩個參數:迭代步驟t和學習速率。調試迭代步驟是因為不知道真實的梯度值是否接近0,只能假設足夠步數后是已經做到足夠好,即通常設置一個大的數值作為步數;學習速率通常也很難選定,林老師推薦的是數字為0.1126。

 

11.3 Multiclass via Logistic Regression

通過logistic回歸實現多類別分類。

多類別分類有許多應用場景,特別是在識別(recognition)領域。

如圖11-5為,輸出空間y為四類別的情況,即

 

圖11-5 四分類問題

 

實際多類別問題也可以使用二元分類問題 的思路進行分類,如將原四類問題分解為是否為 ,即將與其他的類別分離,生成一個新的二元分類問題,即,通過此方式得到一個分類超平面,如圖11-6所示。

 

圖11-6 以是否為進行二元分類

 

同理可以以是否為生成一個新的二元分類問題,即,該分類超平面如圖11-7所示。

 

圖11-7 以是否為進行二元分類

 

另外兩種情況就不一一列舉,最終以是否為每個類別得到的二元分類如圖11-8。

 

圖11-8 四個類別各自的二元分類情況

 

當將圖11-8的四種情況合並在一個圖中會發現有一些無法處理的情形,如圖11-9所示。

 

圖11-8 四種情況合並圖

 

其中四個邊緣的三角陰影所在的區域為相鄰兩個類別都爭奪的區域,如最上方的三角區域是類別和類別重疊的區域;還有圖正中的區域又不屬於任何類別。這些問題如何解決?

使用以前學過的軟性分類,還是關於類別的二元分類問題,此處不再使用硬划分,而是使用該樣本點是的可能性,即 ,如圖11-9所示。

 

圖11-9 關於類別的軟化分

 

余下三種情況不再一一舉例,最終得到的四種類別的分類情況和合並后的情況分別如圖11-10和圖11-11所示。

 

圖11-10四個類別各自的軟二元分類情況

 

圖11-11四個類別軟二元分類合並后情況

 

如何判斷樣本點屬於哪個類別,可以分別計算樣本點在四種軟二元分類情況下概率,選擇其中概率最大的一個作為所屬類別,如公式11-14所示。

 

    (公式11-14)

 

其中求概率的公式使用logistic函數 ,k表示類別,注意到logistic函數是一個單調函數,因此可以消去該函數,直接使用個類別的得分值作比較,如公式11-5所示。

 

    (公式11-15)

 

用此種思路設計的算法稱作一對多(One Versue All),簡稱為OVA,表示一個類別對其他所有類別,算法流程如下:

在整個訓練數據集D上, (在y=k時為+1,y≠k時為-1,符號取1或者0 ),使用logistic函數計算各個類別的權值向量

返回假設函數g,

該算法的優點是簡單有效,易於類似於logistic函數的二元分類問題擴展成多類別分類;缺點是當類別特別多時,產生了不平衡的現象(如類別特別多,則+1的數據量就很少,大部分都是-1,數據量嚴重不平衡)。

 

11.4 Multiclass via Binary Classification

通過二元分類實現多類別分類。

上一節的最后提到OVA的方式在類別非常多的情況下,出現了訓練數據嚴重失衡的現象,於是本節介紹一種應對這類不平衡問題的方法。

還是上節中使用的四分類問題,不像OVA在整個數據集中計算是否為的權值向量w,此種方法是任意選擇四類中的兩類,如類別和類別,將兩個類別分別設為+1和-1,形式如,在包含兩類的數據集上計算權值向量w,如圖11-12。

 

圖11-12類別和類別的二分類

 

如上述情況相同,從四種類別中選取兩種做二元分類,一共可得6種對比( ),各對比如圖11-13所示。

 

圖11-13 6種對比情況

 

如圖11-13得到6個不同的權值向量w,如何判斷某新進樣本屬於哪個分類?如11-14中紫色的樣本點在6中情況下所屬的類別,前三種屬於,第4種屬於,后兩種屬於,只需要找出在所有對比中勝利次數最多的類別,因此該點屬於。這種方式如同投票選舉,樣本點屬於所有類別對比中贏得次數最多的那種類別。

 

 

圖11-14 某點在6種情形下的隸屬情況

 

這種分類方式稱為一對一(one vervuse one),簡稱OVO。其算法流程如下:

所有類別的任意兩個類別做對比,使用二元分類算法,在數據集D, 求出最佳的權值向量

通過投票返回假設函數g。

其優點是簡單有效,在做兩兩對比時,每次使用的不是全部訓練數據,而是僅屬於當前兩類的訓練數據,能將所有類似於二元分類的算法擴展成多元分類問題; 缺點是對比次數是 ,即 ,其中K表示類別數,因此就需要花費更多的存儲空間、計算時間。


免責聲明!

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



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