1 引言
主成分分析(Principal Component Analysis, PCA)是一种经典又常用的数据降维算法(注意这里的降维是指特征提取 ,有时也称子空间学习,还有一支叫特征选择,有兴趣可参这篇博客),它的主要思想是寻找数据分布方差最大的投影方向,可结合下图理解。
图1
如图1标注出了信号和噪音的方差方向。我们找数据变化大的方向,变化大则含信息量大,所以认为它代表信号方向,而认为小的数据波动是由噪音引起。事实上,有个叫信噪比的指标: S N R = σ s i g n a l 2 / σ n o i s e 2 SNR=\sigma_{signal}^2 / \sigma_{noise}^2 SNR=σsignal2/σnoise2, S N R SNR SNR越大( ≫ 1 \gg 1 ≫1),说明信息越准确噪音越少。图中用x,y坐标轴来描述这些数据点的位置,如果我们忽略次要因素,抓主要矛盾,就可以用一个沿着信号方向的轴(投影方向),来刻画这些点,虽然可能会损失一些有用的信息,但是这个过程中我们简化了问题,实现了降维:从二维到一维。
降维的好处:降维可以去除数据中的冗余特征,相应也可减少数据存储空间,更重要的是,方便后续各种算法对数据的进一步处理、分析!
图2
如图2A,把一张“彩色的纸”卷起来。如图2B,在纸上随机选取一些数据。如图2C,把纸摊开。不同的颜色代表不同的类别,在现实生活中,数据的呈现形式往往是这个B样子,同类数据间的欧式距离甚至比非同类的距离都大,所以最好就是找到简单又好分的数据本质的分布空间如C,这种B到C的降维技术就是传说中的流形学习(manifold learning),典型代表有LLE,LPP,NPE等,在此按住不提。总之流行学习是关注局部结构,而PCA关注的是全局。
2 目标函数及求解
上一节简要介绍了PCA的思想,提到了PCA就是找方差大的方向,这一节就是解决怎样来找这些方向。在机器学习模型中,常针对一个要求解的问题,提出若干准则,以此提出一个目标函数,再在数学上对目标函数进行优化,得出问题的解。PCA的准则是,让投影后的数据分布方差尽可能大,所以PCA的目标函数可以这样定义:
max
1
n
∑
i
=
1
n
(
y
i
−
y
‾
)
2
=
max
w
T
w
=
1
1
n
∑
i
=
1
n
(
w
T
x
i
)
2
=
max
w
T
w
=
1
w
T
(
1
n
X
X
T
)
w
=
max
w
T
w
=
1
w
T
C
x
w
(2.1)
\max \frac{1}{n}\sum_{i=1}^n(y_i-\overline{y})^2=\max_{w^Tw=1} \frac{1}{n}\sum_{i=1}^n(w^Tx_i)^2=\max_{w^Tw=1}w^T( \frac{1}{n}XX^T)w=\max_{w^Tw=1}w^TC_xw \tag{2.1}
maxn1i=1∑n(yi−y)2=wTw=1maxn1i=1∑n(wTxi)2=wTw=1maxwT(n1XXT)w=wTw=1maxwTCxw(2.1) 其中,
w
∈
R
d
w\in\mathbb{R}^d
w∈Rd表示投影方向,
y
i
=
w
T
x
i
y_i=w^Tx_i
yi=wTxi是投影后的数据点,
X
=
[
x
1
,
…
,
x
n
]
∈
R
d
×
n
X=[x_1,\ldots,x_n]\in\mathbb{R}^{d\times n}
X=[x1,…,xn]∈Rd×n是数据矩阵,且我们假设它已经被零均值化处理过,即
x
‾
=
1
n
∑
i
x
i
=
0
\overline{x}=\frac{1}{n}\sum_i x_i=0
x=n1∑ixi=0,也自然有
y
‾
=
0
\overline{y}=0
y=0。
C
x
C_x
Cx就是协方差矩阵,有时也用修正后的,即
C
x
=
1
n
−
1
X
X
T
C_x=\frac{1}{n-1}XX^T
Cx=n−11XXT。关于正交约束,可以这样简单理解,一个作用是使目标式子有解,限制
w
w
w的变化范围,另一个作用是选择标准化的坐标轴,接下来会再提到。
上面是学了一个投影方向(也称子空间),即把数据降成一维,如果要学多个投影方向,很自然地,我们可以让它们的和最大,即:
max
∀
j
,
w
j
T
w
j
=
1
∑
j
=
1
c
w
j
T
C
x
w
j
=
max
W
T
W
=
I
c
T
r
(
W
T
C
x
W
)
(2.2)
\max_{\forall j, w_j^Tw_j=1}\sum_{j=1}^c w_j^TC_xw_j =\max_{W^TW=I_c} Tr(W^TC_xW) \tag{2.2}
∀j,wjTwj=1maxj=1∑cwjTCxwj=WTW=IcmaxTr(WTCxW)(2.2) 这里,
W
=
[
w
1
,
…
,
w
c
]
∈
R
d
×
c
W=[w_1,\ldots,w_c]\in\mathbb{R}^{d\times c}
W=[w1,…,wc]∈Rd×c是投影矩阵,
I
c
∈
R
c
×
c
I_c\in\mathbb{R}^{c\times c}
Ic∈Rc×c表示单位矩阵,正交约束使得各投影方向自身是标准化的,且它们之间是两两正交的,为什么要正交,可简单类比我们常用x,y轴表示平面上的点,用xyz轴表示三维空间中的点,都是为了使问题简化而已。
现在就要来求解上述提出的目标式子,更一般地,我们直接对式(2.2)进行操作。设
Λ
∈
R
c
×
c
\Lambda\in\mathbb{R}^{c\times c}
Λ∈Rc×c为拉格朗日乘子,式(2.2)的拉格朗日函数为:
J
(
W
)
=
T
r
(
W
T
C
x
W
)
−
T
r
(
Λ
(
W
T
W
−
I
c
)
)
(2.3)
J(W) =Tr(W^TC_xW)-Tr\left(\Lambda(W^TW-I_c)\right) \tag{2.3}
J(W)=Tr(WTCxW)−Tr(Λ(WTW−Ic))(2.3) 求导并置零得:
∂
J
(
W
)
∂
W
=
2
C
x
W
−
W
(
Λ
+
Λ
T
)
=
0
(2.4)
\frac{\partial J(W)}{\partial W} =2C_xW-W(\Lambda+\Lambda^T) =0 \tag{2.4}
∂W∂J(W)=2CxW−W(Λ+ΛT)=0(2.4)
记
Λ
~
=
1
2
(
Λ
+
Λ
T
)
\tilde{\Lambda}=\frac{1}{2}(\Lambda+\Lambda^T)
Λ~=21(Λ+ΛT),有
C
x
W
=
W
Λ
~
C_xW=W\tilde{\Lambda}
CxW=WΛ~。所以,
W
W
W就是
C
X
C_X
CX的特征向量矩阵,
Λ
~
\tilde{\Lambda}
Λ~是对应的特征值组成的对角矩阵。
J
(
W
)
=
T
r
(
W
T
W
Λ
~
)
=
T
r
(
Λ
~
)
J(W)=Tr(W^TW\tilde{\Lambda})=Tr(\tilde{\Lambda})
J(W)=Tr(WTWΛ~)=Tr(Λ~),要最大化
J
(
W
)
J(W)
J(W),自然取
C
x
C_x
Cx的前
c
c
c个最大的特征值,相应地,
W
W
W就是由
C
x
C_x
Cx的前
c
c
c大特征值对应的特征向量按列组成的矩阵。通过投影矩阵
W
W
W,数据从
d
d
d维降低到
c
c
c维。
关于主成分个数(
c
c
c),通常根据需要保留的方差百分比,即需要保留的信息量来确定。比如我们要保留99%的信息量,将
λ
\lambda
λ从大到小排列,即
λ
1
>
λ
2
>
…
>
λ
n
\lambda_1>\lambda_2>\ldots>\lambda_n
λ1>λ2>…>λn,找到最小的
k
k
k,使满足:
∑
j
=
1
k
λ
j
∑
j
=
1
n
λ
j
≥
0.99
\frac{\sum_{j=1}^k \lambda_j}{\sum_{j=1}^n \lambda_j}\ge 0.99
∑j=1nλj∑j=1kλj≥0.99
3 再理解
上一节,我们走完了机器学习中传统的目标引出和公式推导过程,这一节中,我们尝试从另外几个角度来剖析PCA,最后殊途同归。
3.1 特征值分解
前面已经引出了协方差的概念,在概率论和统计学中,协方差用于衡量变量之间的总体误差,方差是协方差的特例,即两个变量相同情况下的协方差。在协方差矩阵中,对角线元素对应了各变量自身的方差大小,非对角线元素就是不同变量之间的协方差。如果两个变量是统计独立的,那么两者之间的协方差就是0。
所以我们可以直接拿协方差矩阵做文章,简单分析一下,我们想要的协方差矩阵应该是介个样纸的:对角线元素尽可能大,非对角线元素尽量为0,即协方差矩阵最好是一个对角阵。
原始数据
X
X
X,对应原始协方差矩阵
C
x
C_x
Cx,
C
x
C_x
Cx通常含有冗余特征,即非对角,现在我们想要通过一个投影变换
Y
=
W
T
X
Y=W^TX
Y=WTX,使得降维后新数据的协方差矩阵
C
y
=
W
T
C
x
W
C_y=W^TC_xW
Cy=WTCxW (近似)为对角阵。
注意
C
x
C_x
Cx实对称,是一个正规矩阵(满足
A
T
A
=
A
A
T
,
A
∈
R
n
×
n
A^TA=AA^T,A\in\mathbb{R}^{n\times n}
ATA=AAT,A∈Rn×n),根据矩阵论的知识,一定可以对角化:
D
=
P
T
C
x
P
D=P^TC_xP
D=PTCxP,其中
P
∈
R
d
×
d
P\in\mathbb{R}^{d\times d}
P∈Rd×d由
C
x
C_x
Cx的特征向量按列组成,且
P
P
P是个正交阵,
D
∈
R
d
×
d
D\in\mathbb{R}^{d\times d}
D∈Rd×d是对应的特征值组成的对角矩阵。
嘿!这不就是我们想要的对角矩阵嘛,对比
C
y
=
W
T
C
x
W
C_y=W^TC_xW
Cy=WTCxW,我们可令
W
W
W由
P
P
P的某
c
c
c列按列组成,因为我们想要对角元素尽可能大,这
c
c
c列自然是对应
C
x
C_x
Cx的前
c
c
c大特征值的列(特征向量),跟上一节中推导的结果一致!
3.2 奇异值分解(SVD)
SVD(singular value decomposition),即奇异值分解,跟上一小节的特征值分解有很大关联,我们不妨先来对比一下两者:
方法 | 表示 | 说明 |
---|---|---|
特征值分解 | A = P Λ P − 1 A=P\Lambda P^{-1} A=PΛP−1 | A A A是方阵, P P P可逆但不需要是正交阵, Λ \Lambda Λ不需要是半正定阵(因为可以有 λ < 0 \lambda<0 λ<0) |
SVD | A = U Σ V T A=U\Sigma V^T A=UΣVT | A A A不需要为方阵, U , V U,V U,V是正交阵, Σ \Sigma Σ为半正定阵(因为奇异值 ≥ 0 \ge0 ≥0) |
【注】方阵 A A A半正定: ∀ x ∈ R n \forall x\in\mathbb{R}^n ∀x∈Rn,有 x T A x ≥ 0 x^TAx\ge 0 xTAx≥0
令 Y ~ = 1 n X T \tilde{Y}=\frac{1}{\sqrt{n}}X^T Y~=n1XT,则有 Y ~ T Y ~ = 1 n X X T = C x \tilde{Y}^T\tilde{Y}=\frac{1}{n}XX^T=C_x Y~TY~=n1XXT=Cx。对 Y ~ \tilde{Y} Y~进行SVD: Y ~ = U Σ V T \tilde{Y}=U\Sigma V^T Y~=UΣVT,那么 V V V就包含了 Y T Y Y^TY YTY也即 C x C_x Cx的特征向量。SVD这个角度更多地是为了求解的方便(即已知我们要求解的投影方向就是协方差矩阵的特征向量),在数值计算上,SVD比特征值分解要稳定一些,而且对一个 n × n n\times n n×n的矩阵进行特征分解的计算复杂度高达 O ( n 3 ) O(n^3) O(n3)。
补充:不难发现,对于一个对称半正定矩阵 A A A(保证了可对角化和特征值 ≥ 0 \ge0 ≥0),特征分解和奇异值分解是等价的,因为 A = P Λ P T A=P\Lambda P^T A=PΛPT既可以看做是特征分解,也可以看做是 U = V U=V U=V时的奇异值分解,此时 A A A的特征值=奇异值。无巧不成书, C x C_x Cx正是这样一个对称半正定阵!所以我们对 C x C_x Cx进行特征分解或者SVD都是可以得到投影方向滴。
3.3 数据重构
也可从数据重构的角度来看待PCA,主要思想是将投影后的数据重新投影回原空间,使得数据的重构误差最小,公式化表述就是:
min
W
∈
R
d
×
c
∥
X
−
W
W
T
X
∥
F
2
s
.
t
.
w
i
T
w
j
=
0
(
i
≠
j
)
,
w
i
T
w
i
=
1
(3.1)
\min_{W\in\mathbb{R}^{d\times c} } \|X-WW^TX\|_F^2 \quad s.t. \quad w_i^Tw_j=0(i\neq j), w_i^Tw_i=1 \tag{3.1}
W∈Rd×cmin∥X−WWTX∥F2s.t.wiTwj=0(i=j),wiTwi=1(3.1) 首先,如果我们保留100%的信息量,即选择的主成分个数
c
c
c就等于原始维度
d
d
d,相当于不降维,
W
W
W是
d
×
d
d\times d
d×d大小的正交矩阵,有
W
W
T
=
I
d
WW^T=I_d
WWT=Id,此时重构误差为0。下面,我们来证明式(3.1)等价于式(2.2)。
(
3.1
)
⇔
min
W
T
W
=
I
c
T
r
(
X
−
W
W
T
X
)
T
(
X
−
W
W
T
X
)
⇔
max
W
T
W
=
I
c
T
r
(
X
T
W
W
T
X
)
⇔
max
W
T
W
=
I
c
1
n
T
r
(
W
T
X
X
T
W
)
⇔
(
2.2
)
(3.1)\Leftrightarrow \min_{W^TW=I_c} Tr(X-WW^TX)^T(X-WW^TX)\\ \Leftrightarrow \max_{W^TW=I_c} Tr(X^TWW^TX) \\ \Leftrightarrow \max_{W^TW=I_c} \frac{1}{n}Tr(W^TXX^TW) \Leftrightarrow(2.2)
(3.1)⇔WTW=IcminTr(X−WWTX)T(X−WWTX)⇔WTW=IcmaxTr(XTWWTX)⇔WTW=Icmaxn1Tr(WTXXTW)⇔(2.2)
【注】上面第一个等价就是按定义展开,第二个是去掉了一些无关的常数项,不影响最大或最小问题的解,第三个用到了迹的性质Tr(AB)=Tr(BA)。
3.4 低秩近似
还有一种观点,认为PCA是找一个低秩矩阵来近似数据矩阵,用欧式距离来衡量的话,就是:
min
r
a
n
k
(
Z
)
=
c
∥
X
−
Z
∥
F
2
.
(3.2)
\min_{rank(Z)=c} \|X-Z\|_F^2 . \tag{3.2}
rank(Z)=cmin∥X−Z∥F2.(3.2) 根据满秩分解,
Z
∈
R
d
×
n
Z\in\mathbb{R}^{d\times n}
Z∈Rd×n可以分解为:
Z
=
U
V
T
Z=UV^T
Z=UVT,其中
U
∈
R
d
×
c
,
V
∈
R
n
×
c
U\in\mathbb{R}^{d\times c}, V\in\mathbb{R}^{n\times c}
U∈Rd×c,V∈Rn×c,且有
U
T
U
=
I
c
U^TU=I_c
UTU=Ic。式(2.2)可以改写为:
min
U
T
U
=
I
c
,
V
∥
X
−
U
V
T
∥
F
2
.
(3.2)
\min_{U^TU=I_c,V} \|X-UV^T\|_F^2 . \tag{3.2}
UTU=Ic,Vmin∥X−UVT∥F2.(3.2) 这里,
U
U
U可以看做是
d
d
d维空间的
c
c
c个基,
V
V
V可以看做是数据点在该空间中的(低维)表达。下面我们还是来把式(3.2)跟式(2.2)联系起来。式(3.2)对
V
V
V求偏导并置零,可得
V
=
X
T
U
V=X^TU
V=XTU,代回(3.2)中可得:
max
U
T
U
=
I
c
T
r
(
U
T
X
X
T
U
)
.
(3.3)
\max_{U^TU=I_c} Tr(U^TXX^TU) . \tag{3.3}
UTU=IcmaxTr(UTXXTU).(3.3) 又回到最初的起点,PCA现在跟低秩近似也联系起来了。
4 拓展
4.1 PCA与Kmeans
PCA是经典的降维算法,Kmeans是经典的聚类算法,看似八竿子打不着,私下会不会有何联系呢。
Kmeans大意是先随机给定一些聚类中心,然后依据数据点距聚类中心的远近给数据分配簇标签,然后计算新的聚类中心,然后再重新分配,然后再计算,再分配…最终聚类中心会移动到一个比较好的位置,使得数据点距聚类中心的距离的平方和比较小。对,就是根据距离的平方和作为准则的,所以目标函数可以这样写:
min
C
k
∑
k
=
1
K
∑
i
∈
C
k
∥
x
i
−
m
k
∥
2
(4.1)
\min_{C_k}\sum_{k=1}^K \sum_{i\in C_k}\|x_i-m_k\|^2 \tag{4.1}
Ckmink=1∑Ki∈Ck∑∥xi−mk∥2(4.1) 这就是我们常见的Kmeans目标式,其中
K
K
K表示簇的个数,
C
k
C_k
Ck表示第
k
k
k个簇的数据点集合,
m
k
=
∑
i
∈
C
k
1
n
k
x
i
m_k=\sum_{i\in C_k}\frac{1}{n_k}x_i
mk=∑i∈Cknk1xi表示第
k
k
k个簇的聚类中心,
n
k
n_k
nk表示第
k
k
k个簇中的数据点个数。
仅通过(4.1)好像看不出什么名堂,那我们就来变一变,看能不能写出更简便的表达式,因为是要找跟PCA之间的关系,所以联想PCA的目标式,看能不能跟(2.2)套一下近乎。下面是公式推导:
( 4.1 ) ⇔ min ∑ k = 1 K ∑ i ∈ C k ( x i T x i − 2 x i T m k + m k T m k ) ⇔ min ∑ i = 1 n x i T x i − 2 ∑ k = 1 K ∑ i ∈ C k x i T m k + ∑ k = 1 K n k m k T m k ⇔ min ∑ i = 1 n x i T x i − ∑ k = 1 K ∑ i ∈ C k x i T m k ( ∵ n k m k T m k = ∑ i ∈ C k x i T m k ) ⇔ min ∑ i = 1 n x i T x i − ∑ k = 1 K 1 n k ∑ i , j ∈ C k x i T x j ⇔ min T r ( X T X ) − T r ( H T X T X H ) ⇔ max H T H = I , H ≥ 0 T r ( H T K H ) ( 4.2 ) (4.1) \Leftrightarrow \min \sum_{k=1}^K\sum_{i\in C_k} (x_i^Tx_i-2x_i^Tm_k+m_k^Tm_k) \\ \Leftrightarrow \min\sum_{i=1}^nx_i^Tx_i - 2\sum_{k=1}^K\sum_{i\in C_k}x_i^Tm_k + \sum_{k=1}^K n_km_k^Tm_k \\ \Leftrightarrow \min \sum_{i=1}^nx_i^Tx_i - \sum_{k=1}^K\sum_{i\in C_k}x_i^Tm_k \quad(\because n_km_k^Tm_k=\sum_{i\in C_k}x_i^Tm_k)\\ \Leftrightarrow \min\sum_{i=1}^nx_i^Tx_i - \sum_{k=1}^K \frac{1}{n_k}\sum_{i,j\in C_k}x_i^Tx_j \\ \Leftrightarrow \min Tr(X^TX)-Tr(H^TX^TXH) \\ \Leftrightarrow \max_{H^TH=I,H\ge 0} Tr(H^TKH) \quad\quad\quad(4.2) (4.1)⇔mink=1∑Ki∈Ck∑(xiTxi−2xiTmk+mkTmk)⇔mini=1∑nxiTxi−2k=1∑Ki∈Ck∑xiTmk+k=1∑KnkmkTmk⇔mini=1∑nxiTxi−k=1∑Ki∈Ck∑xiTmk(∵nkmkTmk=i∈Ck∑xiTmk)⇔mini=1∑nxiTxi−k=1∑Knk1i,j∈Ck∑xiTxj⇔minTr(XTX)−Tr(HTXTXH)⇔HTH=I,H≥0maxTr(HTKH)(4.2)
其中引入了一个指示矩阵(或称标签矩阵)
H
∈
R
n
×
k
H\in\mathbb{R}^{n\times k}
H∈Rn×k,如果
x
i
x_i
xi是第
j
j
j个簇的,则
H
i
j
=
1
/
n
k
H_{ij}=1/\sqrt{n_k}
Hij=1/nk,否则为0。比如现在有5个样例分别属于两个簇,前两个属于第一个簇,后三个属于第二个簇,则
H
H
H长这样:
[
1
/
2
1
/
2
0
0
0
0
0
1
/
3
1
/
3
1
/
3
]
T
\left[ \begin{matrix} 1/\sqrt{2} & 1/\sqrt{2} & 0 & 0 & 0 \\ 0 & 0 & 1/\sqrt{3} & 1/\sqrt{3} & 1/\sqrt{3} \\ \end{matrix}\right]^T
[1/201/2001/301/301/3]T
K
=
X
T
X
K=X^TX
K=XTX是相似度矩阵,这里是采用的标准内积线性核,也可以扩展到其它核。式(4.2)相比式(4.1)不仅看起来简明多了,而且看上去跟我们目标式(2.2)长得很像,那式(4.2)的解跟式(2.2)的解怎么联系起来呢?还记得上一节中说的特征值分解和SVD分解吧,我们再把它们拿出来瞧瞧(此处忽略
C
x
C_x
Cx中的
1
n
\frac{1}{n}
n1,且不考虑
C
x
C_x
Cx不可逆的情况):
X = U Σ V T C x = X X T = U Λ U T K = X T X = V Λ V T X=U\Sigma V^T \\ C_x=XX^T=U\Lambda U^T \\ K=X^TX = V\Lambda V^T X=UΣVTCx=XXT=UΛUTK=XTX=VΛVT
上面 U ∈ R d × c U\in\mathbb{R}^{d\times c} U∈Rd×c就是PCA中要求的投影矩阵 W W W, V V V是式(4.2)松弛非负约束后的指示矩阵 H H H。从第一行中的式子可以知道, V = X T U Σ − 1 V=X^TU\Sigma^{-1} V=XTUΣ−1,这说明PCA实际上是在进行一种松弛化的Kmeans聚类,簇的指示矩阵就是投影后的数据矩阵(再缩放一下)。
拓展的拓展:1)kernel Kmeans跟谱聚类(spectral clustering)也有关系;2) X X T XX^T XXT也叫总体散度矩阵, X H H T X T XHH^TX^T XHHTXT是类间散度矩阵,可参见线性判别分析LDA,它是另一种经典的降维算法。PCA是无监督的,LDA是有监督。所以Kmeas实际上在 min H T r ( S w ) \min_H Tr(S_w) minHTr(Sw),这里 S w = S t − S b S_w=S_t-S_b Sw=St−Sb是类内散度矩阵。3)LDA是已知标签,调整投影矩阵,Kmeans是调整标签。
4.2 Robust PCA
关于鲁棒PCA这个方向,也有很多研究成果,这里只简单地提一种思路,是关于用
ℓ
1
\ell_1
ℓ1-norm替代
ℓ
2
\ell_2
ℓ2-norm的,这是一种在机器学习中内十分常用的手法,用于实现鲁棒性或稀疏性。涉及到范数,我们先把式(2.2)改写一下:
min
W
T
W
=
I
c
1
n
∑
i
=
1
n
∥
W
T
x
i
∥
2
2
(4.1)
\min_{W^TW=I_c} \frac{1}{n} \sum_{i=1}^n\|W^Tx_i\|_2^2 \tag{4.1}
WTW=Icminn1i=1∑n∥WTxi∥22(4.1) 那么鲁棒PCA就是:
min
W
T
W
=
I
c
1
n
∑
i
=
1
n
∥
W
T
x
i
∥
1
(4.1)
\min_{W^TW=I_c} \frac{1}{n} \sum_{i=1}^n\|W^Tx_i\|_1 \tag{4.1}
WTW=Icminn1i=1∑n∥WTxi∥1(4.1) 关于求解的问题超出本文范畴,感兴趣地可以看相关论文。
主要参考文献
【1】Shlens J. A Tutorial on Principal Component Analysis[J]. 2014, 51(3):219-226.
【2】http://ufldl.stanford.edu/tutorial/unsupervised/PCAWhitening/
【3】Ding C H Q, He X. Principal Component Analysis and Effective K-Means Clustering[C]. SIAM ICDM. DBLP, 2004:126–143.
【4】Masaeli M, Yan Y, Cui Y, et al. Convex Principal Feature Selection[C]. SIAM ICDM. DBLP, 2010:619-628.
【5】Nie F, Yuan J, Huang H. Optimal mean robust principal component analysis[C]. ICML. 2014:1062-1070.
【6】Nie F, Huang H, Ding C, et al. Robust Principal Component Analysis with Non-Greedy L1-Norm Maximization[C]. IJCAI. 2011:1433-1438.