(《机器学习》完整版系列)第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)