一、k近邻学习
- k近邻(k-Nearest Neighbor,简称kNN) 学习是一种常用的监督学习方法,其工作机制非常简单:给定测试样本,基于某种距离度量找出训练集中与其最靠近的k个训练样本,然后基于这k个“邻居”的信息来进行预测。通常,在分类任务中可使用“投票法”,即选择这k个样本中出现最多的类别标记作为预测结果;在回归任务中可使用“平均法”,即将这k个样本的实值输出作为标记的平均值作为预测结果;还可基于距离远近进行加权平均或加权投票,距离越近的样本权重越大。
- 没有显式的训练过程,事实上,它是 “懒惰学习”(lazy learning) 的著名代表。此列学习技术在训练阶段仅仅是把样本保存起来,训练时间开销为零,待收到测试样本后再进行处理;相应的,那些在训练阶段就对样本进行学习处理的方法,称为“急切学习”(eager learning)
暂且假设距离计算是“恰当”的,即能够恰当地找出k个近邻,对“最近邻分类器”(1NN,即k=1)在二分类问题上的性能做一个简单的讨论。
给定测试样本 x \pmb x xxx,若其最近邻样本为 z \pmb z zzz,则最近邻分类器出错的概率就是将
x \pmb x xxx与 z \pmb z zzz类别标记不同的概率,即
P ( e r r ) = 1 − ∑ c ∈ Y P ( c ∣ x ) P ( c ∣ z ) P(err) = 1 - \sum_{c\in \mathcal Y}P(c|\pmb x)P(c|\pmb z) P(err)=1−c∈Y∑P(c∣xxx)P(c∣zzz)
假设样本独立同分布,且对任意 x \pmb x xxx和任意小正数 δ \delta δ,在 x \pmb x xxx附近 δ \delta δ距离范围内总能找到一个训练样本;换言之,对任意测试样本,总能在任意近的范围内找到训练样本 z \pmb z zzz。令 c ∗ = argmax c ∈ Y P ( c ∣ x ) c^* = \operatorname{argmax}_{c\in \mathcal Y}P(c|\pmb x) c∗=argmaxc∈YP(c∣xxx)表示贝叶斯最优分类器的结果,有
P ( e r r ) = 1 − ∑ c ∈ Y P ( c ∣ x ) P ( c ∣ z ) ≃ 1 − ∑ c ∈ Y P 2 ( c ∣ x ) ≤ 1 − P 2 ( c ∗ ∣ x ) = ( 1 + P ( c ∗ ∣ x ) ) ( 1 − P ( c ∗ ∣ x ) ) ≤ 2 × ( 1 − P ( c ∗ ∣ x ) ) \begin{aligned} P(err) &= 1 - \sum_{c\in \mathcal Y}P(c|\pmb x)P(c|\pmb z)\\ & \simeq1-\sum_{c\in \mathcal Y}P^2(c|\pmb x)\\ & \leq 1-P^2(c^*|\pmb x)\\ & = (1+ P(c^*|\pmb x))(1- P(c^*|\pmb x))\\ & \leq 2\times(1- P(c^*|\pmb x)) \end{aligned} P(err)=1−c∈Y∑P(c∣xxx)P(c∣zzz)≃1−c∈Y∑P2(c∣xxx)≤1−P2(c∗∣xxx)=(1+P(c∗∣xxx))(1−P(c∗∣xxx))≤2×(1−P(c∗∣xxx))
于是得到结论:最近邻分类器虽简单,但它的泛化错误率不超过贝叶斯最优分类器的错误率的两倍
二、低维嵌入
上一节讨论的是基于一个重要假设:任意测试样本
x
\pmb x
xxx附近任意小的
δ
\delta
δ距离范围内总能找到一个训练样本,即训练样本的采样密度足够大,或称为 “密采样”(dense sample)。
事实上,在高维情况下出现的数据样本稀疏、距离计算困难等问题,是所有机器学习方法共同面临的严重障碍,被称为 “维度灾难”(curse of dimensionality)
缓解维度灾难的一个重要途径是 降维(dimension reduction),亦称 “维度简约”,即通过某种数学变换将原始高维空间转换为一个低维 “子空间”(subspace)。人们观测或收集到的数据样本虽是高维的,但与学习任务密切相关的也许仅是某个低维分布,即高维空间中的一个低维“嵌入”(embeding)。
若要求原始空间中样本之间的距离在低维空间中得以保持,即得到 “多维缩放”(Multiple Dimensional Scalling,简称MDS) 这样一种经典的降维方法。
假定m个样本在原始空间的距离矩阵为
D
∈
R
m
×
m
\pmb D\in \mathbb R^{m\times m}
DDD∈Rm×m,其第i行j列的元素
dist
i
j
\operatorname{dist}_{ij}
distij为样本
x
i
\pmb x_i
xxxi到
x
j
\pmb x_j
xxxj的距离。目标是获取样本在d’维空间的表示
Z
∈
R
d
′
×
m
,
d
′
≤
d
\pmb Z\in \mathbb R^{d'\times m},d'\le d
ZZZ∈Rd′×m,d′≤d,且任意两个样本在d’维空间中的欧式距离等于原始空间中的距离,即
∣
∣
z
i
−
z
j
∣
∣
=
d
i
s
t
i
j
||z_i - z_j|| = dist_{ij}
∣∣zi−zj∣∣=distij。
令
B
=
Z
T
Z
∈
R
m
×
m
\pmb B = \pmb Z^T\pmb Z\in \mathbb R^{m\times m}
BBB=ZZZTZZZ∈Rm×m,其中
B
\pmb B
BBB为降维后样本的内积矩阵,
b
i
j
=
z
i
T
z
j
b_{ij} = z_i^Tz_j
bij=ziTzj
d
i
s
t
i
j
2
=
∣
∣
z
i
∣
∣
2
+
∣
∣
z
j
∣
∣
2
−
2
z
i
T
z
j
=
b
i
i
+
b
j
j
−
2
b
i
j
\begin{aligned} dist^2_{ij} &= ||z_i||^2+ ||z_j||^2-2z_i^Tz_j\\ & = b_{ii} + b_{jj} - 2b_{ij} \end{aligned}
distij2=∣∣zi∣∣2+∣∣zj∣∣2−2ziTzj=bii+bjj−2bij
为了便于讨论,令降维后的样本
Z
\pmb Z
ZZZ被中心化,即
∑
i
=
1
m
z
i
=
0
\sum_{i=1}^m z_i = 0
∑i=1mzi=0。显然,矩阵
B
\pmb B
BBB的行与列之和均为零,即
∑
i
=
1
m
b
i
j
=
∑
j
=
1
m
b
i
j
=
0
\sum_{i=1}^m b_{ij} = \sum_{j=1}^m b_{ij}=0
∑i=1mbij=∑j=1mbij=0
∑
i
=
1
m
d
i
s
t
i
j
2
=
t
r
(
B
)
+
m
b
j
j
,
∑
j
=
1
m
d
i
s
t
i
j
2
=
t
r
(
B
)
+
m
b
i
i
,
∑
i
=
1
m
∑
j
=
1
m
d
i
s
t
i
j
2
=
2
m
⋅
t
r
(
B
)
,
\begin{aligned} \sum_{i=1}^m dist_{ij}^2 = tr(\pmb B) + mb_{jj},\\ \sum_{j=1}^m dist_{ij}^2 = tr(\pmb B) + mb_{ii},\\ \sum_{i=1}^m\sum_{j=1}^m dist_{ij}^2 =2m\cdot tr(\pmb B), \end{aligned}
i=1∑mdistij2=tr(BBB)+mbjj,j=1∑mdistij2=tr(BBB)+mbii,i=1∑mj=1∑mdistij2=2m⋅tr(BBB),
其中
t
r
(
⋅
)
tr(\cdot)
tr(⋅)表示矩阵的迹(trace),
t
r
(
B
)
=
∑
i
=
1
m
∣
∣
z
i
∣
∣
2
tr(\pmb B) = \sum_{i=1}^m ||z_i||^2
tr(BBB)=∑i=1m∣∣zi∣∣2。令
d
i
s
t
i
⋅
2
=
1
m
∑
j
=
1
m
d
i
s
t
i
j
2
,
d
i
s
t
⋅
j
2
=
1
m
∑
i
=
1
m
d
i
s
t
i
j
2
,
d
i
s
t
⋅
⋅
2
=
1
m
2
∑
i
=
1
m
∑
j
=
1
m
d
i
s
t
i
j
2
,
\begin{aligned} &dist_{i\cdot}^2 = \frac{1}{m}\sum_{j=1}^m dist_{ij}^2,\\ &dist_{\cdot j}^2 = \frac{1}{m}\sum_{i=1}^m dist_{ij}^2,\\ &dist_{\cdot\cdot}^2 = \frac{1}{m^2}\sum_{i=1}^m\sum_{j=1}^m dist_{ij}^2,\\ \end{aligned}
disti⋅2=m1j=1∑mdistij2,dist⋅j2=m1i=1∑mdistij2,dist⋅⋅2=m21i=1∑mj=1∑mdistij2,
由上列式子可得
b
i
j
=
−
1
2
(
d
i
s
t
i
j
2
−
d
i
s
t
i
⋅
2
−
d
i
s
t
⋅
j
2
+
d
i
s
t
⋅
⋅
2
)
b_{ij} = -\frac{1}{2}(dist_{ij}^2-dist_{i\cdot}^2-dist_{\cdot j}^2 + dist_{\cdot \cdot}^2)
bij=−21(distij2−disti⋅2−dist⋅j2+dist⋅⋅2)
由此即可通过降维前后保持不变的距离矩阵
D
\pmb D
DDD求得内积矩阵
B
\pmb B
BBB。
对矩阵
B
\pmb B
BBB做特征值分解(eigenvalue decomposition),
B
=
V
Λ
V
T
\pmb B = \pmb V \pmb\Lambda\pmb V^T
BBB=VVVΛΛΛVVVT,其中
Λ
=
diag
(
λ
1
,
λ
2
,
⋯
,
λ
d
)
\pmb \Lambda = \operatorname{diag}(\lambda_1,\lambda_2,\cdots,\lambda_d)
ΛΛΛ=diag(λ1,λ2,⋯,λd)为特征值构成的对角矩阵,
λ
1
≥
λ
2
≥
⋯
≥
λ
d
\lambda_1\ge\lambda_2\ge\cdots\ge\lambda_d
λ1≥λ2≥⋯≥λd,
V
\pmb V
VVV为特征向量矩阵。假定其中有
d
∗
d^*
d∗个非零特征值,它们构成对角矩阵
Λ
∗
=
diag
(
λ
1
,
λ
2
,
⋯
,
λ
d
∗
)
\pmb \Lambda_* = \operatorname{diag}(\lambda_1,\lambda_2,\cdots,\lambda_{d^*})
ΛΛΛ∗=diag(λ1,λ2,⋯,λd∗),令
V
∗
\pmb V_*
VVV∗表示相应的特征向量矩阵,则
Z
\pmb Z
ZZZ可表达为
Z
=
Λ
∗
1
/
2
V
∗
T
∈
R
d
∗
×
m
\pmb Z = \pmb \Lambda_*^{1/2}\pmb V_*^T\in \mathbb R^{d^*\times m}
ZZZ=ΛΛΛ∗1/2VVV∗T∈Rd∗×m
在现实应用中为了有效降维,往往仅需要降维后的距离与原始空间中的距离尽可能接近,而不必严格相等。此时可取
d
′
≪
d
d'\ll d
d′≪d个最大特征值构成对角矩阵
Λ
~
=
diag
(
λ
1
,
λ
2
,
⋯
,
λ
d
′
)
\pmb {\tilde \Lambda} = \operatorname{diag}(\lambda_1,\lambda_2,\cdots,\lambda_{d'})
Λ~Λ~Λ~=diag(λ1,λ2,⋯,λd′),则
Z
=
Λ
~
1
/
2
V
~
T
∈
R
d
′
×
m
\pmb Z = \pmb {\tilde\Lambda}^{1/2}\pmb {\tilde V}^T\in \mathbb R^{d'\times m}
ZZZ=Λ~Λ~Λ~1/2V~V~V~T∈Rd′×m
一般来说,欲获得低维子空间,最简单的是对原始高维空间进行线性变换。给定d维空间中的样本
X
=
(
x
1
,
x
2
,
⋯
,
x
m
)
∈
R
d
×
m
\pmb X = (\pmb x_1,\pmb x_2,\cdots,\pmb x_m)\in \mathbb R^{d\times m}
XXX=(xxx1,xxx2,⋯,xxxm)∈Rd×m,变换之后得到
d
′
≤
d
d'\le d
d′≤d维空间样本
Z
=
W
T
X
\pmb Z = \pmb W^T \pmb X
ZZZ=WWWTXXX
其中
W
∈
R
d
×
d
′
\pmb W \in \mathbb R^{d\times d'}
WWW∈Rd×d′是变换矩阵,
Z
∈
R
d
′
×
m
\pmb Z \in \mathbb R^{d'\times m}
ZZZ∈Rd′×m是样本在新空间中的表达
变换矩阵
W
\pmb W
WWW可视为d’个d维基向量,
z
i
=
W
T
x
i
z_i = \pmb W^T \pmb x_i
zi=WWWTxxxi是第i个样本与这d‘个基向量分别做内积而得到的d’维属性向量。换言之,
z
i
\pmb z_i
zzzi是原属性向量
x
i
\pmb x_i
xxxi在新坐标系
{
w
1
,
w
2
,
⋯
,
w
d
′
}
\{\pmb w_1,\pmb w_2,\cdots,\pmb w_{d'}\}
{www1,www2,⋯,wwwd′}中的坐标向量
- 基于线性变换来进行降维的方法称为 线性降维方法,不同之处是对低维子空间的性质不同的要求,相当于对 W \pmb W WWW施加了不同的约束
三、主成分分析
- 主成分分析(Principal Component Analysis,简称为PCA) 是最常用的一种降维方法
如何用一个超平面(直线的高维推广)对所有样本进行恰当的表达?若存在这样的超平面,那么大概应具有这样的性质:
- 最近重构性:样本点到这个超平面的距离都足够近
- 最大可分性:样本点在这个超平面的投影能尽可能分开
假定样本进行了中心化,即
∑
i
x
i
=
0
\sum_{i} \pmb x_i = 0
∑ixxxi=0;再假定投影变换后得到的新的坐标系为
{
w
1
,
w
2
,
⋯
,
w
d
′
}
\{\pmb w_1,\pmb w_2,\cdots,\pmb w_{d'}\}
{www1,www2,⋯,wwwd′},其中
w
i
\pmb w_i
wwwi为标准正交基向量,
∣
∣
w
i
∣
∣
2
=
1
,
w
i
T
w
j
=
0
(
i
≠
j
)
||\pmb w_i||_2 = 1,\pmb w_i^T \pmb w_j = 0(i\ne j)
∣∣wwwi∣∣2=1,wwwiTwwwj=0(i=j)。若丢弃新坐标系中的部门坐标,即将维度降低到
d
′
<
d
d' <d
d′<d,则样本点
x
i
\pmb x_i
xxxi在低维坐标系中的投影是
z
i
=
(
z
i
1
;
z
i
2
;
⋯
;
z
i
d
′
)
\pmb z_i = (z_{i1};z_{i2};\cdots;z_{id'})
zzzi=(zi1;zi2;⋯;zid′),其中
z
i
j
=
w
j
T
x
i
z_{ij} = \pmb w_j^T\pmb x_i
zij=wwwjTxxxi是
x
i
\pmb x_i
xxxi在低维坐标系下第j维的坐标。若基于
z
i
\pmb z_i
zzzi来重构
x
i
\pmb x_i
xxxi,则会得到
x
^
i
=
∑
j
=
1
d
′
z
i
j
w
j
\hat{\pmb x}_i=\sum_{j=1}^{d'}z_{ij}\pmb w_j
xxx^i=∑j=1d′zijwwwj
考虑整个训练集,原样本点
x
i
\pmb x_i
xxxi与基于投影重构的样本点
x
^
i
\hat{\pmb x}_i
xxx^i之间的距离为
∑
i
=
1
m
∣
∣
∑
j
=
1
d
′
z
i
j
w
j
−
x
i
∣
∣
2
2
=
∑
i
=
1
m
z
i
T
z
i
−
2
∑
i
=
1
m
z
i
T
W
T
x
i
+
const
∝
−
t
r
(
W
T
(
∑
i
=
1
m
x
i
x
i
T
)
W
)
\begin{aligned} \sum_{i=1}^m \Bigg|\Bigg|\sum_{j=1}^{d'}z_{ij}\pmb w_j - \pmb x_i\Bigg|\Bigg|_2^2 &= \sum_{i=1}^m \pmb z_i^T \pmb z_i - 2\sum_{i=1}^m \pmb z_i ^T \pmb W^T \pmb x_i + \operatorname{const}\\ & \propto - tr\Bigg( \pmb W^T\Bigg( \sum_{i=1}^m \pmb x_i \pmb x_i^T\Bigg)\pmb W\Bigg) \end{aligned}
i=1∑m∣∣∣∣∣∣∣∣∣∣j=1∑d′zijwwwj−xxxi∣∣∣∣∣∣∣∣∣∣22=i=1∑mzzziTzzzi−2i=1∑mzzziTWWWTxxxi+const∝−tr(WWWT(i=1∑mxxxixxxiT)WWW)
根据最近重构性,上式应该被最小化,考虑到
w
j
\pmb w_j
wwwj是标准正交基,
∑
i
x
i
x
i
T
\sum_i \pmb x_i \pmb x_i^T
∑ixxxixxxiT是协方差矩阵,有
min
W
−
t
r
(
W
T
X
X
T
W
)
s
.
t
.
W
T
W
=
I
.
\begin{aligned} &\underset{W}{\operatorname{min}}- tr( \pmb W^T \pmb X \pmb X^T \pmb W)\\ & s.t. \quad \pmb W^T\pmb W = \pmb I. \end{aligned}
Wmin−tr(WWWTXXXXXXTWWW)s.t.WWWTWWW=III.
这就是主成分分析的优化目标
从最大可分性出发,能得到主成分分析的另一种解释。样本点
x
i
\pmb x_i
xxxi在新空间中超平面上的投影是
W
T
x
i
\pmb W^T \pmb x_i
WWWTxxxi,若所有样本点的投影能尽可能分开,则应该使投影后样本点的方差最大化
投影后样本的方差是
∑
i
W
T
x
i
x
i
T
W
\sum_i \pmb W^T \pmb x_i \pmb x_i^T \pmb W
∑iWWWTxxxixxxiTWWW,于是优化目标可写为
max
W
t
r
(
W
T
X
X
T
W
)
s
.
t
.
W
T
W
=
I
.
\begin{aligned} &\underset{W}{\operatorname{max}} \quad tr( \pmb W^T \pmb X \pmb X^T \pmb W)\\ & s.t. \quad \pmb W^T\pmb W = \pmb I. \end{aligned}
Wmaxtr(WWWTXXXXXXTWWW)s.t.WWWTWWW=III.
使用拉格朗日乘子法可得
X
X
T
W
=
λ
W
\pmb X\pmb X^T\pmb W = \lambda \pmb W
XXXXXXTWWW=λWWW
于是对协方差矩阵
X
X
T
\pmb X\pmb X^T
XXXXXXT进行特征值分解,将求得的特征值排序:
λ
1
≥
λ
2
≥
⋯
≥
λ
d
\lambda_1\ge\lambda_2\ge\cdots\ge\lambda_d
λ1≥λ2≥⋯≥λd,再取前d’个特征值对应的特征向量构成
W
=
(
w
1
,
w
2
,
⋯
,
w
d
′
)
\pmb W = (\pmb w_1,\pmb w_2,\cdots,\pmb w_{d'})
WWW=(www1,www2,⋯,wwwd′)
降维后的低维空间维数d’通常是由用户事先指定,或通过在d’值不同的低维空间中对k近邻分类器(或其他开销较小的学习器)进行交叉验证来选取较好的d’值。对PCA,还可以从重构的角度设置一个重构阈值,例如t=95%,然后选取使下式成立的最小d’值
s
u
m
i
=
1
d
′
λ
i
s
u
m
i
=
1
d
λ
i
≥
t
.
\frac{sum_{i=1}^{d'}\lambda_i}{sum_{i=1}^{d}\lambda_i}\ge t.
sumi=1dλisumi=1d′λi≥t.
PCA仅需保留
W
\pmb W
WWW与样本的均值向量即可通过简单的向量减法和矩阵-向量乘法将新样本投影到低维空间。最小的d-d’个特征值向量被舍弃了,但舍弃这部分信息往往是必要的:一方面,舍弃这部门信息之后能使样本的采样密度增大,这正是降维的重要动机;另一方面,当数据收到噪声影响时,最小的特征值所对应的特征向量往往与噪声有关,将他们舍弃能在一定程度上起到去噪的效果
四、核化线性降维
线性降维方法假设从高维空间到低维空间的函数映射是线性的,然而,在现实任务中,可能需要非线性映射才能找到恰当的低维嵌入jiqiao
为了对“原本采样的”低维空间与降维后的低维空间加以区别,称前者为 “本真”(intrinsic)低维空间
非线性降维的一种常用方法,是基于核技巧对线性降维方法进行 “核化”(kernelized),下面以核主成分分析(Kernelized PCA,简称KPCA)为例来进行演示
假定将在高维特征空间中把数据投影到有
W
\pmb W
WWW确定的超平面上,即PCA欲求解
(
∑
i
=
1
m
z
i
z
i
T
)
W
=
λ
W
\bigg(\sum_{i=1}^m z_iz_i^T\bigg)\pmb W = \lambda \pmb W
(i=1∑mziziT)WWW=λWWW
其中
z
i
\pmb z_i
zzzi是样本点
x
i
\pmb x_i
xxxi在高维特征空间中的像。易知
W
=
1
λ
(
∑
i
=
1
m
z
i
z
i
T
)
W
=
∑
i
=
1
m
z
i
z
i
T
W
λ
=
∑
i
=
1
m
z
i
α
i
\begin{aligned} \pmb W &= \frac{1}{\lambda}\bigg(\sum_{i=1}^m\pmb z_i\pmb z_i^T\bigg)\pmb W = \sum_{i=1}^m\pmb z_i\frac{\pmb z_i^T\pmb W}{\lambda}\\ & = \sum_{i=1}^m \pmb z_i \pmb \alpha_i \end{aligned}
WWW=λ1(i=1∑mzzzizzziT)WWW=i=1∑mzzziλzzziTWWW=i=1∑mzzziαααi
若空间变换能被显式的表达出来:
(
∑
i
=
1
m
ϕ
(
x
i
)
ϕ
(
x
i
)
T
)
W
=
λ
W
W
=
∑
i
=
1
m
ϕ
(
x
i
)
α
i
\bigg(\sum_{i=1}^m \phi(\pmb x_i)\phi(\pmb x_i)^T\bigg)\pmb W = \lambda \pmb W\\ \pmb W = \sum_{i=1}^m \phi(\pmb x_i) \pmb \alpha_i
(i=1∑mϕ(xxxi)ϕ(xxxi)T)WWW=λWWWWWW=i=1∑mϕ(xxxi)αααi
一般情形下,不清楚
ϕ
\phi
ϕ的具体形式,于是引入核函数
κ
(
x
i
,
x
j
)
=
ϕ
(
x
i
)
T
ϕ
(
x
j
)
.
\kappa(\pmb x_i, \pmb x_j) = \phi(\pmb x_i)^T\phi(\pmb x_j).
κ(xxxi,xxxj)=ϕ(xxxi)Tϕ(xxxj).
空间变换可简化为
K
A
=
λ
A
\pmb K \pmb A = \lambda \pmb A
KKKAAA=λAAA
其中
K
\pmb K
KKK为
κ
\kappa
κ对应的核矩阵,
(
K
)
i
j
=
κ
(
x
i
,
x
j
)
,
A
=
(
α
1
;
α
2
;
⋯
;
α
m
)
\pmb (K)_{ij} = \kappa(\pmb x_i, \pmb x_j),\pmb A = (\pmb \alpha_1;\pmb \alpha_2;\cdots;\pmb \alpha_m)
(((K)ij=κ(xxxi,xxxj),AAA=(ααα1;ααα2;⋯;αααm).显然,上式是特征值分解问题,取
K
\pmb K
KKK最大的d’个特征值对应的特征向量即可。
对新样本
x
\pmb x
xxx,其投影后的第
j
(
j
=
1
,
2
,
⋯
,
d
′
)
j(j=1,2,\cdots,d')
j(j=1,2,⋯,d′)维坐标为
z
j
=
w
j
T
ϕ
(
x
)
=
∑
i
=
1
m
α
i
j
ϕ
(
x
i
)
T
ϕ
(
x
)
=
∑
i
=
1
m
α
i
j
κ
(
x
i
,
x
)
\begin{aligned} z_j &= \pmb w_j^T\phi(\pmb x) = \sum_{i=1}^m\alpha_i^j \phi(\pmb x_i)^T\phi(\pmb x)\\ & =\sum_{i=1}^m \alpha_i^j \kappa(\pmb x_i, \pmb x) \end{aligned}
zj=wwwjTϕ(xxx)=i=1∑mαijϕ(xxxi)Tϕ(xxx)=i=1∑mαijκ(xxxi,xxx)
为获得投影后的坐标,KPCA需对所有样本求和,因此它的计算开销较大
五、流行学习
- 流行学习(manifold learning) 是一类借鉴了拓扑流行概念的降维方法。“流行”是在局部与欧式空间同胚的空间,换言之,它在局部具有欧式空间的性质,能用欧式距离来进行计算。这给降维方法带来了很大的启发:若低维流行嵌入到高维空间中,则数据样本在高维空间的分布虽然看起来非常复杂,但在局部上仍具有欧式空间的性质,因此,可以容易地在局部建立降维映射关系,然后再设法将局部映射关系推广到全局。当维数降至二维或三维时,能对数据进行可视化展示,因此流行学习可被用于可视化。
1.等度量映射
- 等度量映射(Isometrix Mapping,简称Isomap) 的基本出发点,是认为低维流行嵌入到高维空间之后,直接在高维空间中计算直线距离具有误导性,因为高维空间中的直线距离在低维嵌入流行上是不可达的
图(a)所示,低维嵌入流形上两点间的距离是 “测地线”(geodesic)距离:想象一只虫子从一点爬到另一点,如果它不能脱离曲面行走,那么图(a)中的红色曲线是距离最短的路径,即S曲面上的测地线,测地点距离是两点之间的本真距离。显然,直接在高维空间中计算直线距离是不恰当的
那么,如何计算测地线距离呢?可利用流行在局部上与欧式距离同胚这个性质,对每个点基于欧式距离找出其相邻点,然后就建立一个近邻连接图,图中近邻点之间存在连续,而非近邻点之间不存在连续,于是,计算两个点之间测地线距离的问题,就转变为计算近邻连接图上两点之间的最短路径的图
在近邻连接图上计算两点之间最短路径,可采用著名的Dijkstra算法Floyd算法,在得到任意两点的距离之后,就可通过介绍的MDS方法获得样本点在低维空间中的坐标
需要注意的是,Isomap仅是得到了训练样本在低维空间的坐标,对于新样本,如何将其映射到低维空间呢?常用的解决方案,是将训练样本的高维空间坐标作为输入、低维空间作为输出,训练一个回归学习器来对新样本的低维空间坐标进行预测。这显然仅是权宜之计,但目前似乎并没有更好的办法
对近邻图的构建通常有两种做法,一种是指定近邻点点数,例如欧式距离最近的k个点为近邻点,这样的到的近邻图称为k近邻图;另一种是指定距离阈值 ϵ \epsilon ϵ,距离小于 ϵ \epsilon ϵ的点被认为是近邻点,这样得到的近邻图称为 ϵ \epsilon ϵ近邻图
2.局部线性嵌入
与Isomap试图保持近邻样本之间的距离不同,局部线性嵌入(Locally Linear Embedding,简称LLE) 试图保持领域内样本之间的线性关系,如图所示,假定样本点
x
i
\pmb x_i
xxxi的坐标能通过它的领域样本
x
j
,
x
k
,
x
l
\pmb x_j,\pmb x_k,\pmb x_l
xxxj,xxxk,xxxl的坐标通过线性组合而重构出来,即
x
i
=
w
i
j
x
j
+
w
i
k
x
k
+
w
i
l
x
l
\pmb x_i = w_{ij}\pmb x_j + w_{ik}\pmb x_k + w_{il}\pmb x_l
xxxi=wijxxxj+wikxxxk+wilxxxl
LLE希望上式得关系在低维空间中得以保持
LLE先为每个样本
x
i
\pmb x_i
xxxi找到其近邻下标集合
Q
i
\pmb Q_i
QQQi,然后计算出基于
Q
i
\pmb Q_i
QQQi中的样本点对
x
i
\pmb x_i
xxxi进行线性重构的系数
w
i
\pmb w_i
wwwi:
min
w
1
,
w
2
,
⋯
,
w
m
∑
i
=
1
m
∣
∣
x
i
−
∑
j
∈
Q
i
w
i
j
x
j
∣
∣
2
2
s
.
t
.
∑
j
∈
Q
i
w
i
j
=
1
,
\underset{w_1,w_2,\cdots,w_m}{\operatorname{min}} \sum_{i=1}^m \Bigg|\Bigg|\pmb x_i - \sum_{j\in Q_i}w_{ij}\pmb x_j\Bigg|\Bigg|_2^2\\ s.t. \quad \sum_{j\in Q_i}w_{ij} = 1,
w1,w2,⋯,wmmini=1∑m∣∣∣∣∣∣∣∣∣∣xxxi−j∈Qi∑wijxxxj∣∣∣∣∣∣∣∣∣∣22s.t.j∈Qi∑wij=1,
其中
x
i
\pmb x_i
xxxi和
x
j
\pmb x_j
xxxj均为已知,令
C
j
k
=
(
x
i
−
x
j
)
T
(
x
i
−
x
j
)
C_{jk} = (\pmb x_i - \pmb x_j)^T(\pmb x_i - \pmb x_j)
Cjk=(xxxi−xxxj)T(xxxi−xxxj),
w
i
j
w_{ij}
wij有闭式解
w
i
j
=
∑
k
∈
Q
i
C
j
k
−
1
∑
l
,
s
∈
Q
i
C
l
s
−
1
w_{ij} = \frac{\sum_{k\in Q_i}C_{jk}^{-1}}{\sum_{l,s\in Q_i}C_{ls}^{-1}}
wij=∑l,s∈QiCls−1∑k∈QiCjk−1
LLE在低维空间中保持
w
i
\pmb w_i
wwwi不变,于是
x
i
\pmb x_i
xxxi对应的低维空间坐标
z
i
\pmb z_i
zzzi可通过下式求解:
min
z
1
,
z
2
,
⋯
,
z
m
∑
i
=
1
m
∣
∣
z
i
−
∑
j
∈
Q
i
w
i
j
z
j
∣
∣
2
2
\underset{z_1,z_2,\cdots,z_m}{\operatorname{min}} \sum_{i=1}^m \Bigg|\Bigg|\pmb z_i - \sum_{j\in Q_i}w_{ij}\pmb z_j\Bigg|\Bigg|_2^2\\
z1,z2,⋯,zmmini=1∑m∣∣∣∣∣∣∣∣∣∣zzzi−j∈Qi∑wijzzzj∣∣∣∣∣∣∣∣∣∣22
令
Z
=
(
z
1
,
z
2
,
⋯
,
z
m
)
∈
R
d
′
×
m
,
(
W
)
i
j
=
w
i
j
\pmb Z = (\pmb z_1,\pmb z_2,\cdots,\pmb z_m) \in \mathbb R^{d'\times m},(\pmb W)_{ij} = w_{ij}
ZZZ=(zzz1,zzz2,⋯,zzzm)∈Rd′×m,(WWW)ij=wij,
M
=
(
I
−
W
)
T
(
I
−
W
)
\pmb M = (\pmb I - \pmb W) ^T(\pmb I - \pmb W)
MMM=(III−WWW)T(III−WWW)
上求解式可重写为
min
Z
t
r
(
Z
M
Z
T
)
,
s
.
t
.
Z
Z
T
=
I
\underset{Z} {\operatorname{min}} \ tr(\pmb Z \pmb M \pmb Z^T),\\ s.t.\ \pmb Z\pmb Z^T = \pmb I
Zmin tr(ZZZMMMZZZT),s.t. ZZZZZZT=III
上式可通过特征值分解求解:
M
\pmb M
MMM最小的d’个特征值对应的特征向量组成的矩阵即为
Z
T
\pmb Z^T
ZZZT
六、度量学习
在机器学习中,对高维数据进行降维的主要目的是希望找到一个适合的低维空间,在此空间中进行学习能比原始空间性能更好。事实上,每个空间对应了在样本属性上定义的一个距离度量,而寻找合适的空间,实质上就是寻找一个合适的距离度量,那么,为何不直接尝试“学习”出一个合适的距离度量呢?这就是度量学习(metric learning) 的基本动机
对两个d维样本
x
i
\pmb x_i
xxxi和
x
j
\pmb x_j
xxxj,它们之间的平方欧式距离可写为
d
i
s
t
e
d
2
(
x
i
,
x
j
)
=
∣
∣
x
i
−
x
j
∣
∣
2
2
=
d
i
s
t
i
j
,
1
2
+
d
i
s
t
i
j
,
2
2
+
⋯
+
d
i
s
t
i
j
,
d
2
,
dist_{ed}^2(\pmb x_i,\pmb x_j) = ||\pmb x_i - \pmb x_j||_2^2 = dist_{ij,1}^2 +dist_{ij,2}^2+\cdots+dist_{ij,d}^2,
disted2(xxxi,xxxj)=∣∣xxxi−xxxj∣∣22=distij,12+distij,22+⋯+distij,d2,
其中
d
i
s
t
i
j
,
k
dist_{ij,k}
distij,k表示
x
i
\pmb x_i
xxxi与
x
j
\pmb x_j
xxxj在第k维上的距离。若假定不同属性的重要性不同,则可引入属性权重
w
\pmb w
www,得到
d
i
s
t
w
e
d
2
(
x
i
,
x
j
)
=
∣
∣
x
i
−
x
j
∣
∣
2
2
=
w
1
⋅
d
i
s
t
i
j
,
1
2
+
w
2
⋅
d
i
s
t
i
j
,
2
2
+
⋯
+
w
d
⋅
d
i
s
t
i
j
,
d
2
=
(
x
i
−
x
j
)
T
W
(
x
i
−
x
j
)
\begin{aligned} dist_{wed}^2(\pmb x_i,\pmb x_j) &= ||\pmb x_i - \pmb x_j||_2^2 = w_1\cdot dist_{ij,1}^2 +w_2\cdot dist_{ij,2}^2+\cdots+w_d\cdot dist_{ij,d}^2\\ & = (\pmb x_i - \pmb x_j)^T \pmb W(\pmb x_i - \pmb x_j) \end{aligned}
distwed2(xxxi,xxxj)=∣∣xxxi−xxxj∣∣22=w1⋅distij,12+w2⋅distij,22+⋯+wd⋅distij,d2=(xxxi−xxxj)TWWW(xxxi−xxxj)
其中
w
i
≥
0
,
W
=
diag
(
w
)
w_i\ge 0, \pmb W = \operatorname{diag}(\pmb w)
wi≥0,WWW=diag(www)是一个对角矩阵,
(
W
)
i
i
=
w
i
(\pmb W)_{ii} = w_i
(WWW)ii=wi
上式中的
W
\pmb W
WWW可通过学习确定,但还能再往前一步:
W
\pmb W
WWW的非对角元素均为零,这意味着坐标轴正交的,即属性之间无关;但现实问题中往往不是这样,为此,将上式中的
W
\pmb W
WWW替换为一个普通的半正定对称矩阵
M
\pmb M
MMM,于是就得到了马氏距离(Mahalanobis distance)
d
i
s
t
m
a
h
2
(
x
i
,
x
j
)
=
(
x
i
−
x
j
)
T
M
(
x
i
−
x
j
)
=
∣
∣
x
i
−
x
j
∣
∣
M
2
dist_{mah}^2(\pmb x_i,\pmb x_j) = (\pmb x_i - \pmb x_j)^T \pmb M(\pmb x_i - \pmb x_j) = ||\pmb x_i - \pmb x_j||_M^2
distmah2(xxxi,xxxj)=(xxxi−xxxj)TMMM(xxxi−xxxj)=∣∣xxxi−xxxj∣∣M2
其中的
M
\pmb M
MMM亦称“度量矩阵”,而度量学习则是对
M
\pmb M
MMM进行学习。注意到为了保持距离非负且对称,
M
\pmb M
MMM必须是(半)正定对称矩阵,即必有正交基
P
\pmb P
PPP使得
M
\pmb M
MMM能重写为
M
=
P
P
T
\pmb M =\pmb P \pmb P^T
MMM=PPPPPPT
对
M
\pmb M
MMM进行学习当然要设置一个目标。假定我们是希望提高近邻分类器的性能,则可将
M
\pmb M
MMM直接嵌入到近邻分类器的评价指标中去,通过优化该性能指标相应地求得
M
\pmb M
MMM。下面以近邻成分分析(Neighborhood Component Analysis,简称NCA) 为例进行讨论
近邻分类器在进行判别时通常使用多数投票法,邻域中的每个样本投1票,领域外的样本投0票。不妨将其替换为概率投票法。对于任意样本
x
j
\pmb x_j
xxxj,它对
x
i
\pmb x_i
xxxi分类结果影响的概率为
p
i
j
=
exp
(
−
∣
∣
x
i
−
x
j
∣
∣
M
2
)
∑
l
exp
(
−
∣
∣
x
i
−
x
l
∣
∣
M
2
)
p_{ij} = \frac{\operatorname{exp}\bigg(-||\pmb x_i - \pmb x_j||_M^2\bigg)}{\sum_l\operatorname{exp}\bigg(-||\pmb x_i - \pmb x_l||_M^2\bigg)}
pij=∑lexp(−∣∣xxxi−xxxl∣∣M2)exp(−∣∣xxxi−xxxj∣∣M2)
当
i
=
j
i=j
i=j时,
p
i
j
p_{ij}
pij最大。显然,
x
j
\pmb x_j
xxxj对
x
i
\pmb x_i
xxxi的影响随着它们之间距离的增大而减小。若以留一法(LOO)正确率的最大化为目标,则可计算
x
i
\pmb x_i
xxxi的留一法正确率,即它被自身之外的所有样本正确分类的概率为
p
i
=
∑
j
∈
Ω
i
p
i
j
p_i = \sum_{j\in \Omega_i}p_{ij}
pi=j∈Ωi∑pij
其中
Ω
i
\Omega_i
Ωi表示与
x
i
\pmb x_i
xxxi属于相同类别的样本的下标集合。于是,整个样本集上的留一法的正确率为
∑
i
=
1
m
p
i
=
∑
i
=
1
m
∑
j
∈
Ω
i
p
i
j
\sum_{i=1}^mp_i = \sum_{i=1}^m\sum_{j\in \Omega_i}p_{ij}
i=1∑mpi=i=1∑mj∈Ωi∑pij
再考虑到
M
=
P
P
T
\pmb M =\pmb P \pmb P^T
MMM=PPPPPPT,则NCA的优化目标为
min
P
1
−
∑
i
=
1
m
∑
j
∈
Ω
i
exp
(
−
∣
∣
P
T
x
i
−
P
T
x
j
∣
∣
2
2
)
∑
l
exp
(
−
∣
∣
P
T
x
i
−
P
T
x
l
∣
∣
2
2
)
\underset{P}{\operatorname{min}}\ 1- \sum_{i=1}^m\sum_{j\in \Omega_i}\frac{\operatorname{exp}\bigg(-||\pmb P^T\pmb x_i - \pmb P^T\pmb x_j||_2^2\bigg)}{\sum_l\operatorname{exp}\bigg(-||\pmb P^T\pmb x_i -\pmb P^T \pmb x_l||_2^2\bigg)}
Pmin 1−i=1∑mj∈Ωi∑∑lexp(−∣∣PPPTxxxi−PPPTxxxl∣∣22)exp(−∣∣PPPTxxxi−PPPTxxxj∣∣22)
求解上式即可得到最大化近邻分类器LOO正确率的度量矩阵
M
\pmb M
MMM
实际上,不仅能把错误率这样的监督学习目的作为度量学习优化的目标,还能在度量学习中引入领域知识。例如,若已知某些样本相似、某些样本不相似,则可定义“必连”(must-link)约束集合
M
\mathcal M
M与“勿连”(cannot-link)约束集合
C
\mathcal C
C,
(
x
i
,
x
j
)
∈
M
(\pmb x_i,\pmb x_j)\in \mathcal M
(xxxi,xxxj)∈M表示两者相似,
(
x
i
,
x
j
)
∈
C
(\pmb x_i,\pmb x_j)\in \mathcal C
(xxxi,xxxj)∈C表示两者不相似。显然我们希望相似的样本之间距离较小,不相似的样本之间距离较大,于是可通过求解下面这个凸优化问题获得适当的度量矩阵
min
M
∑
(
x
i
,
x
j
)
∈
M
∣
∣
x
i
−
x
j
∣
∣
M
2
s
.
t
.
∑
(
x
i
,
x
k
k
i
n
C
∣
∣
x
i
−
x
k
∣
∣
M
2
≥
1
,
M
⪰
0
,
\begin{aligned} & \underset{M}{\operatorname{min}} \sum_{(x_i,x_j)\in \mathcal M}||\pmb x_i - \pmb x_j||_M^2\\ & s.t. \ \sum_{(x_i,x_kkin \mathcal C}||\pmb x_i - \pmb x_k||_M^2 \ge 1,\\ \end{aligned}\\ \pmb M \succeq 0,
Mmin(xi,xj)∈M∑∣∣xxxi−xxxj∣∣M2s.t. (xi,xkkinC∑∣∣xxxi−xxxk∣∣M2≥1,MMM⪰0,
其中约束
M
⪰
0
\pmb M \succeq 0
MMM⪰0表明
M
\pmb M
MMM必须是半正定的
不同的度量学习方法针对不同目标获得“好”的半正定对称距离度量矩阵
M
\pmb M
MMM,若
M
\pmb M
MMM是一个低秩矩阵,则通过对
M
\pmb M
MMM进行特征值分解,总能找到一组正交基,其正交基数目为矩阵
M
\pmb M
MMM的秩
rank
(
M
)
\operatorname{rank}(\pmb M)
rank(MMM),小于原属性数d。于是,度量学习学得的结果可衍生出一个降维矩阵
P
∈
R
d
×
rank
(
M
)
\pmb P\in \mathbb R^{d\times \operatorname{rank}(M)}
PPP∈Rd×rank(M),能用于降维之目的
总结
二刷精简