山東大學實訓 Day1

經過昨晚的討論,我們暫時做了簡單的分工,我負責算法部分。

這次的項目實訓,我們計劃做一個成績預測系統。目前我們只拿到了學生的慕課學習記錄數據集,上面記錄了學生使用慕課上課的一些情況,比如提交作業數,上課次數,發言等,最後有學生在該課程的成績。

今天讀了周志華教授關於深度森林的論文[1]。

1 Introduction

深度神經網絡儘管非常強大,但仍存在一些明顯的缺陷。一是訓練需要大量的數據,使得模型很難應用到小規模的數據上;二是其複雜的結構需要龐大的計算資源支持;三是太多的超參數,而模型性能的好壞嚴重取決於調整他們。同樣是使用CNN,因爲許多不同的選擇而導致世紀使用的模型並不相同,這讓DNN的訓練變得非常的棘手,更像是一門藝術而不是科學/工程,而且因爲無限制的配置組合的干擾因素太多,理論分析也變得非常困難。對於DNN,表示學習的能力是非常重要的,爲了能利用大量數據,學習模型的容量必須要大,這也一定程度上解釋了爲什麼DNN要如此複雜。論文推想若將這些性質賦給其他一些合適的學習模型,也許可以在更少的缺陷上可以取得能與DNN匹敵的表現。

gcForest(multi-Grained Cascade Forest多粒度級聯森林)是一種新的決策樹集成方法。該方法採用級聯結構集成深度森林,其表徵學習可以在之後被多粒度掃描增強。可以自適應地確定級聯級別的數量,從而可以自動設置模型的複雜性,從而使gcForest即使在小規模數據上也能表現出色。用戶可以根據計算資源控制訓練成本。該模型較DNN有着極少的超參數,對於超參數調整也表現出很好的魯棒性,這樣在大多數情景下,即使是不同領域的不同的數據,使用默認的設置也能取得出色的表現。

2 The Proposed Approach

2.1 級聯森林結構

受DNN對原始特徵的逐層處理啓發,gcForest採取了級聯結構,如下圖所示,每一層都接收上一層處理過的特徵信息,然後輸出其處理後的結果給下一層。

每一層都是決策樹森林的集成,也就是集成的集成。這裏採用了不同類型的森林以支持多樣性,由於在集成結構中多樣性是非常重要的。爲了簡便,這裏假設用兩種森林。黑色表示隨機森林,藍色表示完全隨機森林。每個完全隨機樹森林包含500個完全隨機樹,通過隨機選擇要在樹的每個節點處分割的特徵生成,直到每個節點只包含一類實例爲止。同樣,每個隨機森林包括500個樹,通過隨機選擇\sqrt{d}數量的特徵作爲候選(d代表輸入特徵的數量)然後選擇帶有最高基尼指數的特徵作爲分割點。每個森林的樹的數量是超參數。

 

每一個森林通過計算相關實例所在的葉節點上不同類別的訓練示例的百分比來產生一個對類分佈的估計,然後在同一個森林上計算所有樹的平均值。如下圖所示:

估計的類分佈組成了類向量,之後將其與原始特徵連接起來作爲下一層的輸入。假設這裏是三分類任務,那麼四個森林的每一個都會產生一個三維類向量,那麼下一級將會接收3x4維的向量。

爲了減少過擬合的風險,每一個森林產生的類向量都要通過k折交叉驗證生成。細節上講,每一個實例都要被訓練k-1次,之後取平均來產生最終的類向量作爲下一層的特徵。擴展到新的級別之後,將在驗證集上評估整個級聯的性能,並且如果沒有顯着的性能提升,則訓練過程將終止。因此級聯層級是自動決定的。gcForest通過在適時終止訓練來自適應地確定其模型複雜性。這使其可以適用於不同規模的訓練數據,而不僅限於大規模的訓練數據。

2.2 多粒度掃描

如下圖所示,滑動窗口被用於掃描原始特徵。假設這裏有400維原始特徵,在這裏使用100維大小的窗口。對於序列數據,每滑動一個特徵就會產生一個100維的特徵向量,總共產生301個向量。如果原始特徵具有空間關係,比如,20x20大小的像素面板,那麼一個10x10大小的窗口會產生121個向量。從相同大小的窗口提取出的實例將會用了訓練一個完全隨機森林和一個隨機森林,然後生成一個類向量並將其連接作爲轉換後的特徵。這裏依舊假設是三分類,窗口大小是100維,這樣,每個森林都會產生301個三維向量,使得每一層都會產生1806維的變換特徵向量。因爲變換後的特徵向量過大,由於完全隨機森林不依賴於特徵分枝選擇,而隨機森林對不準確的特徵分枝選擇非常不敏感,這裏可以採用特徵採樣比如下采樣。

2.3 完整過程和超參數

gcForest的完整過程如下圖所示:

對於m個400維的訓練樣本,一個100維大小的窗口將會產生301 x m個100維的訓練實例,用來訓練完全隨機森林和隨機森林,每個包含500顆樹,在三分類任務中,將生成1806維的向量,變換後的訓練集將用於接下來第一層的級聯森林的訓練。在與上一級產生的類向量增加後,變換的特徵向量將用於接下來第二層以及第三層的級聯森林,直到驗證性能收斂。

參考文獻:

[1] Zhihua Zhou and Ji Feng, Deep Forest: Towards An Alternative to Deep Neural Networks, IJCAI, 2017, https://arxiv.org/abs/1702.08835v2 (V2)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章