去量綱:歸一化、標準化
- 1.歸一化(Normalization)
- 1.1 Min-Max Normalization
- 1.2 非線性Normalization
- 2.標準化(Standardlization)
- 2.1 Z-score Normalization
- 3.標準化在梯度下降算法中的重要性
本博文為葫蘆書《百面機器學習》閱讀筆記。
去量綱化 可以消除特征之間量綱的影響,將所有特征統一到一個大致相同的數值區間內;以便不同量級的指標能夠進行比較和加權處理。
去量綱化的好處:
(1).使得不同量綱之間的特征具有可比性,消除量綱引起的特征數值量級對分析結果的影響;
(2).未歸一化的特征數值太大,將引起數值計算問題;
(3).利用梯度下降算法求解的模型,輸入特征數據通常需要歸一化處理(線性回歸,邏輯回歸,支持向量機,神經網絡模型),可以加速算法的收斂過程。
去量綱化的方法:
兩類常用的方法:歸一化、標準化
1.歸一化(Normalization)
1.1 Min-Max Normalization
x′=x?XminXmax?Xminx'=\frac{x-X_{min}}{X_{max}-X_{min}}x′=Xmax??Xmin?x?Xmin??
作用: 將原始特征數據線性映射到[0,1]
優點: 線性變換,對數據進行處理,不會改變原有數據的性質
缺點: 新數據加入,Xmin,XmaxX_{min},X_{max}Xmin?,Xmax?可能會發生變化,所有數據需要重新進行歸一化處理。
1.2 非線性Normalization
對數變換:x′=log?xx'=\log xx′=logx
反正切變換:x′=2πarctan?xx'=\frac{2}{\pi}\arctan xx′=π2?arctanx
適用情況:用于數據分化較大的場景,有些數據很大,有些數據很小 。需要依據數據分布情況,決定使用的非線性函數。
2.標準化(Standardlization)
2.1 Z-score Normalization
零均值標準化
x′=x?μσx'=\frac{x-\mu}{\sigma}x′=σx?μ?
其中:μ\muμ 原始數據均值,σ\sigmaσ原始數據標準差 (數據量很大的情況下,這兩個統計量對 加入新數據 不敏感,故可以處理新添加數據的情況);x?μx-\mux?μ 為數據中心化,將數據中心平移到原點。
適用情況: 原始數據分布接近正態分布,將原始數據 標準化 為均值為0 ,方差為1 的分布。
優點: 線性變換,對數據進行處理,不會改變原有數據的性質
3.標準化在梯度下降算法中的重要性
參考博文:通俗易懂理解特征歸一化對梯度下降算法的重要性https://blog.csdn.net/feijie7788/article/details/89812737
涉及數學知識:
1.一個三維曲面z=f(x,y)z=f(x,y)z=f(x,y)被一系列平面z=cz=cz=c所截得到一系列等值線。
2.曲面上某點P 梯度方向 定義:函數在該點增長最快的方向。
通過方向導數與fxf_xfx?和fyf_yfy?的關系得出函數在P點增長最快的方向為:(fx,fy)(f_x,f_y)(fx?,fy?),即為梯度方向。
3.等值線上 P點法線方向,垂直于P點切線方向。P點切線方向(dx,dy)(dx,dy)(dx,dy),斜率為dydx\frac{dy}{dx}dxdy?, 由隱函數求導規則可得dydx=?fxfy\frac{dy}{dx}=-\frac{f_x}{f_y}dxdy?=?fy?fx??. 則法線斜率為fyfx\frac{f_y}{f_x}fx?fy??,即,法線方向為(fx,fy)(f_x,f_y)(fx?,fy?) .所以曲線上某點的梯度方向,與過該點的等值線的法線方向相同。
4.c=f(x,y)隱函數求導:(兩邊同時對x求導)
0=?f?x+?f?ydydx=>dydx=?fxfy0=\frac{\partial f}{\partial x}+\frac{\partial f}{\partial y}\frac{dy}{d x}=>\frac{dy}{d x}=-\frac{f_x}{f_y}0=?x?f?+?y?f?dxdy?=>dxdy?=?fy?fx??
5.相互垂直兩個向量a=(x1,y1),b=(x2,y2)a=(x_1,y_1),b=(x_2,y_2)a=(x1?,y1?),b=(x2?,y2?),夾角θ\thetaθ
內積定義垂直關系:∣a∣∣b∣cos?θ=0|a||b|\cos \theta=0∣a∣∣b∣cosθ=0
坐標垂直關系:x1x2+y1y2=0x_1x_2+y_1y_2=0x1?x2?+y1?y2?=0(帶入a=x1i+y1j,b=x2i+y2j,a?b計算a=x_1i+y_1j,b=x_2i+y_2j,a*b計算a=x1?i+y1?j,b=x2?i+y2?j,a?b計算)
兩向量與x軸夾角正玄值關系:?1=y2x2y1x1-1=\frac{y_2}{x_2} \frac{y_1}{x_1}?1=x2?y2??x1?y1??
參考博文:
1.梯度方向與等高線方向垂直的理解:https://blog.csdn.net/bitcarmanlee/article/details/85275016
2.等值線與梯度的幾何意義:https://jingyan.baidu.com/article/da1091fb475551027849d6b7.html
3.一文讀懂梯度下降算法(各種導數):https://www.cnblogs.com/hithink/p/7380838.html
4.據預處理之中心化(零均值化)與標準化(歸一化):https://www.cnblogs.com/wangqiang9/p/9285594.html
5.歸一化 (Normalization)、標準化 (Standardization)和中心化/零均值化 (Zero-centered)(簡書):https://www.jianshu.com/p/95a8f035c86c