分類中的超參數

已完成

您可以將超參數視為用於定型的設定。 例如,我們可以選擇要緩慢訓練還是快速訓練。 超參數會影響訓練,因此也會影響最終模型的表現。 確切可用的超參數取決於我們要訓練的模型種類。 我們通常會試驗超參數以便讓模型獲得最佳表現。

以隨機樹系為例

隨機樹系有不同種類的可用超參數。 尤其是在使用隨機樹系時,架構決策超參數之間的界線可能會變得模糊。 這是因為超參數不只會影響模型內的參數,也會影響決策樹和樹系的建構方式。

回想一下訓練剛開始的時候,每個決策樹都獲得了許多樣本 (例如 100 位體操選手),其中的某些選手有贏得獎牌。 我們必須建立一個決策樹,將這些樣本逐漸分成較小的選手子群組。 此決策樹的目標是讓這些子群組包含相似的選手,例如在每個子群組內,所有選手都贏得獎牌,或所有選手都沒有贏得獎牌。 讓我們討論一些可能會影響此訓練程序的超參數。

要作為分割依據的準則

在訓練期間,最佳化工具必須決定何時分割節點。 有不同的方式可做出這樣的決策,而要選擇哪個方法就稱為超參數。 基本上,不同的方法會參照不同的辦法來評估樣本有多相似。

常見的分割節點方法是以資訊理論為基礎。您大致上可以這麼設想,我們要將樣本分割到所產生的兩個子樣本比原本的樣本更純粹。 可用的方法會稍有不同,而且可能會讓最後產生的決策樹有些許差異,這種情況就和用於梯度下降的成本函式會提供不同的最終模型一樣。 我們將在後續的一組練習中試驗兩個準則。

最小不純樣本減少量

您可以進一步自訂用來分割節點的準則。 例如,設定最小純粹樣本減少量就表示,只有當分割會讓模型有一定程度以上的改進時,才能分割樣本。 有幾個相關的超參數可以封鎖新節點的建立,例如最大深度或節點上的最小樣本數目。

之所以要限制決策樹的成長幅度,是為了避免過度學習。 較大的決策樹更適合用來比對訓練資料集,但這些決策樹有可能會過於針對此訓練集進行調整,而導致其無法再用於其他資料。 換句話說,限制決策樹的複雜度可以降低其過度學習的傾向。

最大特徵數目

當您在隨機樹系中建立了決策樹時,決策樹會獲得要調整的訓練資料子集,以及要使用的特徵清單。 重要的是,每個決策樹都會收到不同的特徵集合。 例如,某個決策樹可能會使用體重和身高,另一個決策樹則使用身高和年齡。

增加每個決策樹所能收到的最大特徵數目,可能會改善每個決策樹能夠調整訓練集的程度,因為其會獲得更多資訊。 這對其在測試集上的能力是好是壞需要透過實驗來證實。 這是因為一直提供許多特徵可能表示樹系中的決策樹最後會和其他決策樹更為彼此相似,而削弱隨機樹系在簡單決策樹上的優點。 我們通常需要進行一些實驗,才能在這些極端情況之間找到平衡點。

植入

模型調整通常會一定程度上仰賴亂數。 電腦不會產生真正的亂數,而是會包含規則來指出如何以所提供的初始數字 (稱為隨機種子) 產生亂數清單。

例如,如果種子值是 10,並採用前三個「亂數」,則電腦可能會產生 0.75、0.13、0.68。 這些數字看似隨機,但每次我們以 10 作為種子時,都會得到同樣一組數字。

在機器學習中,我們會使用亂數來初始化模型的參數和/或將資料集分割成訓練集和測試集。 如果已設定隨機種子,則每次重新執行程式碼時所使用的隨機值都會相同,這表示每次重新執行程式碼時,都會指派相同的資料來測試或訓練集,並針對具有相同初始化狀態 (初始參數) 的模型進行訓練。

相反地,如果我們沒有設定種子,電腦將會為我們選取一個 (例如,以時間為基礎),這表示執行訓練兩次會產生稍微不同的結果。

嚴格來說,隨機種子並不是超參數,但我們在這裡介紹它是為了強調此外部參數可以在訓練是否有效上產生影響。 雖然影響通常很小,但如果模型非常複雜,而且/或可用的資料量很少,則在使用兩個不同的種子時,模型在測試集上的表現可能會有顯著的不同。 在這類情況下,往往值得我們使用多個不同的種子來執行訓練,以評估您的模型設計能夠勝任到什麼程度,以及您的表現有多大程度「純屬好運」。