文章目录
Manifold Learning
流行(Manifold)
在Manifold中,只有距离很近的点欧氏距离(Euclidean Distance)才会成立。举例来说,地球表面其实就是三维空间中的一个Manifold,地球表面原本作为二维平面,当被贴在地球实体上时就表现在三维空间中,但如果计算地球表面两地距离时,只有当距离很近的时候才可以直接使用欧氏距离。e
当样本点分布是在高维空间里的一个流行(Manifold),意味着,样本点其实是分布在低维空间里面,只是被扭曲地塞到了一个高维空间中。那么从全局来看,高维空间中的各个维度并没有很强的实际意义,使用线性降维效果可能会很差,于是就会采用非线性的降维。
例如上图的S型曲面,欧氏距离是无法判断两个样本点的相似程度的。Manifold Learning要做的就是把这个S型曲面降维展开,把塞在高维空间里的低维平面摊平。
LLE
局部线性嵌入(Locally Linear Embedding),简称LLE,它的基本思想是:由于只有距离很近的点使得欧氏距离成立,也就是说线性关系只在很小的局部空间中成立,那么在由高维空间降到低位空间的时候,我们只需要保持局部空间的线性关系即可。
局部空间关系的描述
对于在原本高维空间中的样本点,我们只关注
x
i
x^i
xi和它的邻近点
x
j
x^j
xj,并用
w
i
j
w_{ij}
wij来描述
x
i
x_i
xi和
x
j
x_j
xj的关系。对于每一个样本点
x
i
x^i
xi,用它的邻近点
x
j
x^j
xj做linear combination来表示
x
i
x^i
xi,作为它们在局部空间关系的一种描述:
x
i
≈
∑
j
w
i
j
x
j
x^i≈\sum\limits_j w_{ij}x^j
xi≈j∑wijxj
因此描述局部空间关系的问题,转化为找一组使得所有样本点与邻近点线性组合结果的差距能够最小的参数
w
i
j
w_{ij}
wij:
min
∑
i
∣
∣
x
i
−
∑
j
w
i
j
x
j
∣
∣
2
\min\sum\limits_i||x^i-\sum\limits_j w_{ij}x^j ||_2
mini∑∣∣xi−j∑wijxj∣∣2
Dimension Reduction
样本点在空间上的特性得以描述后,就可以做Dimension Reduction了,降维中应该保持样本点局部关系保持不变,也就是把
x
i
x^i
xi和
x
j
x^j
xj降维到
z
i
z^i
zi和
z
j
z^j
zj时,应该保持降维前后两个点之间的关系
w
i
j
w_{ij}
wij保持不变的:
min
∑
i
∣
∣
z
i
−
∑
j
w
i
j
z
j
∣
∣
2
\min\sum\limits_i||z^i-\sum\limits_j w_{ij}z^j ||_2
mini∑∣∣zi−j∑wijzj∣∣2
LLE两点约束条件(LLE并没有给出明确的降维函数,只是给出了降维前后的约束条件)
- 找到高维空间中
x
i
x^i
xi和
x
j
x^j
xj之间的局部空间关系
w
i
j
w_{ij}
wij
min ∑ i ∣ ∣ x i − ∑ j w i j x j ∣ ∣ 2 \min\sum\limits_i||x^i-\sum\limits_j w_{ij}x^j ||_2 mini∑∣∣xi−j∑wijxj∣∣2 - 将局部空间中的样本点
x
i
x^i
xi和
x
j
x^j
xj降维低维空间上的
z
i
z^i
zi和
z
j
z^j
zj
min ∑ i ∣ ∣ z i − ∑ j w i j z j ∣ ∣ 2 \min\sum\limits_i||z^i-\sum\limits_j w_{ij}z^j ||_2 mini∑∣∣zi−j∑wijzj∣∣2
邻近点数K
邻近点的作用在于描述Manifold的局部空间关系,K太小则局部关系没办法完全描述,K太大局部线性关系没办法保持,因此邻近点数K因适中。
Laplacian Eigenmaps
smoothness assumption
semi-supervised learning的smoothness assumption中认为欧氏距离近的点关系并不一定紧密,进一步需要判断两点在high density区域下的距离(connected by a high density path)。如果两个点在high density的区域里比较近,它们的label可能一样。
smoothness assumption graph-based approach
graph-based approach的Simarlity S和Loss funcation L:
S
=
1
2
∑
i
,
j
w
i
,
j
(
y
i
−
y
j
)
2
=
y
T
L
y
L
=
∑
x
r
C
(
y
r
,
y
^
r
)
+
λ
S
S=\frac{1}{2}\sum\limits_{i,j} w_{i,j}(y^i-y^j)^2=y^TLy\\ L=\sum\limits_{x^r} C(y^r,\hat y^r) + \lambda S
S=21i,j∑wi,j(yi−yj)2=yTLyL=xr∑C(yr,y^r)+λS
Loss funcation基于两点建立,一个是labeled data的预测准确度,另一个是graph的整体相似度(相邻样本点的label差距
∣
y
i
−
y
j
∣
|y^i-y^j|
∣yi−yj∣越小越好)。
Application in Unsupervised Task
与semi-supervised任务相同,基于smoothness assumption,定义相同的Simarlity S:
S
=
1
2
∑
i
,
j
w
i
,
j
(
y
i
−
y
j
)
2
S=\frac{1}{2}\sum\limits_{i,j} w_{i,j}(y^i-y^j)^2
S=21i,j∑wi,j(yi−yj)2
与semi-supervised任务不同,unsupervised任务中缺少了labeled data在loss funcation上的限制,因此需要制定额外约束并得出结论:
- 假设降维后的空间为 M M M,我们希望降维后的样本点 z z z尽量占据整个 M M M空间,这个空间就是可降维的最极限情况
- 降维后的样本点 z z z其实就是Graph Laplacian L L L比较小的特征值所对应的特征向量
- 这也是Laplacian Eigenmaps名称的由来,我们找的 z z z就是Laplacian matrix的特征向量
- 如果通过拉普拉斯特征映射找到 z z z之后再对其利用K-means做聚类,就叫做谱聚类(spectral clustering)
(参考文献:Belkin, M., Niyogi, P. Laplacian eigenmaps and spectral techniques for embedding and clustering. Advances in neural information processing systems . 2002)
t-SNE
t分布随机邻近嵌入(T-distributed Stochastic Neighbor Embedding),简称t-SNE,与LLE的不同在于,LLE中只对局部空间中样本点的关系进行了约束,即只约束了相邻点要接近,却没有约束不相近的点要分开,因此可能出现每个cluster位置重合的情况,大量样本点重合难以区分。
LLE on MNIST and COIL-20
MNIST使用LLE虽然确实会把同一个cluster点聚集在一起,但不同的cluster位置重合导致无法区分不同的cluster。COIL-20数据集包含了同一张图片进行旋转之后的不同形态,对其使用LLE降维后得到的结果仍然是不同的cluster位置重合。
t-SNE
- 在原本的高维空间中
- 对某一样本点 x i x^i xi计算它与其他所有点 x j x^j xj的相似度 S ( x i , x j ) S(x^i,x^j) S(xi,xj)
- 得到的所有相似度做归一化,得到一个相似度分布 P ( x j ∣ x i ) = S ( x i , x j ) ∑ k ≠ i S ( x i , x k ) P(x^j|x^i)=\frac{S(x^i,x^j)}{\sum_{k\ne i}S(x^i,x^k)} P(xj∣xi)=∑k=iS(xi,xk)S(xi,xj)
- 在降维后的低维空间中
- 对某一样本点 z i z^i zi计算它与其他所有点 z j z^j zj的相似度 S ( z i , z j ) ′ S(z^i,z^j)' S(zi,zj)′
- 得到的所有相似度做归一化,得到一个相似度分布 Q ( z j ∣ z i ) = S ( z i , z j ) ∑ k ≠ i S ( z i , z k ) Q(z^j|z^i)=\frac{S(z^i,z^j)}{\sum_{k\ne i}S(z^i,z^k)} Q(zj∣zi)=∑k=iS(zi,zk)S(zi,zj)
- KL散度(KL divergence)衡量分布
P
(
x
j
∣
x
i
)
P(x^j|x^i)
P(xj∣xi)和分布
Q
(
z
j
∣
z
i
)
Q(z^j|z^i)
Q(zj∣zi)之间的相似度,并作为损失函数
L = ∑ i K L ( P ( ∗ ∣ x i ) ∣ ∣ Q ( ∗ ∣ z i ) ) = ∑ i ∑ j P ( x j ∣ x i ) l o g P ( x j ∣ x i ) Q ( z j ∣ z i ) L=\sum\limits_i KL(P(*|x^i)||Q(*|z^i))\\ =\sum\limits_i \sum\limits_jP(x^j|x^i)log \frac{P(x^j|x^i)}{Q(z^j|z^i)} L=i∑KL(P(∗∣xi)∣∣Q(∗∣zi))=i∑j∑P(xj∣xi)logQ(zj∣zi)P(xj∣xi)
在高维空间和低维空间中,虽然 S ( x i , x j ) S(x^i,x^j) S(xi,xj)与 S ′ ( z i , z j ) S'(z^i,z^j) S′(zi,zj)的范围可能不一致,但归一化后将它们映射到一个统一的概率区间,就可以判断 P ( x j ∣ x i ) P(x^j|x^i) P(xj∣xi)和 Q ( z j ∣ z i ) Q(z^j|z^i) Q(zj∣zi)的分布的接近程度。通过相对距离的对比,在高维空间映射到低维空间的时候,虽然样本点间的距离会由于空间不同而产生差异,但仍然保持样本点间的相对距离,从而保持smoothness这一特性,同时使原本距离较远的样本点仍然保持距离相对较远。
Similarity Measure
- 原本的高维空间中,样本点的相似度采用RBF function S ( x i , x j ) = e − ∣ ∣ x i − x j ∣ ∣ 2 S(x^i,x^j)=e^{-||x^i-x^j||_2} S(xi,xj)=e−∣∣xi−xj∣∣2
- 在降维后的低维空间中,样本点的相似度可采用不同方法
- SNE方法中,同样采用RBF function S ′ ( z i , z j ) = e − ∣ ∣ z i − z j ∣ ∣ 2 S'(z^i,z^j)=e^{-||z^i-z^j||_2} S′(zi,zj)=e−∣∣zi−zj∣∣2
- t-SNE方法中,采用了t-distribution中的一种 S ′ ( z i , z j ) = 1 1 + ∣ ∣ z i − z j ∣ ∣ 2 S'(z^i,z^j)=\frac{1}{1+||z^i-z^j||_2} S′(zi,zj)=1+∣∣zi−zj∣∣21
t-distribution & RBF function
下图中红色曲线表示RBF function,蓝色曲线表示t-distribution,纵轴表示distribution。
对比曲线的差异:
- 维持相同的distribution(即在同一个水平线上),t-distribution所需的 ∣ ∣ z i − z j ∣ ∣ 2 ||z^i-z^j||_2 ∣∣zi−zj∣∣2更大,也就是样本点间的距离更大。
- 原本离得很近,那么经过t-distribution之间的距离还是很小;原本离得很远,那么从原来的distribution拉到t-distribution之后,距离会更远
也就是说,t-SNE可以聚集相似的样本点形成cluster,同时还会放大不同类别之间的距离,使不同cluster的距离拉大易于区分。
Usage of t-SNE
- t-SNE首先需要计算所有样本点之间的相似度,运算量会比较大,常见的做法是对原先的空间用类似PCA的方法先做一次降维,然后用t-SNE对这个简单降维空间再做一次更深层次的降维,以期减少运算量。
- t-SNE的式子无法对新的样本点进行处理,一旦出现新的 x i x^i xi,就需要重新跑一遍该算法,所以t-SNE通常不是用来训练模型的,它更适合用于做基于固定数据的可视化。t-SNE常用于将固定的高维数据可视化到二维平面上。
Application effect
下图则是对MNIST和COIL-20先做PCA降维,再使用t-SNE降维可视化的结果。
下图是t-SNE使用梯度下降的训练过程。
|
|
KL Divergence
信息熵:
H
=
−
∑
i
=
1
N
p
(
x
i
)
⋅
l
o
g
p
(
x
i
)
H=-\sum\limits_{i=1}^N p(x_i)\cdot log\ p(x_i)
H=−i=1∑Np(xi)⋅log p(xi)
- p ( x i ) p(x_i) p(xi)表示事件 x i x_i xi发生的概率或事物 x i x_i xi在总体中的比重
- 信息熵反映的是一个概率分布所需要的平均信息量
- 一个系统越是混乱,信息熵就越高,对应一个概率分布越分散,则信息熵就越高
KL散度:
D
K
L
(
p
∣
∣
q
)
=
∑
i
=
1
N
p
(
x
i
)
⋅
(
l
o
g
p
(
x
i
)
−
l
o
g
q
(
x
i
)
)
=
∑
i
=
1
N
p
(
x
i
)
⋅
l
o
g
p
(
x
i
)
q
(
x
i
)
D_{KL}(p||q)=\sum\limits_{i=1}^N p(x_i)\cdot (log\ p(x_i)-log\ q(x_i))\\ =\sum\limits_{i=1}^N p(x_i)\cdot log\frac{p(x_i)}{q(x_i)}
DKL(p∣∣q)=i=1∑Np(xi)⋅(log p(xi)−log q(xi))=i=1∑Np(xi)⋅logq(xi)p(xi)
- 对于同一个随机变量 X X X, p p p和 q q q是随机变量 X X X上的不同概率分布, D K L ( p ∣ ∣ q ) D_{KL}(p||q) DKL(p∣∣q)表示 p p p与 q q q之间的差异,概率分布 q q q与概率分布 p p p之间越接近,KL散度越小。