数据降维(四)ISOMAP

流形学习——ISOMAP算法

Isomap(Isometric Feature Mapping)是流行学习的一种,用于非线性数据降维,是一种无监督算法.

流形

流形是一个局部具有欧式空间性质的拓扑空间,流形能很好地近似任意高维的子空间.

测地线距离

测地距离(Geodesic Distance),在高维空间中度量距离不应当直接使用欧式距离,而应当使用测地距离.

测地线距离定义

  • 邻近的点:输入空间的欧式距离提供一个测地线距离的近似.
  • 最远的点:测地线距离通过一些列邻域点之间的欧式距离的累加近似得到.

举例: 在一个流形中,相距很远的两个点,有可能欧式距离很近.

ISOMAP算法

ISOMAP(Isometric Feature Mapping, 等距离特征映射),是一种非线性降维方法,其基于度量MDS,试图保留数据内在的由测地线距离蕴含的几何结构.

算法步骤

  • 构建邻接图
    • 通过连接距离小于 ϵ \epsilon 的两个点 i i j j 在N个数据点上定义图 G G ( ϵ I s o m a p \epsilon-Isomap ),或者点 i i 是点 j j k k 近邻之一(K-Isomap).
    • 设置边的长度为 d ( i , j ) d(i,j) .
  • 计算最短路径
    • 初始化 d G ( i , j ) = d ( i , j ) d_G(i,j) = d(i,j) ,如果 i i j j 相连接,否则 d G ( i , j ) = d_G(i,j) = \infty
    • 对于每一个 k = 1 , 2 , , N k=1,2,\dots, N ,替换所有的 d G ( i , j ) d_G(i,j) min ( d G ( i , j ) , d G ( i , k ) + d G ( k , j ) \min(d_G(i,j),d_G(i,k)+d_G(k,j) .那么 D G = [ d G ( i , j ) ] D_G = [d_G(i,j)] 包含G中所有点对的最短路径
  • 构建低维嵌入
    • 通过MDS构建低维的数据嵌入

瓶颈

  • 最短路径的计算
    • Floyd算法: O ( N 3 ) O(N^3)
    • Dijkstra算法(Fibonacci堆实现): O ( K N 2 log N ) O(KN^2\log N) ,K是最近邻的个数
  • 特征分解: O ( N 3 ) O(N^3)

猜你喜欢

转载自blog.csdn.net/JN_rainbow/article/details/84572424