隨機樹系和選取架構

已完成

使用架構進行實驗往往是建置有效新式模型的關鍵因素。 我們已對決策樹完成基本層級的架構,但唯一的限制是我們的想像力,又或許是電腦的記憶體。 事實上,更廣泛地思考決策樹已產生極為熱門的模型架構,此架構會降低其決策樹過度學習資料的傾向。

什麼是隨機樹系?

隨機樹系是決策樹的集合,可用來評估應指派給樣本的標籤。 例如,如果我們要訓練隨機樹系以預測會贏得獎牌的選手,我們可以訓練 100 個不同的決策樹。 為了做出預測,我們會獨立使用所有決策樹。 在效果上,這些決策樹會「投票」表決選手是否會贏得獎牌,以提供最終決策。

如何訓練隨機樹系?

隨機樹系的建置概念是,如果單一決策樹會有高度偏差或過度學習的情況,那麼我們訓練好幾個決策樹,它們就會朝不同的方向產生偏差。 想要這麼做,就必須獨立訓練每個決策樹,而且每個決策樹要在稍微不同的訓練集上進行訓練。

為了訓練單一決策樹,我們從完整的訓練集內擷取出一定數量的樣本 (也就是我們案例中的選手)。 每個樣本可以選取多次,而且會隨機選取。 然後,再以標準方式訓練決策樹。 每個決策樹會重複進行此程序。 由於每個決策樹會獲得不同組合的訓練範例,因此每個決策樹最終會以彼此不同的方式進行訓練和產生偏差。

隨機樹系的優點

隨機樹系的表現往往令人印象深刻,因此相較之下最像是神經網路,後者是另一種熱門且有良好表現的模型類型。 不同於神經網路,隨機樹系模型的訓練很簡單:新式架構提供了實用的方法讓您只需要寫幾行程式碼就能辦到。 隨機樹系的訓練速度也很快,且不需要大型資料集就能有優異表現。 這一點讓隨機樹系與神經網路有所區別,後者往往需要花幾分鐘或幾天的時間來訓練、需要大量經驗,而且往往需要非常大型的資料集。 在架構方面,隨機樹系的決策雖然比線性迴歸之類的模型更複雜,但比神經網路簡單許多。

隨機樹系的缺點

隨機樹系的一大缺點是難以理解。 具體來說,雖然這些模型完全透明,您可以檢查和理解每個決策樹,但其包含的決策樹往往為數眾多,因此您幾乎不可能真的這麼做。

如何自訂這些架構?

和許多模型一樣,隨機樹系也有各種架構可供選擇。 最簡單的是考慮樹系大小:也就是要包含多少決策樹,以及這些決策樹的大小。 例如,您可以要求包含 100 個決策樹,且每個決策樹的最大深度為六個節點的樹系預測會贏得獎牌的選手。 這表示關於選手是否能贏得獎牌的最終決策,必須使用不超過六個的「if」陳述式來進行。

我們已經了解,增加決策樹大小 (在深度或分葉方面) 會讓其更有可能過度學習其中的訓練資料。 隨機樹系同樣有此限制。 不過,在使用隨機樹系時,我們可以藉由增加決策樹的數目來抵銷這個限制,但前提是每個決策樹會朝不同方向產生偏差。 我們也可以限制每個決策樹只能有一定數量的特徵,或不允許在只會對訓練表現產生邊際差異時建立分葉。 隨機樹系做出良好預測的能力並非無窮無盡的。 到達臨界點後,即使繼續增加決策樹的大小和數目,隨機樹系也會因為我們所擁有的訓練資料多樣性有限而無法再改進。