具有自學習(Self-paced learning)的集成學習(Boosting)分類器--(IJCAI 2016)--論文筆記

論文《Self-Paced Boost Learning for Classification》

論文地址:isee.zju.edu.cn/dsec/pd

此論文被IJCAI2016收錄,工作的核心思想是將Boosting演算法和Self-paced learning演算法結合在一起,它們能夠分別解決監督學習中的有效性和魯棒性的問題。通過帶self-paced樣本選擇法的max-margin boosting最優化,能夠對數據分類的同時,保證良好的採樣方式。

貢獻

1、第一次將self-paced方法和boosting方法相結合的分類演算法;

2、提出了相應的優化方法。

演算法內容

Self-paced learning(SPL):簡單來說是指在訓練模型時,先學習簡單的樣本,後學習複雜的樣本,這個過程就好像人類學習新知識的過程,具體可參考[1]。

Boosting:在深度學習出來之前,集成學習可以說是使用得最多、效果最好的方法之一。它的核心思想是將多個弱分類器集成在一起,著重訓練分類正確率低的分類器,集成的分類器有著很好的分類能力,並且不容易出現過擬合。

定義一個監督學習問題,設訓練集為{x,y},分別代表訓練集樣本及其類別標籤。標準的監督學習問題會學習一個得分函數F(),這個函數對應輸入樣本通過模型得到的每個類別的得分情況,即預測結果,有:

其中, F_{r}(x;Theta) 表示樣本x屬於類別r的置信度, Theta 表示模型的參數,目標函數可以定義為:

其中 
ho_{ir} 表示xi通過模型得到類別r的置信度和ground truth y的置信度之間的差異(margin);L()表示loss function,R()表示對模型參數的正則化;v表示一個trade-off超參數。

同時可以定義得分函數F的形式,它其實就是Boosting的一般形式,多個弱分類器h(x)的集合:

其中,h可以定義為

wrj指分類器的權重,h(x)為一個{0,1}的二值弱分類器。

將[1]中的SPL方法進入的到目標函數中可以得:

其中H表示弱分類器的結果,有


u_{i} 表示SPL的權重,它體現了樣本xi學習的「容易」程度。 g(;lambda) 表示樣本的選擇方式。

將L定義為一個logistic loss,R(W)定義為l2,1-範數,可得:

其中SPL方法學習vi,boosting方法學習權重W。

最優化

這裡分別交替優化SPL的v和boosting的權值W。

最優化v

目標函數可以寫成

l_{i} 表示樣本xi的loss,且有

最終可以得到最優的vi

最優化W

目標函數可以寫成

這是一個帶約束的最優化問題,可是利用拉格朗日乘子法對其進行求解。設拉格朗日乘子為 U_{ir} ,可以寫出其對偶形式,來求 U_{ir} ,推到過程可以參考[2]中的(36)~(38).

對於 U_{ir} ,通過觀察可以發現,當 
ho_{ir} 的值越小時, U_{ir} 的值越大;當 v_{i} 的值越大時, U_{ir} 的值越大。這表明, U_{ir} 可以控制模型去選擇學習不充分的弱分類器和簡單的樣本,這樣就集合了Boosting和SPL的特點。

這裡使用列生成(column generation)方法,對於每一類,從弱分類器集合中選擇一個最好的 h()_{k}(k=1,2,3..,C) ,有

r表示對應的類別。

演算法的更新方式如圖1所示,演算法偽代碼如表1所示。

圖1 演算法計算流程圖

表1 偽代碼

總結

本文的核心思想是將Boosting和Self-paced learning結合在一起,從而獲得一種兼具有效性和魯棒性的分類方法,該方法具有比較強的通用性,可以應用到多種分類問題中。

參考

[1]Self-Paced Learning for Matrix Factorization.

[2]A Direct Approach to multi-class Boosting and Extentions.


推薦閱讀:

處理不均衡數據 (機器學習)
關於設計與人工智慧的十個觀點
近200篇機器學習&深度學習資料分享(含各種文檔,視頻,源碼等)
以AlphaGo為例,如何理解神經網路的存儲容量(storage capacity)?
機器學習怎麼應用於流行病學研究?

TAG:机器学习 | boosting | 学术论文 |