由于在文章主成分分析系列(二)为何特征向量是主成分中提到的 数据 D = { x 1 , x 2 , … x n } \mathbf{D}=\{ \mathbf{x_1},\mathbf{x_2},\dots \mathbf{x_n} \} D={x1,x2,…xn} 的scatter矩阵 S \mathbf{S} S矩阵跟协方差( covariance )矩阵 Σ \Sigma Σ仅仅相差一个标量系数 n − 1 n-1 n−1。下面用协方差矩阵 Σ \Sigma Σ进行描述。
1. v T Σ v \mathbf{v}^{T}\Sigma\mathbf{v} vTΣv为什么是投影后数据的方差
数据
D
=
{
x
1
,
x
2
,
…
x
n
}
\mathbf{D}=\{ \mathbf{x_1},\mathbf{x_2},\dots \mathbf{x_n} \}
D={x1,x2,…xn}(注意,数据
D
\mathbf{D}
D已经零-均值化),将
x
1
,
x
2
,
…
x
n
\mathbf{x_1},\mathbf{x_2},\dots \mathbf{x_n}
x1,x2,…xn 拼成一个大矩阵
X
\mathbf{X}
X
X
∈
R
n
×
d
\mathbf{X} \in \mathbb{R}^{n\times d}
X∈Rn×d
则协方差矩阵
Σ
\Sigma
Σ=
1
n
−
1
X
T
X
\frac{1}{n-1}\mathbf{X}^T\mathbf{X}
n−11XTX
根据简单的线性代数知识,向量
x
i
\mathbf{x}_i
xi 在单位向量
v
\mathbf{v}
v上的投影向量是
u
i
=
(
v
T
x
i
)
v
\mathbf{u}_i=(\mathbf{v}^T\mathbf{x}_i)\mathbf{v}
ui=(vTxi)v
投影后数据在投影方向上的方差是
σ
^
2
=
1
n
−
1
∑
i
=
1
n
∣
∣
(
v
T
x
i
)
v
−
(
v
T
x
ˉ
)
v
∣
∣
2
2
(
x
ˉ
:
=
0
)
=
1
n
−
1
∑
i
=
1
n
∣
∣
(
v
T
x
i
)
v
∣
∣
2
2
=
1
n
−
1
∑
i
=
1
n
(
v
T
x
i
)
2
=
1
n
−
1
(
X
v
)
T
X
v
=
1
n
−
1
v
T
X
T
X
v
=
v
T
Σ
v
\begin{aligned}\hat{\sigma}^2 &=\frac{1}{n-1}\sum_{i=1}^{n}\vert \vert (\mathbf{v}^T\mathbf{x}_i)\mathbf{v}-(\mathbf{v}^T\mathbf{\bar{x}})\mathbf{v} \vert \vert ^2_2\quad(\mathbf{\bar{x}} := \mathbf{0})\\ &= \frac{1}{n-1}\sum_{i=1}^{n}\vert \vert (\mathbf{v}^T\mathbf{x}_i)\mathbf{v} \vert \vert ^2_2\\ &= \frac{1}{n-1}\sum_{i=1}^{n} (\mathbf{v}^T\mathbf{x}_i)^2\\ &= \frac{1}{n-1}(\mathbf{Xv})^T\mathbf{Xv}\\ &= \frac{1}{n-1}\mathbf{v}^T\mathbf{X}^T\mathbf{Xv}\\ &= \mathbf{v}^T\mathbf{\Sigma}\mathbf{v} \end{aligned}
σ^2=n−11i=1∑n∣∣(vTxi)v−(vTxˉ)v∣∣22(xˉ:=0)=n−11i=1∑n∣∣(vTxi)v∣∣22=n−11i=1∑n(vTxi)2=n−11(Xv)TXv=n−11vTXTXv=vTΣv
2.为何协方差矩阵的特征值越大对应的特征向量方向的方差越大
由于
Σ
\Sigma
Σ 是实对称矩阵,所以根据矩阵的 谱分解定理,有:
Σ
=
P
D
P
T
\Sigma=\mathbf{P}\mathbf{D}\mathbf{P}^{T}
Σ=PDPT
其中
P
\mathbf{P}
P 是正交矩阵,
D
\mathbf{D}
D 是对角矩阵
所以有:
v
T
Σ
v
=
v
T
P
D
P
T
v
=
∑
i
=
1
d
λ
i
(
p
i
T
v
)
2
\mathbf{v}^{T}\Sigma\mathbf{v}=\mathbf{v}^{T}\mathbf{P}\mathbf{D}\mathbf{P}^{T}\mathbf{v}=\sum_{i=1}^d\lambda_i(\mathbf{p}_i^T\mathbf{v})^2
vTΣv=vTPDPTv=i=1∑dλi(piTv)2
其中,
p
i
\mathbf{p}_i
pi是矩阵
P
\mathbf{P}
P的第
i
i
i 列,根据谱分解定理,也就是
Σ
\Sigma
Σ 的第
i
i
i 个特征向量。
λ
i
\lambda_i
λi 是矩阵
D
\mathbf{D}
D 的对角线上第
i
i
i 元素。
我们想要
max
∑
i
=
1
d
λ
i
(
p
i
T
v
)
2
\max \sum_{i=1}^d\lambda_i(\mathbf{p}_i^T\mathbf{v})^2
maxi=1∑dλi(piTv)2
由于
{
p
i
}
\{\mathbf{p}_i\}
{pi} 构成一组正交基底,根据正交基底的正交性质与向量内积及
v
\mathbf{v}
v是单位向量决定的(类似于三维坐标系中方向余弦和为1的证明),所以
∑
i
=
1
d
(
p
i
T
v
)
2
=
1
\sum_{i=1}^d(\mathbf{p}_i^T\mathbf{v})^2=1
i=1∑d(piTv)2=1
令
z
i
=
p
i
T
v
z_i=\mathbf{p}_i^T\mathbf{v}
zi=piTv
故考虑上面的优化问题等价于:
max
∑
i
=
1
d
λ
i
z
i
2
,
s.t.
∑
i
=
1
d
z
i
2
=
1.
\text{max }\displaystyle\sum_{i=1}^d\lambda_iz_i^2,\quad\text{ s.t. }\sum_{i=1}^dz_i^2=1.
max i=1∑dλizi2, s.t. i=1∑dzi2=1.
假设
λ
1
≥
λ
1
≥
…
λ
d
\lambda_1 \ge\lambda_1 \ge\dots\lambda_d
λ1≥λ1≥…λd
很明显,我们最好让
z
1
2
=
1
z_1^2=1
z12=1, 其余的
z
i
=
0
z_i=0
zi=0
这意味着
p
1
T
v
=
1
,
and
p
i
T
v
=
0
for all
i
≠
1.
\mathbf{p}_1^T\mathbf{v}=1,\text{ and }\mathbf{p}_i^T\mathbf{v}=0\text{ for all }i\neq 1.
p1Tv=1, and piTv=0 for all i=1.
由于
p
1
\mathbf{p}_1
p1跟
v
\mathbf{v}
v都是单位向量。根据柯西-施瓦茨不等式中的等号成立的条件,
p
1
T
v
=
1
⟺
v
=
c
×
p
1
\mathbf{p}_1^T\mathbf{v}=1⟺\mathbf{v}=c\times\mathbf{p}_1
p1Tv=1⟺v=c×p1
所以,具有最高特征值的特征向量使 PCA 的方差最大化。
协方差矩阵的特征值越大对应的特征向量方向的方差越大。
3. 其他视角
- 数据
D
\mathbf{D}
D 的方差
Var
(
D
)
\text{Var}(\mathbf{D})
Var(D)等于:
Var
(
D
)
=
tr
(
Σ
)
=
∑
i
=
1
d
Σ
i
i
\text{Var}(\mathbf{D})=\text{tr}(\Sigma)=\sum_{i=1}^{d}\mathbf{\Sigma}_{ii}
Var(D)=tr(Σ)=i=1∑dΣii
容易知道,协方差矩阵 Σ \Sigma Σ可以表示成
Σ = 1 n − 1 ∑ i = 1 n x i x i T \Sigma=\frac{1}{n-1}\sum_{i=1}^{n}\mathbf{x}_i\mathbf{x}_i^T Σ=n−11i=1∑nxixiT
根据简单的线性代数知识,向量
x
i
\mathbf{x}_i
xi 在单位向量
v
\mathbf{v}
v上的投影向量是
u
i
=
(
v
T
x
i
)
v
\mathbf{u}_i=(\mathbf{v}^T\mathbf{x}_i)\mathbf{v}
ui=(vTxi)v
针对
x
i
,
i
=
1
,
…
,
n
\mathbf{x}_i, \quad i=1,\dots,n
xi,i=1,…,n,可以得到相应在
v
\mathbf{v}
v的投影向量
u
i
\mathbf{u}_i
ui
那么由
u
i
i
=
1
,
…
n
\mathbf{u}_i \quad i=1,\dots n
uii=1,…n 形成的新的协方差矩阵是:
Σ
p
r
=
1
n
−
1
∑
i
=
1
n
u
i
u
i
T
=
1
n
−
1
∑
i
=
1
n
(
v
T
x
i
)
v
(
(
v
T
x
i
)
v
)
T
=
1
n
−
1
∑
i
=
1
n
v
T
x
i
v
v
T
x
i
T
v
\Sigma_{pr}=\frac{1}{n-1}\sum_{i=1}^{n}\mathbf{u}_i\mathbf{u}_i^T=\frac{1}{n-1}\sum_{i=1}^{n}(\mathbf{v}^T\mathbf{x}_i)\mathbf{v}((\mathbf{v}^T\mathbf{x}_i)\mathbf{v})^T=\frac{1}{n-1}\sum_{i=1}^{n}\mathbf{v}^T\mathbf{x}_i\mathbf{v}\mathbf{v}^{T}\mathbf{x}_i^T\mathbf{v}
Σpr=n−11i=1∑nuiuiT=n−11i=1∑n(vTxi)v((vTxi)v)T=n−11i=1∑nvTxivvTxiTv
=
v
T
(
1
n
−
1
∑
i
=
1
n
x
i
v
v
T
x
i
T
)
v
=\mathbf{v}^{T}(\frac{1}{n-1}\sum_{i=1}^n\mathbf{x}_i\mathbf{v}\mathbf{v}^{T}\mathbf{x}_i^T)\mathbf{v}
=vT(n−11i=1∑nxivvTxiT)v
在 板块 2 中已经知道,方差是
1
n
−
1
v
T
X
T
X
v
\frac{1}{n-1}\mathbf{v}^T\mathbf{X}^T\mathbf{Xv}
n−11vTXTXv
所以我们需要证明:
trace
(
Σ
p
r
)
=
trace
(
v
T
(
1
n
−
1
∑
i
=
1
n
x
i
v
v
T
x
i
T
)
v
)
=
?
1
n
−
1
v
T
X
T
X
v
\text{trace}(\Sigma_{pr}) = \text{trace}(\mathbf{v}^{T}(\frac{1}{n-1}\sum_{i=1}^n\mathbf{x}_i\mathbf{v}\mathbf{v}^{T}\mathbf{x}_i^T)\mathbf{v}) \overset{\text{?}}{=} \frac{1}{n-1}\mathbf{v}^T\mathbf{X}^T\mathbf{Xv}
trace(Σpr)=trace(vT(n−11i=1∑nxivvTxiT)v)=?n−11vTXTXv
但是这个等号好像不成立,怎么说?
参考
- Arnab Auddy (https://math.stackexchange.com/users/451712/arnab-auddy), Why eigenvectors with the highest eigenvalues maximize the variance in PCA?, URL (version: 2019-05-02): https://math.stackexchange.com/q/3211640
- https://qr.ae/py5dFu
- https://stats.stackexchange.com/questions/518992/first-principal-component-direction
- https://stats.stackexchange.com/questions/519050/variance-of-projected-data