精华内容
下载资源
问答
  • 流形学习
    2020-08-03 16:39:21

    流形学习

    流形学习是一种用于非线性降维的方法。

    简介

    高维数据集难以图形化展示。在二维或三维中的数据通过图形可以展示其固有的结构,等价的高维图形则不是很直观。为了帮助图形化数据集结构,其维度必须以某种方式减少。

    数据降维的最简单的方式是采用数据的任意投影。在任意投影中,数据中最有意思的结构可能会遗失。

    为了解决这个问题,许多监督和非监督的线性降维框架已被设计,比如,Principal Component AnalysisIndependent Component AnalysisLinear Discriminant Analysis和其它。这些算法定义了具体的准则选择数据有趣的线性投影。这些方法是很强大的,但是通常会遗失数据中的非线性结构。

    流形学习可以被当做泛化线性框架的尝试,其对数据中的非线性结构敏感。尽管有监督的版本存在,典型的流形学习问题是非监督的。

    # coding: utf-8
    # Comparison of Manifold Learning methods
    
    from collections import OrderedDict
    from functools import partial
    from time import time
    
    import matplotlib.pyplot as plt
    from mpl_toolkits.mplot3d import Axes3D
    from matplotlib.ticker import NullFormatter
    
    from sklearn import manifold, datasets
    
    Axes3D
    
    n_points = 1000
    X, color = datasets.make_s_curve(n_points, random_state=0)
    n_neighbors = 10
    n_components = 2
    
    fig = plt.figure(figsize=(15, 8))
    fig.suptitle("Manifold Leanring with %i points, %i neighbors"
                 % (1000, n_neighbors), fontsize=14)
    
    ax = fig.add_subplot(251, projection='3d')
    ax.scatter(X[:, 0], X[:, 1], X[:, 2], c=color, cmap=plt.cm.Spectral)
    ax.view_init(4, -72)
    
    LLE = partial(manifold.LocallyLinearEmbedding,
                  n_neighbors, n_components, eigen_solver='auto')
    
    methods = OrderedDict()
    methods['LLE'] = LLE(method='standard')
    methods['LTSA'] = LLE(method='ltsa')
    methods['Hessian LLE'] = LLE(method='hessian')
    methods['Modified LLE'] = LLE(method='modified')
    methods['Isomap'] = manifold.Isomap(n_neighbors, n_components)
    methods['MDS'] = manifold.MDS(n_components, max_iter=100, n_init=1)
    methods['SE'] = manifold.SpectralEmbedding(n_components=n_components,
                                               n_neighbors=n_neighbors)
    methods['t-SNE'] = manifold.TSNE(n_components=n_components, init='pca',
                                     random_state=0)
    
    for i, (label, method) in enumerate(methods.items()):
        t0 = time()
        Y = method.fit_transform(X)
        t1 = time()
        print("%s: %.2g sec" % (label, t1 - t0))
        ax = fig.add_subplot(2, 5, 2 + i + (i > 3))
    
        ax.scatter(Y[:, 0], Y[:, 1], c=color, cmap=plt.cm.Spectral)
        ax.set_title("%s (%.2g sec)" % (label, t1 - t0))
        ax.xaxis.set_major_formatter(NullFormatter())
        ax.yaxis.set_major_formatter(NullFormatter())
        ax.axis('tight')
    
    plt.show()
    

    Isomap

    seeks a lower-dimensional embedding which maintains geodestic distances between all points

    Locally Linear Embedding

    seeks a lower-dimensional projection of the data which preserves distances within local neighborhoods

    Modified Locally Linear Embedding

    Its essence is to use multiple weight vectors in each neighborhood to address the regularization problem

    Hessian Eigenmapping

    another method of solving the regularization problem of LLE

    Spectral Embedding

    an approach to calculating a non-linear embedding. implements Laplacian Eigenmaps, which finds a low dimensional representation of the data using a spectral decomposition of the graph Laplacian.

    Local Rangent Space Alignment

    seeks to characterize the local geometry at each neighborhood via its tangent space, and performs a global optimization to align these local tangent spaces to learn embedding

    Multi-dimensional Scaling (MDS)

    seeks a lower-dimensional representation of the data in which the distances respect well the distances in the original high-dimensional space, attemps to model similarity or dissimilarity data as distances in a geometric space.

    t-distributed Stochastic Neighbor Embedding (t-SNE)

    converts affinities of data points to probabilities

    更多相关内容
  • MATLAB程序:流形学习在计算机视觉领域的应用。 Matlab program: The application of manifold learning in the field of computer vision.
  • 流形学习介绍

    2018-03-05 08:56:14
    流形学习的基本相关概念,流形学习可视化理解,流形学习的常用算法等进行了详细描述
  • 流形学习已成为许多领域的流行方法,例如分类和识别。 在本文中, 我们基于之前在流形学习中的工作,提出了一种行人跟踪的新算法。 引入了一种新的流形子空间,其中可以最好地保留目标运动的固有特征,并且特征的维...
  • 流形学习最常用的算法LE算法,可在此基础上进行修改或和其他算法相结合,实现更优的聚类效果。
  • 本文针对信号采集系统的特性对流形学习方法性能的影响尚不明确这一问题,采用理论分析和模拟实验的方法,研究了信号采样系统的非线性、零点漂移等特性对流形学习算法性能的影响.结果表明,当信号采样系统的特性保持...
  • 基于选择聚类集成的相似流形学习算法.pdf
  • 流形学习方法MATLAB代码实现及方法比较
  • 流形学习研究综述,罗四维,赵连伟,流形学习一般是指一类无监督统计学习问题,其主要目标是发现嵌入在高维数据空间的低维光滑流形。本文着重介绍了流形学习的研究背
  • 一种基于QPSO优化的流形学习的视频人脸识别算法.pdf
  • 为了能够得到更好的压缩传感重构效果, 把流形学习的思想和方法与压缩传感相结合, 提出了一种基于参数化流形学习的压缩传感重构方法。实验结果表明, 提出的方法对自然图像进行重构取得了很好的效果, 充分验证了基于...
  • 基于Matlab开发的几种流形学习代码,能运行。有一定的文字说明
  • 3-1 流形学习.pdf

    2020-01-03 10:53:07
    模式识别就是通过计算机用数学技术方法来研究模式的自动处理和判读,把环境与客体统称为“模式”。随着计算机技术的发展,人类有可能研究复杂的信息处理过程,其过程的一个重要形式是生命体对环境及客体的识别。...
  • 流形学习算法作为一种新的维数降维方法工具,其目标是发现嵌入在高维数据空间中的低维流形结构,并给出一个有效的低维表示。目前,流形学习已成为模式识别、机器学习和数据挖掘领域的研究热点问题。介绍了流形学习的...
  • 快速流形学习的降维算法
  • 流形学习及其在检索中的应用,邢芝会,孙建德,作为一种新的非监督性统计学习方法,流形学习近年来越来越引起机器学习及认知科学工作者的重视。其本质是发现高维观测数据集的内
  • 与理论分析结果相比,添加噪声处理,一种流形学习算法(很好用)。
  • 流形学习的经典算法,进行了改进和注释,其中包括部分C++代码
  • 基于流形学习的转导式迁移学习方法
  • 计算机视觉-流形学习算法MATLAB源码 流形学习是一类借鉴了拓扑流形概念的降维方法,与核PCA的目的一样,它想要在低维空间中尽量保持在高维空间中的结构。一个形象的流形降维过程如下图,我们有一块卷起来的布,我们...
  • 流形学习概述

    2018-08-13 11:34:02
    高维的数据不仅给机器学习算法带来挑战,而且导致计算量大,此外还会面临维数灾难的问题(这一问题可以直观的理解成特征向量维数越高,机器学习算法的精度反而会降低)。人所能直观看到和理解的空间最多是3维的,...
  • 流形学习算法Matlab代码实现,通过三种算法将三维图像降维到二维图像,利用K近邻构造数据图,Isomap最短路径使用Dijkstra算法。
  • 针对高光谱图像同一像元内存在多种地物种类,且地物之间具有多重反射,导致高光谱数据的非线性,采用传统的线性降维算法效果不佳等问题,提出利用流形学习的方法来寻找嵌入在高维观测数据空间的低维光滑流形,实现高光谱...
  • 基于MMC的新型有监督流形学习方法
  • 主要研究了基于流形学习ISOP算法的语音特征提取。将流形学习ISOP算法应用到语音识别特征提取模块中。仿真实验结果表明,该算法与传统的特征提取算法MFCC、LPCC等相比,可以取得较高的识别率。
  • 提出一种基于流形学习的约束Laplacian分值多标签特征选择方法(Manifold-based Constraint Laplacian Score,M-CLS)。方法分别在数据特征空间和类别标签空间定义两种Laplacian分值:在特征空间利用逻辑型类别标签的...
  • 在本文中,我们提出了一种新的两步幻觉方法,可以从低分辨率(LR)观察结果中诱导出高分辨率(HR)的人脸图像。 尤其对于低质量的监控人脸图像,提出了一种基于RBF-PLS的变量选择方法来重建全局人脸图像。...
  • 监督线性流形学习特征提取用于高光谱图像分类

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,057
精华内容 4,022
关键字:

流形学习

友情链接: BESSModel.zip