(《机器学习》完整版系列)第10章 降维与度量学习——10.8 流形学习(等度量映射Isomap算法、局部线性嵌入LLE算法)
拓扑“流形”是指局部与欧氏空间同胚的空间,简言之,形象地理解为: 流畅地“拼接”局部超平面(每一个“局部”都能都能视为欧氏空间)。等度量映射策略:将空间中视为一个紧挨一个的“局部”拼接而成,而“局部”视为欧氏空间(定义了欧氏距离)局部线性嵌入策略:它的局部是指$k$近邻,在局部可以用一个超平面替换(低维流形嵌入高维中),且这种嵌入具有“线性关系”不变的特点
提示:
拓扑“流形”是指局部与欧氏空间同胚的空间,简言之,形象地理解为: 流畅地“拼接”局部超平面(每一个“局部”都能都能视为欧氏空间)。
等度量映射策略:将空间中视为一个紧挨一个的“局部”拼接而成,而“局部”视为欧氏空间(定义了欧氏距离)
局部线性嵌入策略:它的局部是指
k
k
k近邻,在局部可以用一个超平面替换(低维流形嵌入高维中),且这种嵌入具有“线性关系”不变的特点
流形学习
拓扑“流形”是指局部与欧氏空间同胚的空间,简言之,形象地理解为: 流畅地“拼接”局部超平面(每一个“局部”都能都能视为欧氏空间)。 这样就易于处理,如,欧氏空间中的曲面可用超平面近似。
等度量映射
策略:将空间中视为一个紧挨一个的“局部”拼接而成,而“局部”视为欧氏空间(定义了欧氏距离),在全局中使用“测地线”作为距离,即若干“局部”线段串起来的最短折线。 涉及两个问题:
(1)如何定义“局部”?有两种方案:
- 邻域:得到 ε \varepsilon ε- 邻近图。
- 近邻:得到
k
k
k近邻图。
这里通常取 k k k近邻,因为它本身的确定并不需要欧氏距离,再在其上定义欧氏距离。
(2)求最短折线,有Dijkstra算法或Floyd算法。
综合(1)(2)得到等度量映射的Isomap算法【西瓜书图10.8】。
局部线性嵌入
局部线性嵌入LLE算法是一种“流形学习”:它的局部是指 k k k近邻,在局部可以用一个超平面替换(低维流形嵌入高维中),且这种嵌入具有“线性关系”不变的特点,即: 高维中存在的线性关系在低维中仍保持不变,反之亦然。
X
\mathcal{X}
X空间(
d
d
d维)中样本集
{
x
i
}
i
=
1
m
\{\boldsymbol{x}_i\}_{i=1}^m
{xi}i=1m中每个样本已编号(下标指示),即样本集对应的下标集为:
{
1
,
2
,
⋯
,
m
}
\{1,2,\cdots,m\}
{1,2,⋯,m}。 每个样本点
x
i
\boldsymbol{x}_i
xi的全部
k
k
k近邻点
x
j
\boldsymbol{x}_j
xj的下标集记为
Q
i
Q_i
Qi,则
Q
i
Q_i
Qi为
{
1
,
2
,
⋯
,
m
}
\{1,2,\cdots,m\}
{1,2,⋯,m}的子集。 又任意点的近邻点个数是一个常数(超参数),不妨设为
Q
Q
Q,即子集的大小为常数:
∣
Q
i
∣
=
Q
|Q_i|=Q
∣Qi∣=Q。
设
X
\mathcal{X}
X空间(
d
d
d维)中的样本点
x
i
\boldsymbol{x}_i
xi降维成
Z
\mathcal{Z}
Z空间(
d
′
d'
d′维)中点
z
i
\boldsymbol{z}_i
zi,对应的邻域(近邻集)
X
i
\mathcal{X}_i
Xi,变成了
Z
i
\mathcal{Z}_i
Zi(为行文方便,不妨称它为
z
i
\boldsymbol{z }_i
zi的邻域)。
LLE算法的原理是高、低维两对应邻域内的线性关系一致,即同时有
x
i
=
∑
j
∈
Q
i
w
i
j
x
j
\begin{align} \boldsymbol{x}_i=\sum_{j\in Q_i}w_{ij}\boldsymbol{x}_j \tag{10.77} \end{align}
xi=j∈Qi∑wijxj(10.77)
z
i
=
∑
j
∈
Q
i
w
i
j
z
j
\begin{align} \boldsymbol{z}_i=\sum_{j\in Q_i}w_{ij}\boldsymbol{z}_j \tag{10.78} \end{align}
zi=j∈Qi∑wijzj(10.78)
其中,
x
i
\boldsymbol{x}_i
xi为任一样本点,
Q
i
Q_i
Qi为点
x
i
\boldsymbol{x}_i
xi的近邻点集对应的下标集。
当然,这是理想情况,一般情况下有二个问题:一是线性关系本身是“近似”成立,二是不变性也是“近似”成立,因此,我们退而求其次:尽最大可能使其“近似”,这就转化成了优化问题。
(1)在低维邻域
Z
i
\mathcal{Z}_i
Zi中,设点
z
i
{\boldsymbol{z}}_i
zi的“近似”点
z
^
i
\hat{\boldsymbol{z}}_i
z^i满足式(10.78),即
z
^
i
=
∑
j
∈
Q
i
w
i
j
z
j
\begin{align} \hat{\boldsymbol{z}}_i=\sum_{j\in Q_i}w_{ij}\boldsymbol{z}_j \tag{10.79} \end{align}
z^i=j∈Qi∑wijzj(10.79)
并对系数作“概率化(亦称规范化、归一化)”(使其和为1)处理,即式(10.78)中,
∑
j
∈
Q
i
w
i
j
=
1
\sum_{j\in Q_i}w_{ij}=1
∑j∈Qiwij=1。
(2)在高维邻域
X
i
\mathcal{X}_i
Xi中依式(10.79)的线性关系重构出一个新点
x
^
i
\hat{\boldsymbol{x}}_i
x^i。
x
^
i
=
∑
j
∈
Q
i
w
i
j
x
j
\begin{align} \hat{\boldsymbol{x}}_i=\sum_{j\in Q_i}w_{ij}\boldsymbol{x}_j \tag{10.80} \end{align}
x^i=j∈Qi∑wijxj(10.80)
其中,
∑
j
∈
Q
i
w
i
j
=
1
\sum_{j\in Q_i}w_{ij}=1
∑j∈Qiwij=1。
(3)在高维邻域 X i \mathcal{X}_i Xi中,新点 x ^ i \hat{\boldsymbol{x}}_i x^i为原样本点 x i \boldsymbol{x }_i xi的“近似”点,它们之间的误差为 x i − x ^ i \boldsymbol{x }_i-\hat{\boldsymbol{x}}_i xi−x^i。 将数据集的“均方误差最小化”作为优化目标,即【西瓜书式(10.27)】。 这是已知数据集中点的坐标求解 w i j w_{ij} wij,它能求出闭式解(闭式解是指能用式子表达的解),即解为【西瓜书式(10.28)】。
(4)在低维邻域 Z i \mathcal{Z}_i Zi中,新点 z ^ i \hat{\boldsymbol{z}}_i z^i为原样本点 z i \boldsymbol{z }_i zi的“近似”点,它们之间的误差为 ∣ ∣ z i − z ^ i ∣ ∣ 2 ||\boldsymbol{z }_i-\hat{\boldsymbol{z}}_i||^2 ∣∣zi−z^i∣∣2。 在低维空间中优化目标也为均方误差最小化,即【西瓜书式(10.29)】。 但它是已知 w i j w_{ij} wij(【西瓜书式(10.28)】),求点的坐标。 该问题转化为【西瓜书式(10.31)】,即为矩阵的特征分解问题:通过对 M \mathbf{M} M进行特征分解,特征值排序后,取 d ′ d' d′个最小特征值对应的特征向量,组成矩阵 Z T \mathbf{Z}^{\mathrm{T}} ZT即为所求(参考式(10.17)),该矩阵有 d ′ d' d′列(即选取的特征向量),但有 m m m行,每行对应一个点 z i \boldsymbol{z }_i zi,且点 x i \boldsymbol{x }_i xi与点 z i \boldsymbol{z }_i zi对应。
综上,得到局部线性嵌入LLE算法【西瓜书图10.10】。
本文为原创,您可以:
- 点赞(支持博主)
- 收藏(待以后看)
- 转发(他考研或学习,正需要)
- 评论(或讨论)
- 引用(支持原创)
- 不侵权
更多推荐
所有评论(0)