今天的博客其实是对一个一直疑惑的数学知识点的讲解,毕竟机器学习还是运用到了大量的数学知识,所以把一些涉及到的数学概念搞清楚还是十分必要的。
方差其实这个概念相信大家都知道,就是 D ( x ) = 1 n ∑ i = 1 n ( x i − E ( x i ) ) 2 D(x)=\frac{1}{n}\sum_{i=1}^n(x_i-E(x_i))^2 D(x)=n1∑i=1n(xi−E(xi))2,其实就是每个样本值和均值均方差的平均值。但是可能会有人看过,在一些机器学习用到的场景中(比方说PCA)公式其实是 D ( x ) = 1 n − 1 ∑ i = 1 n ( x i − E ( x i ) ) 2 D(x)=\frac{1}{n-1}\sum_{i=1}^n(x_i-E(x_i))^2 D(x)=n−11∑i=1n(xi−E(xi))2,虽然和之前的看上去非常像,但是会发现最后公式除的不是 n n n而是 n − 1 n-1 n−1(原来我一直以为是书上印错成了 n − 1 n-1 n−1),这个微小的区别背后涉及到了很深刻的数学知识。
这里面包含了一个数学概念叫做“无偏估计”,“无偏估计”是一个什么概念呢??
首先给一个严格数学上的定义即:对于随机变量
θ
\theta
θ的估计是
θ
∗
\theta^*
θ∗,如果
E
(
θ
)
=
E
(
θ
∗
)
E(\theta)=E(\theta^*)
E(θ)=E(θ∗),那么就说参数
θ
∗
\theta^*
θ∗是参数
θ
\theta
θ的无偏估计。
好像看上去有点不知道在说什么,这个其实就是我们一般在计算数据方差、均值等统计指标的时候,往往由于数据量过大无法计算全部样本,只能采用抽样统计的方式进行估计,比方说我想知道学校中男生的平均身高,很显然是没法通过全量样本来得到最终的目标值,只能按照某种方式进行采样,如每个班随机挑选5个人,然后计算所挑出样本的平均身高,最后近似得到全校男生的平均身高。你会发现在这个过程中,我们能计算统计的对象永远只能是筛选出的样本,而所谓无偏估计就是说筛选出样本的统计指标和全量样本的统计指标是一致的。
让我们再次回到这次要说的方差的例子,
D
(
x
)
=
1
n
∑
i
=
1
n
(
x
i
−
E
(
x
i
)
)
2
D(x)=\frac{1}{n}\sum_{i=1}^n(x_i-E(x_i))^2
D(x)=n1∑i=1n(xi−E(xi))2计算的是样本的方差,而
D
(
x
)
=
1
n
−
1
∑
i
=
1
n
(
x
i
−
E
(
x
i
)
)
2
D(x)=\frac{1}{n-1}\sum_{i=1}^n(x_i-E(x_i))^2
D(x)=n−11∑i=1n(xi−E(xi))2计算的是用样本来无偏估计得到的全量数据的真实方差,为什么前面乘的是
1
n
−
1
\frac{1}{n-1}
n−11而不是
1
n
−
2
\frac{1}{n-2}
n−21或
1
n
−
3
\frac{1}{n-3}
n−31呢?
这其实涉及到严格的数学证明,证明如下所示:
假设样本集方差为
S
2
S^2
S2,全量数据真实方差为
σ
2
\sigma^2
σ2,样本集的均值为
x
∗
x^*
x∗,全量数据真实均值为
μ
\mu
μ
S
2
S^2
S2=
1
n
∑
i
=
1
n
(
x
i
−
x
∗
)
2
\frac{1}{n}\sum_{i=1}^n(x_i-x^*)^2
n1∑i=1n(xi−x∗)2
=
1
n
∑
i
=
1
n
(
x
i
−
μ
+
μ
−
x
∗
)
2
=\frac{1}{n}\sum_{i=1}^n(x_i-\mu+\mu-x^*)^2
=n1∑i=1n(xi−μ+μ−x∗)2
=
1
n
∑
i
=
1
n
[
(
x
i
−
μ
)
2
+
2
(
x
i
−
μ
)
(
μ
−
x
∗
)
+
(
μ
−
x
∗
)
2
]
=\frac{1}{n}\sum_{i=1}^n[(x_i-\mu)^2+2(x_i-\mu)(\mu-x^*)+(\mu-x^*)^2]
=n1∑i=1n[(xi−μ)2+2(xi−μ)(μ−x∗)+(μ−x∗)2]
=
1
n
∑
i
=
1
n
(
x
i
−
μ
)
2
+
2
n
∑
i
=
1
n
(
x
i
−
μ
)
(
μ
−
x
∗
)
+
1
n
∑
i
=
1
n
(
μ
−
x
∗
)
2
=\frac{1}{n}\sum_{i=1}^n(x_i-\mu)^2+\frac{2}{n}\sum_{i=1}^n(x_i-\mu)(\mu-x^*)+\frac{1}{n}\sum_{i=1}^n(\mu-x^*)^2
=n1∑i=1n(xi−μ)2+n2∑i=1n(xi−μ)(μ−x∗)+n1∑i=1n(μ−x∗)2
=
1
n
∑
i
=
1
n
(
x
i
−
μ
)
2
+
2
n
(
μ
−
x
∗
)
∑
i
=
1
n
(
x
i
−
μ
)
+
1
n
∑
i
=
1
n
(
μ
−
x
∗
)
2
=\frac{1}{n}\sum_{i=1}^n(x_i-\mu)^2+\frac{2}{n}(\mu-x^*)\sum_{i=1}^n(x_i-\mu)+\frac{1}{n}\sum_{i=1}^n(\mu-x^*)^2
=n1∑i=1n(xi−μ)2+n2(μ−x∗)∑i=1n(xi−μ)+n1∑i=1n(μ−x∗)2
=
1
n
∑
i
=
1
n
(
x
i
−
μ
)
2
+
2
n
(
μ
−
x
∗
)
∑
i
=
1
n
(
x
∗
−
μ
)
+
1
n
∑
i
=
1
n
(
μ
−
x
∗
)
2
=\frac{1}{n}\sum_{i=1}^n(x_i-\mu)^2+\frac{2}{n}(\mu-x^*)\sum_{i=1}^n(x^*-\mu)+\frac{1}{n}\sum_{i=1}^n(\mu-x^*)^2
=n1∑i=1n(xi−μ)2+n2(μ−x∗)∑i=1n(x∗−μ)+n1∑i=1n(μ−x∗)2
=
1
n
∑
i
=
1
n
(
x
i
−
μ
)
2
−
2
n
(
μ
−
x
∗
)
∑
i
=
1
n
(
μ
−
x
∗
)
+
1
n
∑
i
=
1
n
(
μ
−
x
∗
)
2
=\frac{1}{n}\sum_{i=1}^n(x_i-\mu)^2-\frac{2}{n}(\mu-x^*)\sum_{i=1}^n(\mu-x^*)+\frac{1}{n}\sum_{i=1}^n(\mu-x^*)^2
=n1∑i=1n(xi−μ)2−n2(μ−x∗)∑i=1n(μ−x∗)+n1∑i=1n(μ−x∗)2
=
1
n
∑
i
=
1
n
(
x
i
−
μ
)
2
−
1
n
(
μ
−
x
∗
)
∑
i
=
1
n
(
μ
−
x
∗
)
=\frac{1}{n}\sum_{i=1}^n(x_i-\mu)^2-\frac{1}{n}(\mu-x^*)\sum_{i=1}^n(\mu-x^*)
=n1∑i=1n(xi−μ)2−n1(μ−x∗)∑i=1n(μ−x∗)
=
σ
2
−
D
(
x
∗
)
=\sigma^2-D(x^*)
=σ2−D(x∗)
其中
D
(
x
∗
)
=
D
(
1
n
∑
i
=
1
n
x
i
)
=
1
n
2
D
(
∑
i
=
1
n
x
i
)
D(x^*)=D(\frac{1}{n}\sum_{i=1}^nx_i)=\frac{1}{n^2}D(\sum_{i=1}^nx_i)
D(x∗)=D(n1∑i=1nxi)=n21D(∑i=1nxi)
由于样本都是独立同分布的故有
D
(
x
i
+
x
j
)
=
D
(
x
i
)
+
D
(
x
j
)
D(x_i+x_j)=D(x_i)+D(x_j)
D(xi+xj)=D(xi)+D(xj)
则上述有
D
(
x
∗
)
=
1
n
2
D
(
∑
i
=
1
n
x
i
)
=
1
n
2
∑
i
=
1
n
D
(
x
i
)
=
1
n
2
n
D
(
x
i
)
=
1
n
σ
2
D(x^*)=\frac{1}{n^2}D(\sum_{i=1}^nx_i)=\frac{1}{n^2}\sum_{i=1}^nD(x_i)=\frac{1}{n^2}nD(x_i)=\frac{1}{n}\sigma^2
D(x∗)=n21D(∑i=1nxi)=n21∑i=1nD(xi)=n21nD(xi)=n1σ2
将其带入上式则有
S
2
=
σ
2
−
D
(
x
∗
)
=
σ
2
−
1
n
σ
2
=
n
−
1
n
σ
2
S^2=\sigma^2-D(x^*)=\sigma^2-\frac{1}{n}\sigma^2=\frac{n-1}{n}\sigma^2
S2=σ2−D(x∗)=σ2−n1σ2=nn−1σ2
即有
σ
2
=
n
S
2
n
−
1
\sigma^2=\frac{nS^2}{n-1}
σ2=n−1nS2
可以发现真正全量数据无偏估计的方差其实和样本数据的方差还是有一定区别的,从公式我们也可以发现最后为什么前面的系数是
1
n
−
1
\frac{1}{n-1}
n−11而不是其他的值,这其实是涉及到了深刻的数学知识,绝不是人拍脑袋的一个值。