數值資料:正規化

透過統計和圖表技巧檢查完資料後 您應該設法轉換資料,讓模型能 有效目標 正規化是指 提供類似的功能以下列兩個示例為例 功能:

  • 地圖項目 X 的範圍介於 154 至 24,917,482 之間。
  • 地圖項目 Y 的範圍介於 5 到 22 之間。

這兩項功能的範圍截然不同。正規化作業可能會 XY 來取得類似的範圍 (可能為 0 到 1)。

正規化具有以下優點:

  • 讓模型在訓練期間更快收訊。 當不同特徵具有不同的範圍時,梯度下降法 「bounce」以及慢慢收斂儘管如此,還有更進階的最佳化工具 畢業Adam 的 並逐漸調整有效學習率
  • 協助模型推測出更準確的預測結果。 如果不同特徵有不同範圍時 可能會產生較不實用的預測結果
  • 有助於在特徵值非常高時避免「NaN 陷阱」NaN 為 「不是數字」。如果模型中的值超過 浮點精確度限制,系統會將值改為 NaN 數字。當模型中有一個數字變成 NaN, 模型最終也會成為 NaN
  • 協助模型瞭解每個特徵的適當權重。 如果沒有特徵縮放功能,模型會專心注意 但資訊廣泛但缺乏足夠關注 或縮小範圍

建議你將數值特徵正規化 範圍 (例如年齡和收入) 我們也建議您正規化涵蓋多個範圍的單一數值特徵 例如 city population.

請考慮下列兩項功能:

  • A」地圖項目的最低值為 -0.5,最高為 +0.5。
  • 地圖項目 B 的最低值為 -5.0,最高值為 +5.0。

地圖項目 A 和地圖項目 B 的跨距相對較小。但功能 B 的 時距的寬度比特徵 A 的跨範圍大 10 倍。因此:

  • 在開始訓練時,模型會假設特徵 A 為十次 較「重要」比功能 B
  • 訓練需要較長的時間。
  • 最終產生的模型可能不夠理想。

非正規化造成的整體損害會相對較小;不過 我們仍建議特徵 A 和特徵 B 正規化為相同的量表 例如 -1.0 至 +1.0

