X
X
为m行
n
n
列的矩阵,代表m个样本,每个样本有
n
n
个变量,即有m个等式,未知数
n
n
个,m>n,
θ
θ
和
y
y
为一维向量,该方程没有解,但可以选择适合的θ使等式尽可能接近,如果以残差平方和评价,代价函数为
loss=||Xθ−y||2
l
o
s
s
=
|
|
X
θ
−
y
|
|
2
如何使代价最小是一个优化问题,可以通过梯度下降法求解,也可以通过最小二乘求解,最小二乘解为
θ^=(XTX)−1XTy
θ
^
=
(
X
T
X
)
−
1
X
T
y
最小二乘解是未知变量的无偏估计,但当X不是列满秩或某些列之间的线性相关性比较大时,
XTX
X
T
X
的这些行相同或线性相关性也比较大,使行列式接近于0,即
XTX
X
T
X
接近于奇异,此时
XTX
X
T
X
条件数很大,计算
(XTX)−1
(
X
T
X
)
−
1
时的误差会很大,其解缺乏稳定性和可靠性。X矩阵中不同列之间具有完全或高度相关关系叫做多重共线性,这种情况下用最小二乘求得的解释不可靠的,一言蔽之,模型无偏,方差大,解决办法有:
找到引起多重共线性的变量,将其排除;
使用逐步回归法,逐步添加和排除变量,使最终使用的变量集合最优;(最常用,最有效)
通过加入扰动(正则项),增加解的稳定性,即岭回归。
通过主成分分析得到新的变量集合。
可以用最小二乘法求解的线性回归模型为
y=Xθ+b
y
=
X
θ
+
b
对于y的取值为{0,1}或在[0,1]区间的问题,可以用逻辑回归模型建模
y=σ(Xθ+b)
y
=
σ
(
X
θ
+
b
)
其中
σ
σ
是sigmoid函数
岭回归
岭回归(ridge regression),是线性模型一种有偏回归方法,相比最小二乘法增加了偏差,减小了方差,将最小二乘法中的loss
l
o
s
s
增加l2正则项(二范数的平方||θ||22
|
|
θ
|
|
2
2
,向量内积<θ,θ>
<
θ
,
θ
>
,向量所有元素的平方和∑ni=1θ2i
∑
i
=
1
n
θ
i
2
),损失函数为
loss=||Xθ−y||2+α∑i=1nθ2i
l
o
s
s
=
|
|
X
θ
−
y
|
|
2
+
α
∑
i
=
1
n
θ
i
2
岭回归的解为
θ(α)=(XTX+αI)−1XTy
θ
(
α
)
=
(
X
T
X
+
α
I
)
−
1
X
T
y
去中心化,减去均值X←X−Xmean
X
←
X
−
X
m
e
a
n
,X
X
为m行n
n
列的矩阵
求原始数据协方差矩阵Cov=1m−1(XTX)
计算协方差矩阵的特征值λi
λ
i
和特征向量wi
w
i
取最大的N
N
个特征值,其对应的特征向量形成标准正交基W=(w1,w2,...,wN),n
n
行N列,每列一个特征向量
进行线性变换Y=XW
Y
=
X
W
通过以上过程,n
n
维的X变成了N
N
维Y(N<n
N
<
n
),N
N
的取值可以固定,一般使N个特征值的和与所有特征值的和之比超过一定阈值t(t<1.0)
t
(
t
<
1.0
)
,如t=0.85
t
=
0.85
,t越大,保留的信息越多。
PCA原理推导(为什么要用协方差矩阵的特征值和特征向量)
PCA的目标是求一种正交变换Y=XW
Y
=
X
W
,使变换后各个维度的方差和最大,满足WTW=I
W
T
W
=
I
,这是一个优化问题
maxtr(WTXTXW),st.WTW=I
max
t
r
(
W
T
X
T
X
W
)
,
s
t
.
W
T
W
=
I
因为
XTX
X
T
X
是半正定对称矩阵,所以用拉格朗日乘子法求解
L=tr(WTXTXW)+λ(I−WTW)
L
=
t
r
(
W
T
X
T
X
W
)
+
λ
(
I
−
W
T
W
)
取极值的条件是一阶导数等于0,而且该问题是凸函数,极值就是最值。
∂L∂W=2XTXW−2λW=0
∂
L
∂
W
=
2
X
T
X
W
−
2
λ
W
=
0
因此
λ
λ
是
XTX
X
T
X
的特征值,
W
W
是XTX的特征向量,另外,由于
tr(WTXTXW)=tr(WTdiag(λ1,λ2,...,λn)W)=∑ni=1λi
t
r
(
W
T
X
T
X
W
)
=
t
r
(
W
T
d
i
a
g
(
λ
1
,
λ
2
,
.
.
.
,
λ
n
)
W
)
=
∑
i
=
1
n
λ
i
,因此特征值
λ
λ
越大,该特征的方差越大。推导过程用到了迹的求导公式
d(tr(AXBXT))=AXB+ATXBT
d
(
t
r
(
A
X
B
X
T
)
)
=
A
X
B
+
A
T
X
B
T
其中
A=XTX,B=I
A
=
X
T
X
,
B
=
I
矩阵的迹及其求导公式
矩阵的迹trace是矩阵对角线元素的和
tr(A)=∑i=1nAii
t
r
(
A
)
=
∑
i
=
1
n
A
i
i
矩阵的迹及其导数有以下性质,以下
d(tr(expr))
d
(
t
r
(
e
x
p
r
)
)
表示对表达式中的
X
X
求导
- a∈R,tr(a)=a -
tr(A)=tr(AT)
t
r
(
A
)
=
t
r
(
A
T
)
-
tr(AB)=tr(BA)
t
r
(
A
B
)
=
t
r
(
B
A
)
-
tr(ABC)=tr(CAB)=tr(BCA)
t
r
(
A
B
C
)
=
t
r
(
C
A
B
)
=
t
r
(
B
C
A
)
-
d(tr(X))=I
d
(
t
r
(
X
)
)
=
I
-
d(tr(XB))=d(tr(BX))=BT
d
(
t
r
(
X
B
)
)
=
d
(
t
r
(
B
X
)
)
=
B
T
-
d(tr(XTB))=d(tr(BXT))=B
d
(
t
r
(
X
T
B
)
)
=
d
(
t
r
(
B
X
T
)
)
=
B
-
d(tr(AXB))=ATBT
d
(
t
r
(
A
X
B
)
)
=
A
T
B
T
-
d(tr(AXTB))=BA
d
(
t
r
(
A
X
T
B
)
)
=
B
A
-
d(tr(AXBXT))=AXB+ATXBT
d
(
t
r
(
A
X
B
X
T
)
)
=
A
X
B
+
A
T
X
B
T
-
d(tr(AXBX))=BXA+AXB=ATXTBT+BTXTAT
d
(
t
r
(
A
X
B
X
)
)
=
B
X
A
+
A
X
B
=
A
T
X
T
B
T
+
B
T
X
T
A
T
注意:标量对矩阵求导的结果是矩阵,比如雅克比矩阵
如何证明上述定理,最好理解的办法是将迹展开成求和形式,例如,求该式的导数
f=tr(AXBXCT)=∑i∑j∑k∑l∑mAijXjkBklXlmCim
f
=
t
r
(
A
X
B
X
C
T
)
=
∑
i
∑
j
∑
k
∑
l
∑
m
A
i
j
X
j
k
B
k
l
X
l
m
C
i
m
第一种证明,按角标求:
∂f∂Xjk=∑i∑l∑mAijBklXlmCim=[BXCTA]kj
∂
f
∂
X
j
k
=
∑
i
∑
l
∑
m
A
i
j
B
k
l
X
l
m
C
i
m
=
[
B
X
C
T
A
]
k
j
∂f∂Xlm=∑i∑j∑kAijXjkBklCim=[CTAXB]ml
∂
f
∂
X
l
m
=
∑
i
∑
j
∑
k
A
i
j
X
j
k
B
k
l
C
i
m
=
[
C
T
A
X
B
]
m
l
∂tr(AXBXCT)∂X=ATCXTBT+BTXTATC
∂
t
r
(
A
X
B
X
C
T
)
∂
X
=
A
T
C
X
T
B
T
+
B
T
X
T
A
T
C
第二种证明,利用微分乘法法则 + 迹的基本求导公式:
∂tr(AXBXCT)∂X=∂tr(AXD)∂X+∂tr(EXCT)∂X=ATDT+ETC
∂
t
r
(
A
X
B
X
C
T
)
∂
X
=
∂
t
r
(
A
X
D
)
∂
X
+
∂
t
r
(
E
X
C
T
)
∂
X
=
A
T
D
T
+
E
T
C
其中
D=BXCT,E=AXB
D
=
B
X
C
T
,
E
=
A
X
B
,该方法十分方便例如求下式关于X的导数,对于复杂的算式,依次将每个
X
X
拆分成AXB或
AXTB
A
X
T
B
的形式,运用相应的求导公式,将结果相加即可:
f=tr(AXXTBCXTXC)
f
=
t
r
(
A
X
X
T
B
C
X
T
X
C
)
方差的无偏估计
在PCA求协方差时,前面的系数是1m−1
1
m
−
1
而非1m
1
m
,实际上用的是方差的修正公式,而我们熟知的方差计算公式是有偏的,符号说明:随机变量X
X
,n个样本,各样本为xi
x
i
,总体均值μ
μ
,总体方差σ2
σ
2
,样本均值X¯
X
¯
,样本方差s2
s
2
,具体推导如下
s2E[s2]=1n∑i=1n(xi−X¯)2=1n∑i=1n((xi−μ)+(μ−X¯))2=1n∑i=1n(xi−μ)2+2n∑i=1n(xi−μ)(μ−X¯)+1n∑i=1n(μ−X¯)2=1n∑i=1n(xi−μ)2−(X¯−μ)2≤1n∑i=1n(xi−μ)2=E[1n∑i=1n(xi−μ)2]−E[(X¯−μ)2]=D[X]−D[X¯]=σ2−1nσ2=n−1nσ2
s
2
=
1
n
∑
i
=
1
n
(
x
i
−
X
¯
)
2
=
1
n
∑
i
=
1
n
(
(
x
i
−
μ
)
+
(
μ
−
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
=
1
n
∑
i
=
1
n
(
x
i
−
μ
)
2
−
(
X
¯
−
μ
)
2
≤
1
n
∑
i
=
1
n
(
x
i
−
μ
)
2
E
[
s
2
]
=
E
[
1
n
∑
i
=
1
n
(
x
i
−
μ
)
2
]
−
E
[
(
X
¯
−
μ
)
2
]
=
D
[
X
]
−
D
[
X
¯
]
=
σ
2
−
1
n
σ
2
=
n
−
1
n
σ
2
化简过程中
X¯
X
¯
和
μ
μ
与索引i无关,而且
D[X¯]=D[1n∑i=1nxi]=1n2D[∑i=1nxi]=1n2nD[X]=1nD[X]
D
[
X
¯
]
=
D
[
1
n
∑
i
=
1
n
x
i
]
=
1
n
2
D
[
∑
i
=
1
n
x
i
]
=
1
n
2
n
D
[
X
]
=
1
n
D
[
X
]