这个真的是让人困惑,分别解释一下,首先说一下方差和均值
μ = E ( x ) σ = D ( x ) \begin {aligned} \mu&=E(x) \\ \sigma &= \sqrt{D(x)} \end {aligned} μσ=E(x)=D(x)
1. 归一化
为什么叫归一化,归一化顾名思义就是将数据转换到0~1之间
x
′
=
x
−
x
m
i
n
x
m
a
x
−
x
m
i
n
=
x
x
m
a
x
−
x
m
i
n
−
x
m
i
n
x
m
a
x
−
x
m
i
n
=
k
x
−
c
x'=\frac{x-x_{min}}{x_{max}-x_{min}}=\frac{x}{x_{max}-x_{min}}-\frac{x_{min}}{x_{max}-x_{min}}=kx-c
x′=xmax−xminx−xmin=xmax−xminx−xmax−xminxmin=kx−c
从上面的数学公式非常容易知道,我们把原始数据转化到0~1之间了,然后我们计算均值和方差
μ
′
=
E
(
x
′
)
=
E
(
k
x
−
c
)
=
k
E
(
x
)
−
c
=
k
μ
−
c
σ
′
=
D
(
x
′
)
=
D
(
k
x
−
c
)
=
k
2
D
(
x
)
=
k
σ
\begin {aligned} \mu'=E(x')=E(kx-c)=kE(x)-c=k\mu-c\\ \sigma^{'}=\sqrt{D(x')}=\sqrt{D(kx-c)}=\sqrt{k^2D(x)}=k\sigma \end {aligned}
μ′=E(x′)=E(kx−c)=kE(x)−c=kμ−cσ′=D(x′)=D(kx−c)=k2D(x)=kσ
2. 标准化
为什么叫标准化呢,标准化的意思就是说把数据变成均值为0,方差为1的数据。(如果数据本身为正态分布,标准化之后就是标准的正态分布)
x
′
=
x
−
μ
σ
=
k
x
−
c
x'=\frac{x-\mu}{\sigma}=kx-c
x′=σx−μ=kx−c
看到奇怪的地方了吗,这两个抽象后的形式竟然是一样的,想想这不是废话吗,我们再看看均值和方差。
μ
′
=
E
(
x
′
)
=
E
(
x
−
μ
σ
)
=
E
(
x
)
−
μ
σ
=
μ
−
μ
σ
=
0
σ
′
=
D
(
x
′
)
=
D
(
x
−
μ
σ
)
=
D
(
x
)
σ
2
=
D
(
x
)
σ
=
1
\begin {aligned} \mu'=E(x')=E(\frac{x-\mu}{\sigma})=\frac{E(x)-\mu}{\sigma}=\frac{\mu-\mu}{\sigma}=0 \\ \sigma'=\sqrt{D(x')}=\sqrt{D(\frac{x-\mu}{\sigma})}=\sqrt{\frac{D(x)}{\sigma^2}}=\frac{\sqrt{D(x)}}{\sigma}=1 \end {aligned}
μ′=E(x′)=E(σx−μ)=σE(x)−μ=σμ−μ=0σ′=D(x′)=D(σx−μ)=σ2D(x)=σD(x)=1
看到了吧,如果我们做了标准化,就会把数据转换成均值为0,方差为1的数据。
3. 极其愚蠢
数据的均值为0,方差为1,这个数据就是标准正态分布吗???肯定不是啊,但是我们做完标准化之后数据的描述变为均值为0,方差为1,我们就认为这是正态分布了,这是极其愚蠢的。注意,线性变换是不会改变数据分布的。
原来是什么分布,z-score变换之后还是原来的分布。因为z-score做的事情是将数据整体偏移(减法)保证了均值为0,随后进行压缩(除法),保证了方差为1。
当数据做了非线性变换之后,才可能改变数据的分布。
思维惯性
为什么会一直觉得标准化会变成 N ( 0 , 1 ) N(0,1) N(0,1)正态分布呢,这是因为,自然界中的数据通常是服从正态分布的,所以标准化之后不会有什么大的改变,反而会把数据压缩大一定的范围,解决量纲不一致问题。