【机器学习】PCA推导
PCA(主成分分析)是一种线性降维方式,它基于最大重构性对数据进行降维。
记数据集为
X
m
×
n
X_{m\times n}
Xm×n,其中
m
m
m为样本数量,
n
n
n为原始特征空间的特征维数。设线性变换矩阵为
W
n
×
d
W_{n\times d}
Wn×d,其中列向量之间彼此正交,且模长为1。则降维后的样本
Z
=
X
W
Z=XW
Z=XW, 重构损失可以表示为
l
o
s
s
=
∣
∣
X
−
X
W
W
T
∣
∣
F
2
loss = || X-XWW^T||_{F}^{2}
loss=∣∣X−XWWT∣∣F2.
arg
min
θ
∣
∣
X
−
X
W
W
T
∣
∣
F
2
=
arg
min
θ
t
r
[
(
X
−
X
W
W
T
)
(
X
−
X
W
W
T
)
T
]
=
arg
min
θ
t
r
[
(
X
−
X
W
W
T
)
(
X
T
−
W
W
T
X
T
)
]
=
arg
min
θ
t
r
(
X
X
T
−
2
X
W
W
T
X
T
−
X
W
W
T
W
W
T
X
T
)
=
arg
min
θ
t
r
(
X
X
T
−
2
X
W
W
T
X
T
+
X
W
W
T
X
T
)
(
因
为
W
T
W
=
E
d
×
d
)
)
=
arg
min
θ
t
r
(
X
X
T
−
X
W
W
T
X
T
)
=
arg
min
θ
t
r
(
−
X
W
W
T
X
T
)
=
arg
max
θ
t
r
(
X
W
W
T
X
T
)
=
arg
max
θ
t
r
[
W
T
(
X
T
X
)
W
]
\begin{aligned} &\mathop{\arg\min}\limits_{\theta} || X-XWW^T||_{F}^{2}\\ =&\mathop{\arg\min}\limits_{\theta} tr[(X-XWW^T)(X-XWW^T)^T]\\ =&\mathop{\arg\min}\limits_{\theta} tr[(X-XWW^T)(X^T-WW^TX^T)]\\ =&\mathop{\arg\min}\limits_{\theta} tr(XX^T-2XWW^TX^T-XWW^TWW^TX^T)\\ =&\mathop{\arg\min}\limits_{\theta} tr(XX^T-2XWW^TX^T+XWW^TX^T)(因为W^TW=E_{d\times d}))\\ =&\mathop{\arg\min}\limits_{\theta} tr(XX^T-XWW^TX^T)\\ =&\mathop{\arg\min}\limits_{\theta} tr(-XWW^TX^T)\\ =&\mathop{\arg\max}\limits_{\theta} tr(XWW^TX^T)\\ =&\mathop{\arg\max}\limits_{\theta} tr[W^T(X^TX)W]\\ \end{aligned}
========θargmin∣∣X−XWWT∣∣F2θargmintr[(X−XWWT)(X−XWWT)T]θargmintr[(X−XWWT)(XT−WWTXT)]θargmintr(XXT−2XWWTXT−XWWTWWTXT)θargmintr(XXT−2XWWTXT+XWWTXT)(因为WTW=Ed×d))θargmintr(XXT−XWWTXT)θargmintr(−XWWTXT)θargmaxtr(XWWTXT)θargmaxtr[WT(XTX)W]
令
X
T
X
=
Q
Λ
Q
T
,
W
=
Q
Y
X^TX=Q\Lambda Q^T, W=QY
XTX=QΛQT,W=QY,则有
arg
max
θ
t
r
[
W
T
(
X
T
X
)
W
]
=
arg
max
θ
t
r
[
Y
T
Q
T
Q
Λ
Q
T
Q
Y
]
=
arg
max
θ
t
r
[
Y
T
Λ
Y
]
\begin{aligned} &\mathop{\arg\max}\limits_{\theta} tr[W^T(X^TX)W]\\ = &\mathop{\arg\max}\limits_{\theta} tr[Y^TQ^TQ\Lambda Q^TQY]\\ = &\mathop{\arg\max}\limits_{\theta} tr[Y^T\Lambda Y]\\ \end{aligned}
==θargmaxtr[WT(XTX)W]θargmaxtr[YTQTQΛQTQY]θargmaxtr[YTΛY]
从而PCA降维至
d
d
d维后其最优值维
d
d
d个最大的特征值的和,
Y
Y
Y维单位矩阵,线性变换矩阵对应的特征向量.(这个从而有点尴尬,但是我不会啦,网上也没找到相关的证明,都是从而)
PCA去中心化与不去中心化的区别:
从最大重构性的角度,是否去中心化无关紧要。
从最大可分性的角度,即最大化数据集的方差,需要中心化。中心化后最大重构性与最大可分性是等价的。中心化是有用的,在继续往下推的时候会用到