現在,請思考兩項差異較大的特徵:

  • 功能 `C 的最低值為 -1,最高為 +1。
  • D」地圖項目的最低值為 +5000,最高為 +1,000,000,000。

如果您沒有將特徵 C 和特徵 D 正規化,模型很可能會 可能不夠理想而且必須花費更多時間 甚至沒辦法完全收斂!

本節說明三種常用的正規化方法:

  • 線性縮放
  • Z 分數縮放
  • 記錄檔資源調度

本節額外涵蓋 裁剪。雖然不是真的 正規化技術,剪裁會去除不重要的數值特徵 以便產生更好的模型

線性調整

線性資源調度 (較常見 縮短為僅縮放) 表示將浮點值從 自己的自然範圍 (通常為 0 到 1 或 -1 到 +1。

符合下列所有條件時,建議您使用線性資源調度:

  • 資料的上下限不會隨時間改變。
  • 功能包含極少或沒有離群值,且這些離群值沒有 極端!
  • 特徵會平均地分佈在其範圍內。 也就是說,直方圖會針對大多數年齡層顯示大約平均的長條。

假設人類 age 是特徵。線性縮放是良好的正規化 「age」的技術,原因是:

  • 概略值下限和上限均為 0 至 100。
  • age 包含相對較少的離群值。大約只有 0.3% 人口超過 100 人
  • 雖然特定年齡層比其他年齡略高 資料集應包含所有年齡的足夠範例。
,瞭解如何調查及移除這項存取權。

隨堂測驗

假設模型有一個名為 net_worth 的特徵,其中包含網路 適合每個人線性縮放是否會成為良好的正規化 「net_worth」的技巧?原因為何?

Z 分數縮放

Z 分數是指特定值與平均值之間的標準差數。 例如,2 個標準差的值大於平均值 的 Z 分數為 +2.0。標準差 1.5 的值小於 平均值的 Z 分數為 -1.5

代表具有 Z 分數縮放的特徵代表儲存該特徵的 特徵向量中的 Z 分數。舉例來說,下圖顯示 直方圖:

  • 左側為常態分佈,
  • 在右側,相同分佈已透過 Z 分數縮放進行正規化。
圖 4. 兩個直方圖:兩者都顯示正常分佈
           均以相同的分佈為依據第一個包含原始的直方圖
           平均值為 200,標準差為 30第二個
           內含第一個 Z 分數版本的直方圖
           分佈為 0,且標準差為 1。
圖 4. 一般資料 (左側) 與 Z 分數 (右側) 的正常資料 發行。

Z 分數縮放功能也適合用於 一個看起來很明顯的常態分佈。

圖 5. 兩個相同形狀的直方圖,每個直方圖都顯示一個陡峭
            上升到高原,接著相對急速下降
            漸進式衰減其中一個直方圖可說明
            原始資料的分佈情形另一個直方圖則說明
            。
            兩個直方圖的 X 軸值差異很大。
            原始資料直方圖涵蓋網域 0 到 29,000,
            Z 分數經過調整的直方圖範圍 -1 到 +4.8
圖 5. 原始資料 (左側) 與 Z 分數縮放 (右側) 非傳統常態分佈

當資料與常態分佈或 有點像常態分佈

請注意,部分發布作業在 但其中仍包含極端離群值舉例來說,幾乎所有 net_worth 特徵中的資料點可整併成 3 個標準差 但這項功能有幾百個標準差 你太過分心在這些情況下,您可以結合 另一種正規化 (通常為剪輯) 來處理這種情況。

練習:隨堂測驗

假設模型使用名為 height 的特徵訓練,該特徵包含成人 女性人數超過 1000 萬Z 分數縮放是否為良好正規化? 「height」的技巧?原因為何?

記錄檔資源調度

對數縮放會計算原始值的對數。理論上 對數可以是任何底數;在實際執行時 自然對數 (ln)。

如果資料符合權力法分佈,記錄檔縮放比例會有所幫助。 隨興的權法分配如下:

  • 低的X值為 Y
  • 隨著 X 的值增加,Y 的值會快速減少。 因此,高值 X 的值非常低 (Y)。

電影分級就是權力法散佈的良好範例。在下列項目中 ,請注意:

  • 有些電影的使用者評分非常高,(低 X 的值為高) Y 的值)。
  • 大多數電影的使用者評分很少。(高值 X 的值偏低) Y 的值)。

記錄檔資源調度會改變分佈情形,有助於訓練 以便做出更準確的預測

圖 6. 比較原始資料和原始資料的兩張圖表。
            原始資料圖表在標題中顯示很多使用者評分
            長尾記錄檔圖表顯示的資料分佈更完整。
圖 6. 比較原始分配與其記錄。

第二個例子是,書籍銷售符合權力法發行規定,原因如下:

  • 大部分出版書籍只賣出少量的複本,可能只有一到兩百本。
  • 有些書籍內含數千本書籍,數量適中。
  • 只有少數暢銷商品會賣出超過一百萬份的複本。

假設您正在訓練線性模型來找出關聯性 例如以書籍銷售為例對原始值進行線性模型訓練 有些書籍的封面賣出百萬本書籍,因此必須尋找一些書籍封面 比只銷售 100 本書籍的封面設計出 10,000 件最強大的書籍。 然而,對所有銷售數據增加記錄,讓工作更可行。 例如,100 的記錄為:

  ~4.6 = ln(100)

而 1,000,000 的記錄為:

  ~13.8 = ln(1,000,000)

因此,1,000,000 的紀錄只比 100 的紀錄高大約三倍。 你或許「能」想像一下暢銷書封面大約 3 次 功能反而比只銷售小小的書籍封面更好 (有些許好處)。

裁剪

裁剪是一種技巧 盡可能降低極端離群值的影響簡單來說,剪裁通常大寫 (減少) 離群值與特定最大值。剪輯是一種 這個想法可能很有效

舉例來說,假設資料集包含名為 roomsPerPerson 的特徵, 當中包含房間數量 (會議室總數除以 來篩選各個房子的乘客人數。下圖顯示 99% 的特徵值符合常態分佈 (大約是 1.8,標準差為 0.7)。不過,這項功能 有幾個離群值,有些是極端的:

圖 7. 顯示幾乎所有數值的房間人偶
            介於 0 到 4 之間,但有很大的長尾
            一到每人最多可入住 17 間會議室
圖 7. 這通常是正常的,但並非完全正常。

你如何盡可能降低這些極端離群值的影響? 直方圖並非均勻分佈、常態分配或權力法 發行。如果您只使用 capclip 這個最大值 「roomsPerPerson」做為任意值,例如 4.0?

所有值均介於 0 至 1 之間的人房 (PerPerson)
            4.0.謎題看起來像是鐘型,但 4.0 處有異常山丘
圖 8. 在 4.0 裁剪特徵值。

將特徵值裁剪為 4.0,並不代表模型會忽略所有 大於 4.0 的值而是代表所有大於 100 的值 大於 4.0說明 4.0 號的孔雀山。儘管 現在,按比例調整的特徵集會比原始資料更實用。

等等!您可以把每個離群值確實減少成任意上限 門檻?訓練模型時答案是

您也可以在套用其他正規化後裁剪值。 例如,假設您使用 Z 分數縮放功能,但有好幾個異常值 絕對值大於 3在這種情況下,你可以:

  • 將 Z 分數大於 3 剪輯成剛好 3。
  • 將 Z 分數小於 -3 的剪輯片段,使其完全符合 -3。

剪輯可避免模型在不重要的資料上過度索引。不過 事實上,一些離群值很重要 因此,剪輯片段值務必要謹慎

正規化技術摘要

正規化技術公式使用時機
線性調整 $$ x' = \frac{x - x_{min}}{x_{max} - x_{min}} $$ 特徵統一分佈於 固定範圍
Z 分數縮放 $$ x' = \frac{x - μ}{σ}$$ 特徵分佈不含極端離群值時。
記錄檔資源調度 $$ x' = log(x)$$ 功能符合電力法規時。
裁剪 如果 $x >max$,設為「$x」= 最高$
如果 $x <min$,設為「$x」= 分鐘$
地圖項目含有極端離群值時。

練習:考考你的知識

如果將某項功能正規化 下列分佈情形?

直方圖顯示資料叢集,值範圍是 0 到
          20 萬人。資料點的數量範圍會逐漸增加
          再從 100,000 次
          20 萬人。

Z 分數縮放
資料點通常會與常態分佈保持一致,因此 Z 分數 縮放比例將強迫在 3 到 +3 之間
線性縮放
複習本頁正規化技術討論。 然後再試一次。
記錄檔資源調度
複習本頁正規化技術討論。 然後再試一次。
裁剪
複習本頁正規化技術討論。 然後再試一次。

假設您想開發一個可預測資料中心的 衡量的工作效率。 資料集中的所有 temperature 值幾乎都會下滑 介於 15 到 30 (攝氏) 之間,但有以下例外:

  • 每年一到兩次,在極熱的日子裡 31 和 45 會記錄在 temperature 中。
  • temperature 中,每 1,000 個點會設為 1,000 而不是實際溫度

以下何者是合理的正規化技術 temperature?

剪除 31 到 45 之間的離群值,但刪除具有 的值是 1,000

1,000 的值有誤,應將其刪除,而非 未完整播放。

31 到 45 之間的值都是合法的資料點。 假設 這個溫度範圍未包含足夠的樣本, 以便訓練模型進行良好預測不過在推論期間 請注意,經過裁剪的模型 將溫度設為 45 度

裁剪所有離群值
複習本頁正規化技術討論。 然後再試一次。
刪除所有離群值
複習本頁正規化技術討論。 然後再試一次。
刪除 31 到 45 之間的離群值,但裁剪 值為 1,000 的離群值
複習本頁正規化技術討論。 然後再試一次。