正規化的目標是將特徵轉換為類似的規模。這可提高模型的效能和訓練穩定性。
正規化技巧簡介
以下四個常見的正規化技巧可能相當實用:
- 縮放範圍
- 剪輯
- 記錄檔資源調度
- Z-分數
下方圖表顯示左側正規化技術對左側原始特徵 (價格) 分佈的影響。圖表的資料是 1985 年 Ward's Automotive Yearbook 所對應的資料集。該系列是 UCI 機器學習存放區下的 UCI 機器學習存放區。
圖 1. 正規化技巧摘要。
向範圍內調度資源
提醒您,MLCC 的注意事項:縮放是指將浮點特徵值從自然範圍 (例如 100 到 900) 轉換為標準範圍 (通常是 0 和 1,有時是 -1 到 +1)。使用以下簡易公式進行縮放:
\[ x' = (x - x_{min}) / (x_{max} - x_{min}) \]
同時符合以下兩個條件時,您不妨將範圍調度資源:
- 資料只有約略值和最小值,且沒有離群值。
- 您的資料會平均分佈於該範圍內。
合適的範例是年齡。大部分年齡值介於 0 到 90 之間,而且範圍中的每個部分都有人數。
相反地,您不使用收入資源調度,因為只有少數人有很高的收入。收入的線性量表的上限將非常高,而大多數人也都會擠到體重的一小部分。
功能剪輯
如果資料集包含極端離群值,請嘗試特徵特徵剪輯,將特定值的所有 (或低於) 特徵值限制為固定值。舉例來說,您可以將所有超過 40 的溫度值剪輯為剛好 40。
您可在其他正規化之前或之後套用特徵剪輯。
公式:設定最小值/最大值,以避免離群值。
圖 2. 比較原始發布和其剪輯版本。
另一個簡單的裁剪策略是將 Z-score 剪輯至 +-N↓ (例如限制為 +-3score)。請注意,↓ 是標準偏差。
記錄檔資源調度
記錄檔縮放功能會計算值的記錄,以將範圍縮小至較小的範圍。
\[ x' = log(x) \]
如果少數值有許多點,記錄資源調度就很有幫助,而大多數其他值則只有少量。這個資料分佈稱為「電力法」分配。電影評分就是很好的例子。在下圖中,多數電影的評分都很少 (後端的資料),而有些電影的評分也很高 (頭部的資料)。記錄檔資源調度功能會變更分佈情形,進而改善線性模型的效能。
圖 3. 比較原始分佈與記錄檔。
Z 分數
Z 分數是縮放的變化版本,代表平均值的標準偏差數量。您將使用 Z-score 來確保特徵分佈的平均值 = 0 和 std = 1。如果有一些離群值,但並不實用,您需要進行極端處理。
計算點 x 的 Z 分數的公式如下:
\[ x' = (x - μ) / σ \]
圖 4. 比較原始分佈與 Z-score 分佈。
請注意,Z 分數會將原始範圍的範圍從 -40000 縮小到大約 -1 到 +4 的範圍。
假設您不確定離群值是否極端。 在這種情況下,除非您有不想讓模型學習的特徵值,否則請從 Z 分數開始;例如,這是測量錯誤或奇怪的結果。
摘要
正規化技巧 | 公式 | 使用時機 |
---|---|---|
線性調整 | $$ x' = (x - x_{min}) / (x_{max} - x_{min}) $$ | 當功能更平均或更平均地分散在固定範圍內。 |
剪輯 | 如果 x > max,則 x' = max. if x < min, then x' = min | 當特徵包含極端離群值時。 |
記錄檔資源調度 | X' = log(x) | 當功能符合電源法的規定時。 |
Z 分數 | x' = (x - μ) / ↓ | 特徵分佈不含極端離群值。 |