首先簡單講一下:其實我覺得這兩個本質上是一樣的 看了好多部落格和論壇 發現每個人講的都不一樣,我直接去英文維基百科 特徵縮放上查了feature scaling 和 英文維基百科 標準化 才基本上明白
部落格的最後 我會特別說一下 吳恩達老師在講解pca的時候 說的均值標準化和特徵縮放
這裡直接翻譯過來
由於原始資料的值範圍變化很大,在一些機器學習演算法中,如果沒有標準化,目標函式將無法正常工作。例如,大多數分類器按歐幾里德距離計算兩點之間的距離。如果其中乙個要素具有寬範圍的值,則距離將受此特定要素的控制。因此,應對所有特徵的範圍進行歸一化,以使每個特徵大致與最終距離成比例。
應用特徵縮放的另乙個原因是梯度下降與特徵縮放比沒有它時收斂得快得多。
x 是乙個原始值,x』是標準化值。例如,假設我們有學生的體重資料,學生的體重跨度[160磅,200磅]。要重新調整此資料,我們首先從每個學生的體重中減去160,然後將結果除以40(最大和最小權重之間的差異)。
在機器學習中,我們可以處理各種型別的資料,例如音訊訊號和影象資料的畫素值,並且該資料可以包括多個維度。特徵標準化使得資料中每個特徵的值具有零均值(當減去分子中的平均值時)和單位方差。該方法廣泛用於許多機器學習演算法(例如,支援向量機,邏輯回歸和人工神經網路)的歸一化。一般的計算方法是確定分布均值和標準差對於每個功能。接下來,我們從每個特徵中減去平均值。然後我們將每個特徵的值(平均值已被減去)除以其標準偏差。
在機器學習中廣泛使用的另一種選擇是縮放特徵向量的分量,使得完整向量具有長度1。這通常意味著將每個元件除以向量的歐幾里德長度:
在一些應用中(例如直方圖特徵),使用特徵向量的l1範數(即曼哈頓距離,城市塊長度或計程車幾何)可能更實際。如果在以下學習步驟中將標量度量用作距離度量,則這尤其重要。
在隨機梯度下降中,特徵縮放有時可以提高演算法的收斂速度。在支援向量機中,它可以減少查詢支援向量的時間。請注意,特徵縮放會更改svm結果。
這裡針對前者 直接給出兩張圖
事實上如果這些輪廓再被放大一些的話,如果你畫的再誇張一些把它畫的更細更長,那麼可能情況會更糟糕,梯度下降的過程可能更加緩慢,需要花更長的時間反覆來回振盪,最終才找到一條正確通往全域性最小值的路。
如果你用這樣的代價函式來執行梯度下降的話,那麼可以從數學上來證明梯度下降演算法將會找到一條更捷徑的路徑通向全域性最小,而不是像剛才那樣 沿著一條讓人摸不著頭腦的路徑,來找到全域性最小值。
因此在這個例子中,通過特徵縮放,我們最終得到的兩個特徵x1和 x2都在0和1之間,這樣你得到的梯度下降演算法就會更快地收斂。
這裡真的不想多說什麼,直接附上一張圖
就是簡單的將每乙個特徵減去它的均值,最後會使每個特徵都具有0均值
特徵縮放就是上面的最大-最小 特徵縮放法
為什麼要特徵標準化及特徵標準化方法
歸一化化就是要把你需要處理的資料經過處理後 通過某種演算法 限制在你需要的一定範圍內。歸一化的原因是什麼那?一是,為了後面資料處理的方便,把不同量綱的東西放在同一量綱下比較,即 把不同 的資料統一到乙個參考係下,這樣比較起來才有意義。簡單的舉個例子 一張表有兩個變數,乙個是體重kg,乙個是身高cm。...
資料特徵歸一化和標準化
每個特徵的數值差異大小會造成分析結果的偏向,例如 身高 m 與體重 kg 1.6m與1.8m的差距只有0.2m,而體重的差距可能達到100 50 50kg的差距,此時用體重去分類結果顯而易見,也即此時體重對分析結果影響較大。見下圖 從此圖可以看出,身高相對體重失去決策能力,而體重卻具有良好非線性去進...
特徵提取 標準化
1 由於歸一化使用最大值最小值進行計算,若最大值或最小值缺失或錯誤,歸一化結果的準確性就會大大降低,為此可採用標準化 2 標準化公式 即 3 api sklearn.preprocessing.standardscaler standardscaler.fit transform x x numpy...