梯度樹提升——輸入屬性是否需要縮放?
對於其他算法(如支持向量機),建議以某種方式縮放輸入屬性(例如將所有內容放在
$$ 0,1 $$規模)。我已經在Google上進行了廣泛的搜尋,但找不到任何關於是否需要為提升方法,特別是梯度樹提升的資訊。
輸入屬性需要縮放嗎?
不,這不是必需的。它只是一個啟發式[ 1 ]。它的動機主要是因為以下幾點:
- 來自特徵縮放文章:
由於原始數據的取值範圍變化很大,在一些機器學習算法中,如果不進行正規化,目標函式將無法正常工作。例如,大多數分類器通過距離來計算兩點之間的距離。如果其中一個要素具有廣泛的值範圍,則距離將由該特定要素控制。因此,應該對所有特徵的範圍進行正規化,以便每個特徵對最終距離的貢獻大致成比例。
總之,
- 對 SVM 等其他算法的推薦只是“推薦”。例如,它不保證提高性能。
- 我的建議是,如果這一步很昂貴,請跳過它。如果不是,則檢查與直接建構梯度提升樹相比,正規化是否不會降低性能並做出相應決定。
對於類預測(相對於類發現),我總是對輸入特徵進行變換(去除尺度效應)。具有較大尺度(範圍)的特徵的度量可以淹沒具有較小尺度的特徵的度量。根據您的方法(有許多提升方法),您還可以考慮對特徵進行去相關。至少對於人工神經網路而言,關於相關特徵的一條黃金法則是,在連接權重學習期間,將花費時間來確定相關性——這就是為什麼許多人在夾緊對象之前使用線性降維(例如 PCA)的原因到輸入網路節點。
總的來說,你可能應該同時做(有和沒有)。回想一下,縮放有多種選擇:(a)您可以消除偏度(肥尾),(b)均值零標準化,以及(c)範圍內的標準化
$$ 0,1 $$, (d) 確定輸入特徵的方向餘弦,使特徵值在單位圓內。 最後,除非需要,否則不要使用單個分類器。如果可能,請使用一組分類器,以便一個分類器可以在另一個分類器出現故障時找出有問題的對象。沒有免費午餐定理指出,在所有成本函式的宇宙中,沒有一個分類器比另一個更好 - 所以永遠不要假設在使用單個分類器時你有最好的解決方案。醜陋的閃避定理指出,沒有一組特徵比另一組更好——所以永遠不要假設你選擇的特徵集是最好的。