文章目录
总结一下这几个常见的模型之间的关系,主要关注单响应变量的情况
Ordinary Least Squares(OLS)
最小二乘法是一种常见的回归模型
y
=
X
β
=
β
1
x
1
+
⋯
+
β
n
x
n
β
^
=
a
r
g
m
i
n
β
∣
∣
y
−
X
β
∣
∣
2
β
^
=
(
X
T
X
)
−
1
X
T
y
(1)
\mathbf{y} = X\mathbf{\beta} = \beta_1\mathbf{x_1}+\dots+\beta_n\mathbf{x_n}\\ \hat{\beta} = arg \ \underset{\beta}{min} \ ||y-X\beta||^2 \tag{1} \\ \hat{\beta} = (X^TX)^{-1}X^T\mathbf{y}
y=Xβ=β1x1+⋯+βnxnβ^=arg βmin ∣∣y−Xβ∣∣2β^=(XTX)−1XTy(1)
从几何意义来看,OLS是将 y \mathbf{y} y正交投影到 X X X的列空间,得到 y p \mathbf{y}_p yp,这部分内容可以由 X X X的列线性表示,而 y e \mathbf{y}_e ye正交于 C o l ( X ) Col(X) Col(X)。从上图也可以知道, y p \mathbf{y}_p yp是 X X X列空间所有向量里与 y \mathbf{y} y的夹角是最小的。
Canonical Correlation Analysis(CCA)
典型相关分析主要是分析两组数据之间最相关的成分。
典型相关分析目标是找到投影轴w和c,使得Xw和Yc之间的相关性达到最大
a r g m a x w , c [ ( X w ) T ( Y c ) ] 2 ∣ ∣ ( X w ) ∣ ∣ 2 ∣ ∣ ( Y c ) ∣ ∣ 2 ⇔ a r g m a x w , c c o s ( X w , Y c ) 2 (2) arg \ \underset{w,c}{max} \frac{[(Xw)^T(Yc)]^2}{||(Xw)||^2||(Yc)||^2} \Leftrightarrow arg \ \underset{w,c}{max} \ cos(Xw,Yc)^2 \tag{2} arg w,cmax∣∣(Xw)∣∣2∣∣(Yc)∣∣2[(Xw)T(Yc)]2⇔arg w,cmax cos(Xw,Yc)2(2)
G
c
c
a
=
[
(
X
w
)
T
(
Y
c
)
]
2
∣
∣
(
X
w
)
∣
∣
2
∣
∣
(
Y
c
)
∣
∣
2
∈
[
0
,
1
]
G_{cca} = \frac{[(Xw)^T(Yc)]^2}{||(Xw)||^2||(Yc)||^2} \ \in [0,1]
Gcca=∣∣(Xw)∣∣2∣∣(Yc)∣∣2[(Xw)T(Yc)]2 ∈[0,1]
在单响应变量的时候,上式变为
w
^
=
a
r
g
m
a
x
w
^
∣
∣
y
T
X
w
∣
∣
∣
∣
y
∣
∣
∗
∣
∣
X
w
∣
∣
=
a
r
g
m
a
x
w
^
(
y
T
X
w
)
2
(
y
T
y
)
(
w
T
X
T
X
w
)
s
.
t
.
∣
∣
w
T
X
T
X
w
∣
∣
=
1
(3)
\hat{w} = arg \ \underset{\hat{w}}{max} \ \large{ \tfrac{||y^TXw||}{||y||*||Xw||}}=arg \ \underset{\hat{w}}{max} \tfrac{(y^TXw)^2}{(y^Ty)(w^TX^TXw)} \tag{3} \\ s.t. \ ||w^TX^TXw||=1
w^=arg w^max ∣∣y∣∣∗∣∣Xw∣∣∣∣yTXw∣∣=arg w^max(yTy)(wTXTXw)(yTXw)2s.t. ∣∣wTXTXw∣∣=1(3)
G
c
c
a
=
(
y
T
X
w
)
2
(
y
T
y
)
(
w
T
X
T
X
w
)
G_{cca} =\tfrac{(y^TXw)^2}{(y^Ty)(w^TX^TXw)}
Gcca=(yTy)(wTXTXw)(yTXw)2,由Cauchy-Schwartz不等式可知,
G
c
c
a
∈
[
0
,
1
]
G_{cca} \in [0,1]
Gcca∈[0,1]
对原目标化简,再使用拉格朗日乘子法对w进行求解得到
L
=
(
y
T
X
w
)
2
+
λ
(
w
T
X
T
X
w
−
1
)
2
(4)
{\mathcal L} = (y^TXw)^2+\lambda(w^TX^TXw-1)^2 \tag{4}
L=(yTXw)2+λ(wTXTXw−1)2(4)
两边求对
w
w
w求导,整理得到
X
T
y
y
T
X
w
=
λ
X
T
X
w
(5)
X^Tyy^TXw = \lambda X^TXw \tag{5}
XTyyTXw=λXTXw(5)
两边乘以
w
T
w^T
wT,得到
λ
=
(
w
T
X
T
y
y
T
X
w
)
∈
R
\lambda =(w^TX^Tyy^TXw)\in\mathbb{R}
λ=(wTXTyyTXw)∈R
令 w O L S = β ^ y T X ( X T X ) − 1 X T y w_{OLS}= \large { \tfrac{\hat{\beta}}{y^TX(X^TX)^{-1}X^Ty}} wOLS=yTX(XTX)−1XTyβ^,可以容易发现 w O L S w_{OLS} wOLS满足公式6,也就是是说CCA的解 w c c a = w O L S ∝ β ^ w_{cca}=w_{OLS}\propto \hat{\beta} wcca=wOLS∝β^,也就是说其实OLS和CCA在单响应变量时,其目标可以说是一致的。
从几何意义上解释更直观一些,两个向量的相关性越大,其夹角越小。因此,OLS和CCA在单相应变量时,两者的目标是一致的。
Principal Components Analysis (PCA)
PCA的思想是找到数据代表的最大方差方向,假定此方向包含了最多的数据信息。
这个方向的确定很容易,即
X
T
X
X^TX
XTX的最大特征向量
w
^
=
a
r
g
m
a
x
w
^
w
T
X
T
X
w
=
a
r
g
m
a
x
w
^
w
T
X
T
X
w
[
ρ
(
X
T
X
)
]
2
s
.
t
.
∣
∣
w
T
w
∣
∣
=
1
(6)
\hat{w} = arg \ \underset{\hat{w}}{max} \ w^TX^TXw =arg \ \underset{\hat{w}}{max} \tfrac{w^TX^TXw}{[\rho(X^TX)]^2} \tag{6}\\ s.t. \ ||w^T w||=1
w^=arg w^max wTXTXw=arg w^max[ρ(XTX)]2wTXTXws.t. ∣∣wTw∣∣=1(6)
令
G
p
c
r
=
w
T
X
T
X
w
[
p
(
X
T
X
)
]
2
G_{pcr} = \tfrac{w^TX^TXw}{[p(X^TX)]^2}
Gpcr=[p(XTX)]2wTXTXw,
G
p
c
r
∈
[
0
,
1
]
G_{pcr} \in [0,1]
Gpcr∈[0,1]
对比OLS和PCA可以发现,前者的目标是使得
G
c
c
a
G_{cca}
Gcca最大化,后者是使
G
p
c
r
G_{pcr}
Gpcr最大化。在实际应用中,两个目标往往难以同时达到最大。
Partial Least Squares (PLS)
OLS只关注拟合效果,容易导致过拟合的问题。PCA是一种无监督的数据提取方法,泛化能力好于OLS,有时会引起欠拟合的问题。PLS的出现可以较好的平衡好两者的关系的,它的目标是找到一个权值w使得,Xw和y的协方差最大,见PLS的目标式子
w
^
=
a
r
g
m
a
x
w
^
(
y
T
X
w
)
2
=
a
r
g
m
a
x
w
^
(
(
y
T
X
w
)
2
y
T
y
w
T
X
T
X
w
)
(
(
w
T
X
T
X
w
)
[
ρ
(
X
T
X
)
]
2
)
(
y
t
y
)
=
a
r
g
m
a
x
w
^
G
c
c
a
G
p
c
r
s
.
t
.
∣
∣
w
T
w
∣
∣
=
1
(7)
\hat{w} = arg \ \underset{\hat{w}}{max} \ (y^TXw)^2 =arg \ \underset{\hat{w}}{max} (\tfrac{ (y^TXw)^2}{y^Tyw^TX^TXw})(\tfrac{ (w^TX^TXw)}{[\rho(X^TX)]^2} )(y^ty) =arg \ \underset{\hat{w}}{max} \ G_{cca}G_{pcr} \tag{7}\\ \\s.t. \ ||w^T w||=1
w^=arg w^max (yTXw)2=arg w^max(yTywTXTXw(yTXw)2)([ρ(XTX)]2(wTXTXw))(yty)=arg w^max GccaGpcrs.t. ∣∣wTw∣∣=1(7)
更直观地,可以将单响应变量的PLS的平衡是看作CCA和PCR之间的一种折中。当然,这也绝非最佳的折中方式,但至少可以保证,这是一种最不坏地方式。
Continuum Regression (CR)
PLS 只是 OLS和PCA之间一种特殊的平衡点,将这种平衡泛化就得到了CR
w
^
=
a
r
g
m
a
x
w
^
(
G
c
c
a
)
α
(
G
p
c
r
)
1
−
α
s
.
t
.
∣
∣
w
T
w
∣
∣
=
1
,
α
∈
(
0
,
1
)
(8)
\hat{w} =arg \ \underset{\hat{w}}{max} \ (G_{cca})^{\alpha}(G_{pcr})^{1-\alpha} \tag{8}\\ \\s.t. \ ||w^T w||=1,\alpha \in (0,1)
w^=arg w^max (Gcca)α(Gpcr)1−αs.t. ∣∣wTw∣∣=1,α∈(0,1)(8)
CR包含了OLS( α = 0 \alpha=0 α=0),PLS( α = 0.5 \alpha=0.5 α=0.5),PCA( α = 1 \alpha=1 α=1)
OLS,PLS,PCA 和CR关系
下图中,对于所有的 ∣ ∣ w ∣ ∣ = 1 ||w||=1 ∣∣w∣∣=1, X w Xw Xw构成了一个超椭球面,我们可以找到CCA,PLS,PCR的权值方向,相应的潜在变量为 t c c a , t p l s , t p c r t_{cca},t_{pls},t_{pcr} tcca,tpls,tpcr
这里有一个有趣的几何关系。对 t c c a t_{cca} tcca做一个垂直的线且正切于椭圆,这个切点到圆心的位置就是 t p l s t_{pls} tpls。CR所有可能的点位于 t c c a , t p c r t_{cca},t_{pcr} tcca,tpcr之间,下图蓝色表示的部分。关于为何有这样的几何性质,可以看一下提供的参考文献
Continuum Regression 再泛化
假设CR的潜在变量数目为
l
l
l,可以看到CR的所有潜在变量的收缩因子
α
\alpha
α都是相同的,这完全是不必要的。参考文献里面用到了一种方法实现了CR的再泛化,设置收缩向量因子
α
∈
R
l
×
1
\boldsymbol{\alpha}\in\mathbb{R}^{l\times1}
α∈Rl×1,为每一个潜在变量设置不同的收缩因子
w
i
^
=
a
r
g
m
a
x
w
i
^
(
G
c
c
a
)
α
i
(
G
p
c
r
)
1
−
α
i
(9)
\hat{w_i} =arg \ \underset{\hat{w_i}}{max} \ (G_{cca})^{\boldsymbol{\alpha}_i}(G_{pcr})^{1-\boldsymbol{\alpha}_i} \tag{9}
wi^=arg wi^max (Gcca)αi(Gpcr)1−αi(9)
为了找到最优的
α
\boldsymbol{\alpha}
α,采用了遗传算法。
以上内容的具体细节见以下的参考文献
参考文献
Optimizing a vector of shrinkage factors for continuum regression