四大机器学习降维算法:PCA、LDA、LLE、LAPLACIAN EIGENMAPS

合集下载

高维数据降维算法综述与评估

高维数据降维算法综述与评估

高维数据降维算法综述与评估数据的维度是指在描述每个数据点的特征数量,对于现在越来越流行的大规模数据分析来说,数据的维度往往非常高。

例如,在机器学习领域中,每个数据点非常复杂,可能包含了几百上千个特征,那么就需要对高维数据进行降维处理。

在这篇文章中,我们将综述和评估几种常见的高维数据降维算法。

一、主成分分析(PCA)主成分分析(PCA)是一种最常用的线性降维技术,它可以将高维数据投影到一个低维空间中,并保留最大方差。

PCA的主要思想是通过找到方差最大的数据维度,然后再找到与之正交的方差次大的维度,以此类推,直至找到需要的维度。

PCA的优点在于它非常快,简单易懂,适用于大多数数据集。

但它的缺点在于,PCA只能发现主要的线性结构,不能处理非线性结构。

二、流形学习流形学习是一类非线性降维技术,它的主要思想是将高维数据投影到低维空间中,并保持数据在低维空间中的局部结构和相对距离。

常用的流形学习方法有等距映射(Isomap)、局部线性嵌入(LLE)和拉普拉斯特征映射(LE)。

等距映射(Isomap)使用了图论中的最短路径算法来测量数据之间的相似性,然后在低维空间中重构相似度。

局部线性嵌入(LLE)假设数据分布在一个局部线性结构上,然后在降维后的低维空间中重构数据的局部线性关系。

拉普拉斯特征映射(LE)则是将数据点和他们邻居之间的相似度作为权重来计算特征向量,然后用这些特征向量来降维数据。

流形学习的优点在于它可以处理非线性结构,并保留数据的局部结构,但它的缺点在于,它对于训练集的密度和噪声非常敏感,并且它的计算复杂度比较高。

三、独立成分分析(ICA)独立成分分析(ICA)是一种非线性降维技术,它的主要思想是找到独立成分,并将其用作新的维度。

在ICA中,我们假设数据由多个独立的成分线性组合而成。

ICA的优点在于它可以发现数据中的非高斯结构,并且对于噪声和异常值有一定的鲁棒性。

但它的缺点在于,它对于成分数量有一定的假设,并且在计算成分时比较耗时。

机器学习中的降维方法综述

机器学习中的降维方法综述

机器学习中的降维方法综述降维是机器学习中常用的一种方法,它可以用来减少数据集中的特征数量,从而降低计算复杂度,提高算法的效率,并且可以帮助我们更好地理解数据和发现数据中的隐藏模式。

在本文中,我们将综述机器学习中常用的降维方法。

一、主成分分析(PCA)主成分分析是一种常见的无监督降维方法,它通过线性变换将原始数据映射到一个新的坐标系中,新的坐标系下数据的方差最大化。

这样,我们可以通过保留最大方差的特征来实现降维。

主成分分析具有简单易懂的数学表达式和计算方法,被广泛应用于数据预处理和特征提取。

二、线性判别分析(LDA)线性判别分析是一种有监督降维方法,它也是通过线性变换将原始数据映射到一个新的坐标系中。

与主成分分析不同的是,线性判别分析考虑了类别信息,通过最大化类间散度和最小化类内散度来实现降维。

线性判别分析在特征提取和模式识别任务中表现出色。

三、独立成分分析(ICA)独立成分分析是一种非线性降维方法,它假设观测数据是由多个独立的成分线性组合而成的。

通过分离出这些独立成分,我们可以实现降维和信号分离。

独立成分分析在信号处理、盲源分离和图像处理等领域得到了广泛的应用。

四、核主成分分析(KPCA)核主成分分析是对主成分分析的非线性扩展,它通过使用核函数将原始数据映射到一个高维特征空间中,然后再进行主成分分析。

这样,我们可以通过非线性变换实现更高维度的特征提取和降维。

核主成分分析在图像识别和模式分类等任务中表现出色。

五、局部线性嵌入(LLE)局部线性嵌入是一种基于流形学习的降维方法,它通过保持原始数据的局部线性关系来实现降维。

局部线性嵌入可以更好地处理非线性关系和局部结构,是用于可视化和数据压缩的一种有效方法。

六、t-SNEt-SNE是一种基于概率分布的降维方法,它通过优化目标函数来实现降维。

t-SNE可以比较好地保留数据中的局部结构和相似性,是一种常用的用于高维数据可视化的方法。

除了上述方法,还有许多其他的降维方法,如因子分析、多维缩放、稀疏编码等。

几种降维方法PCALDALPP

几种降维方法PCALDALPP

几种降维方法PCA、LDA、LPP /oimz/archive/2011/08/24/PCA.html 初识PCA-主成分分析PCA,Principal Component Analysis。

是一种掌握事物主要矛盾的统计分析方法,它可以从多元事物中解析出主要影响因素,揭示事物的本质,简化复杂的问题。

这是百度百科的一句话。

个人对其的理解,这是一种减少干扰信息并用来区分数据的方法。

比如小A和小B是一对双胞胎,小A的额头上有颗痣,而小B没有。

此时,我们分辨这两个人只需要根据谁的额头上有痣即可,而无需关注两个人在其他方面的微小差别。

人脸中长了痣,这是很形象的,且根据经验,人们会把这颗痣当做区分这对双胞胎的要素。

而在现实生活的数据处理中,如向量,向量之间的区分点不是那么明显,而且机器也不会根据经验来判断哪些数据可以当做区分与其他向量的要素。

针对这一问题,PCA被提了出来,PCA算法是一种无监督学习(unsupervised learning),无须事先训练则可以找到区分于其他数据的“痣”。

关于PCA算法的步骤,网上到处都是而且很详细,而那些公式也大多是一样了。

本文中便不再赘述,在这里只是做一下简单的介绍。

首先我们有N个P维的向量要区分,X1,X2...Xn。

P 比较大,则处理所有向量的数据量较大,我们将其降至d维(d<P)。

首先构造矩阵S=[X1,X2...Xn],算出协方差矩阵C(P维方阵),求出C的特征值T和特征向量V。

将特征值按从大到小排列取出前d个特征值,并将这些特征值对应的特征向量构成一个投影矩阵L。

使用S*L则得到降维后的提出主成分的矩阵。

下面附上自己做的小实验。

X1 = [1,2,4] X2 = [10,4,5] X3 = [100,8,4]根据经验上述3维向量中,第一维和第二维是区分的要素且第一维比第二维区分度更大。

于是我们构造矩阵S,S = [1,2,4;10,4,5;100,8,5]计算出S的协方差矩阵C = COV(S),C =1.0e+003 *2.9970 0.1620 0.01800.1620 0.0093 0.00130.0180 0.0013 0.0003求出协方差矩阵C的特征值T和特征向量V,[T,V] = eig(C)T =-0.0235 0.0489 -0.99850.5299 -0.8464 -0.0540-0.8478 -0.5303 -0.0060V =1.0e+003 *-0.0000 0 00 0.0008 00 0 3.0059取出第3个和第2个特征值以及相对应的特征向量构成投影矩阵L(实际上可以只取第三维)L =-0.9985 0.0489-0.0540 -0.8464-0.0060 -0.5303使用S*L则得到新的降维后的矩阵NN =-1.1305 -3.7651-10.2310 -5.5481-100.3120 -4.5327则提取出了可以用于区分的二维。

机器学习技术中的特征压缩方法

机器学习技术中的特征压缩方法

机器学习技术中的特征压缩方法特征压缩方法是机器学习中的一项重要技术,用于减少特征维度,提高模型性能和效率。

特征压缩方法通过保留数据中最重要的特征信息,并丢弃冗余和不相关的特征,从而实现数据的简化和处理的高效性。

本文将介绍几种常用的特征压缩方法,包括主成分分析(PCA)、线性判别分析(LDA)和自编码器(Autoencoder)。

首先,主成分分析(PCA)是一种常用的无监督特征压缩方法。

它通过线性变换将原始特征映射到一个新的特征空间上,新特征是原始特征的线性组合。

PCA的目标是找到一个新的特征空间,使得在新特征上数据的方差最大化。

具体而言,PCA计算协方差矩阵,然后对协方差矩阵进行特征分解,得到特征值和对应的特征向量。

通过选择最大的特征值对应的特征向量,我们可以得到最佳的特征子集。

这样,我们就可以将原始特征映射到新的低维特征空间上,从而实现特征压缩。

其次,线性判别分析(LDA)是另一种常用的特征压缩方法,它主要用于分类问题。

与PCA不同的是,LDA是一种有监督的特征压缩方法,它考虑了类别信息。

LDA的目标是找到一个新的特征空间,使得在新特征上的类间方差最大化,而类内方差最小化。

具体而言,LDA计算类间散度矩阵和类内散度矩阵,然后对它们进行特征分解,得到特征值和对应的特征向量。

通过选择最大的特征值对应的特征向量,我们可以得到最佳的特征子集。

这样,我们就可以将原始特征映射到新的低维特征空间上,并且保留了最具有判别性的特征。

最后,自编码器(Autoencoder)是一种无监督学习方法,可以实现非线性的特征压缩。

它由一个编码器和一个解码器组成,其中编码器将输入样本映射到一个低维特征空间,解码器将低维特征映射回原始特征空间。

自编码器的目标是最小化重构误差,即使得解码器的输出尽可能接近输入样本。

通过训练自编码器,我们可以学习到一个合适的特征表示,从而实现特征压缩。

特征压缩方法在机器学习领域中具有广泛的应用。

通过减少特征维度,特征压缩方法可以提高模型训练的效率和预测的准确性。

常见监督学习聚类集成降维推荐算法汇总(一)监督学习

常见监督学习聚类集成降维推荐算法汇总(一)监督学习

常见监督学习聚类集成降维推荐算法汇总(一)监督学习1.线性回归:线性回归是一种用于建立线性模型的监督学习算法,在给定输入和输出之间建立一个线性关系,用于预测连续型输出。

它的目标是找到一条最佳拟合直线来描述输入和输出之间的关系。

2.逻辑回归:逻辑回归是一种用于建立分类模型的监督学习算法,用于预测二元型输出。

它通过将线性回归的结果经过一个激活函数转换为概率值,从而进行分类预测。

3.支持向量机:支持向量机是一种用于二分类和多分类的监督学习算法。

它通过将样本映射到高维特征空间中,构建一个超平面来实现对样本的划分。

其目标是找到一个最优的划分超平面,使得距离最近的样本点到超平面的间隔最大。

4.决策树:决策树是一种基于树形结构的监督学习算法,用于建立分类和回归模型。

它通过对特征进行划分,采用自顶向下的贪心策略构建决策树,从而实现对数据的分类和预测。

5.随机森林:随机森林是一种集成学习方法,通过构建多个决策树并对其结果进行综合来实现分类和回归。

每个决策树都是基于随机选择的样本和特征构建的,最终输出通过投票或平均等方式进行集成。

6.朴素贝叶斯:朴素贝叶斯是一种基于贝叶斯定理的分类算法,它假设特征之间相互独立,通过计算先验概率和条件概率来进行分类预测。

朴素贝叶斯算法简单快速,常用于文本分类等任务。

聚类是一种无监督学习算法,用于将数据集中的样本划分为多个类别或簇,使得同一类别内的样本相似度高,不同类别之间的样本相似度低。

常见的聚类算法包括K-means聚类、层次聚类、DBSCAN等。

1. K-means聚类:K-means聚类是一种划分聚类算法,通过迭代计算样本到聚类中心的距离,并将样本划分到距离最近的聚类中心所对应的类别中。

它的目标是最小化样本与聚类中心的距离总和。

2.层次聚类:层次聚类是一种基于层次性的聚类算法,通过合并或分割样本来构建聚类树。

它可以根据样本之间的相似度构建凝聚式聚类树或分裂式聚类树,并通过剪枝来确定最终的聚类结果。

四大机器学习降维算法:PCA、LDA、LLE、Laplacian-Eigenmaps

四大机器学习降维算法:PCA、LDA、LLE、Laplacian-Eigenmaps

四大机器学习降维算法:PCA、LDA、LLE、Laplacian-Eigenmaps机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中。

降维的本质是学习一个映射函数 f : x->y,其中x是原始数据点的表达,目前最多使用向量表达形式。

y是数据点映射后的低维向量表达,通常y的维度小于x的维度(当然提高维度也是可以的)。

f可能是显式的或隐式的、线性的或非线性的。

目前大部分降维算法处理向量表达的数据,也有一些降维算法处理高阶张量表达的数据。

之所以使用降维后的数据表示是因为在原始的高维空间中,包含有冗余信息以及噪音信息,在实际应用例如图像识别中造成了误差,降低了准确率;而通过降维,我们希望减少冗余信息所造成的误差,提高识别(或其他应用)的精度。

又或者希望通过降维算法来寻找数据内部的本质结构特征。

在很多算法中,降维算法成为了数据预处理的一部分,如PCA。

事实上,有一些算法如果没有降维预处理,其实是很难得到很好的效果的。

主成分分析算法(PCA)Principal Component Analysis(PCA)是最常用的线性降维方法,它的目标是通过某种线性投影,将高维的数据映射到低维的空间中表示,并期望在所投影的维度上数据的方差最大,以此使用较少的数据维度,同时保留住较多的原数据点的特性。

通俗的理解,如果把所有的点都映射到一起,那么几乎所有的信息(如点和点之间的距离关系)都丢失了,而如果映射后方差尽可能的大,那么数据点则会分散开来,以此来保留更多的信息。

可以证明,PCA是丢失原始数据信息最少的一种线性降维方式。

(实际上就是最接近原始数据,但是PCA并不试图去探索数据内在结构)设n维向量w为目标子空间的一个坐标轴方向(称为映射向量),最大化数据映射后的方差,有:其中m是数据实例的个数,xi是数据实例i的向量表达,x拔是所有数据实例的平均向量。

定义W为包含所有映射向量为列向量的矩阵,经过线性代数变换,可以得到如下优化目标函数:其中tr表示矩阵的迹,A是数据协方差矩阵。

机器学习模型的特征提取技巧

机器学习模型的特征提取技巧

机器学习模型的特征提取技巧特征提取是机器学习中至关重要的一步,它涉及将原始数据转化为可供机器学习算法使用的特征向量。

正确选择和提取特征对于模型的准确性和性能至关重要。

本文将介绍几种常用的机器学习模型特征提取技巧。

一、主成分分析(PCA)主成分分析是一种常用的无监督降维技术。

它可以将高维数据集转换为低维表示,同时保留最重要的信息。

通过找到数据中的主成分,可以将数据中的变化最大化的投影到新的坐标系中。

二、线性判别分析(LDA)线性判别分析是一种有监督的降维方法,主要用于分类任务。

LDA 通过将数据投影到低维空间,使得投影后的数据在类内方差最小、类间方差最大。

它能够提取出最能区分不同类别的特征。

三、自编码器(Autoencoder)自编码器是一种无监督学习方法,它通过将输入数据压缩为一个较低维度的表示,并通过重构输入数据的方式进行训练。

自编码器选取的低维表示可以被用作特征向量,用于后续的机器学习任务。

四、深度卷积神经网络(DCNN)深度卷积神经网络是一种擅长图像处理的神经网络结构。

它通过多层卷积、池化和全连接层,可以从原始图像中提取出高层次的抽象特征。

这些特征可以被用于图像分类、目标检测、图像生成等任务。

五、词袋模型(Bag-of-Words)词袋模型是一种常用的文本特征提取方法。

它将文本中的单词转化为一个固定长度的向量,忽略了单词在文本中的顺序。

通过统计每个单词在文本中的出现次数或使用TF-IDF值,可以得到一个表示文本的特征向量。

六、Word2VecWord2Vec是一种用于将单词表示为实数向量的技术。

它通过学习上下文中单词的分布模式,将单词映射到一个低维向量空间中。

Word2Vec可以捕捉到词语之间的语义和关联关系,成为了自然语言处理任务中重要的特征提取方法。

综上所述,特征提取是机器学习模型中至关重要的一步。

本文介绍了几种常用的特征提取技巧,包括主成分分析、线性判别分析、自编码器、深度卷积神经网络、词袋模型和Word2Vec。

人工智能开发技术中的特征提取和降维方法

人工智能开发技术中的特征提取和降维方法

人工智能开发技术中的特征提取和降维方法在人工智能发展的过程中,特征提取和降维方法扮演着重要的角色。

特征提取是指从原始数据中寻找有效、可区分的特征以供后续处理和分析使用。

而降维方法则是对高维数据进行处理,将数据从高维空间映射到低维空间中,以提高计算效率和减少存储空间的占用。

本文将介绍几种常见的特征提取和降维方法,并探讨其在人工智能开发中的应用。

一、特征提取方法1. 统计特征提取统计特征提取是一种基于统计学的方法,通过对数据的统计分析来提取有信息量的特征。

常用的统计特征包括均值、方差、标准差等。

在图像处理中,可以通过计算图像的灰度直方图、颜色直方图等统计特征来描述图像的特性。

在语音识别中,可以通过计算声谱图、能量谱等统计特征来提取语音的特征。

2. 滤波器方法滤波器方法是一种通过滤波器对数据进行处理来提取特征的方法。

常用的滤波器有高通滤波器、低通滤波器、带通滤波器等。

在图像处理中,可以通过对图像进行不同的滤波器处理来提取边缘、纹理等特征。

在语音信号处理中,可以使用滤波器来去除噪声、增强语音信号。

3. 主成分分析(PCA)主成分分析是一种常用的线性降维方法,通过线性变换将高维数据映射到低维空间中。

在主成分分析中,通过计算数据协方差矩阵的特征向量,选择其对应的前几个特征向量作为新的特征空间。

主成分分析具有保留数据主要信息的特点,广泛应用于人脸识别、图像压缩等领域。

二、降维方法1. 线性判别分析(LDA)线性判别分析是一种常用的降维方法,与主成分分析类似,都是通过线性变换将高维数据映射到低维空间中。

但与主成分分析不同的是,线性判别分析主要关注的是数据类别间的可分性。

通过最大化类间散度和最小化类内散度,找到最佳投影方向,以保持最大的类别差异性。

线性判别分析常用于模式识别、人脸识别等领域。

2. 流形学习(Manifold Learning)流形学习是一种非线性降维方法,通过保持数据样本的局部关系来进行降维。

流形学习的基本思想是假设数据分布在一个低维流形上,通过学习流形的结构来进行降维。

机器学习中的数据降维技术

机器学习中的数据降维技术

机器学习中的数据降维技术在大数据的背景下,机器学习已经成为了一种强大的工具来挖掘数据背后的有价值的信息。

其中,数据降维技术是机器学习中不可或缺的一部分。

数据降维技术的意思是把高维度的数据转换成低维度的数据,而不会对数据的重要性造成影响。

下面我们将探讨机器学习中的数据降维技术。

1. 为什么需要进行数据降维一般而言,机器学习和数据挖掘任务需要的数据是高维度的,在这种情况下,往往会遇到“维度灾难”的问题。

因为随着维度的增加,数据点之间相似度的计算会因为数量的爆炸而增加,会带来极大的计算难度和计算资源的需要。

同时,高维度的数据会导致过多的噪音、冗余以及不必要的维度,这会增加分类和回归等机器学习任务的难度。

2. 主成分分析(PCA)主成分分析(PCA)是一种广泛使用的数据降维技术,它将输入数据转换为其主成分。

PCA通过找到具有最大方差的单维度,来找到给定数据集中最重要的方向。

在PCA中,仅选择前k个主成分来表示转换后的特征子空间。

一个点与其他点具有许多关系,也可能存在几乎完全相关的变量。

这个过程会使机器学习模型过于复杂,导致过度拟合。

PCA的目的就是通过合理降维来提高模型准确性。

3. 线性判别分析(LDA)线性判别分析(LDA)也是广泛使用的数据降维技术之一。

它旨在找到根据给定标签区分实例的最佳特征子集。

该算法使得可分类实例的间距最大化,而将不同类别的实例划分开来。

LDA与PCA最大的区别就在于学习目标不同。

LDA是有监督的特征提取方法,目标是找到使得数据在带标签的数据集上分类效果最好的那个方向,因此它比PCA更适合做分类任务。

4. 流形学习流形学习是一种非线性降维技术。

它考虑了数据点之间的潜在关系和局部结构,通过将数据放置在低维流形空间来降低维度。

流形学习其实不是一个算法而是一类算法。

最流行的几个算法包括Isomap、局部线性嵌入(LLE)、层次塑形空间网络等。

这些算法都基于相似性假设,假设高维数据集具有固定的流形结构,并且低维嵌入中的距离可以捕捉这种相似性。

机器学习中的降维算法

机器学习中的降维算法

机器学习中的降维算法在机器学习中,数据的维度是一个关键因素,对于大规模数据集和高维数据而言,维度的影响会更加显著。

例如,在高维空间中,数据的密度会逐渐变得稀疏,并且数据点之间的距离也会逐渐增加,这种现象被称为“维度灾难”。

为了解决这个问题,降维算法应运而生。

降维算法可以将高维数据映射到低维空间中,从而减少数据集的维度。

降维算法的核心思想是,在保留原始数据尽可能多的信息的前提下,通过数据的一些特征或者属性来描述数据,这样就可以将原始数据映射到低维空间中。

降维算法广泛应用于数据挖掘、模式识别、图像处理等领域。

降维算法的类别在机器学习中,常见的降维算法有两类:线性降维和非线性降维。

线性降维线性降维算法是将原始数据映射到低维线性空间中。

主成分分析(PCA)是一个经典的线性降维算法,它通过对数据进行特征值分解,找到数据中最主要的成分,并用这些成分来重新表示数据。

PCA算法可以应用于信号处理、图像处理、网络分析等领域。

另一个常见的线性降维算法是线性判别分析(LDA),它可以在分类任务中使用。

非线性降维非线性降维算法是将原始数据映射到低维非线性空间中。

核主成分分析(Kernel PCA)是一个常见的非线性降维算法,它使用核函数来将数据映射到高维空间中,然后再使用PCA算法来对数据进行降维。

Isomap和局部线性嵌入(Locally Linear Embedding)是另外两个常见的非线性降维算法,它们是基于图形的方法,可以用于处理非线性数据集。

降维算法的应用机器学习中的降维算法在实际应用中具有广泛的应用。

例如,在图像识别任务中,使用PCA算法可以将高维的图像数据集映射到低维空间中,从而提高图像分类的性能。

在推荐系统中,使用非线性降维算法可以将用户和项目映射到低维空间中,从而实现推荐。

另外一个关键应用是数据可视化。

数据的可视化可以帮助用户更好地理解数据结构和特征。

通过将高维数据映射到二维或三维空间中,可以使数据更加易于理解和处理。

scikit-learn降维算法的接口调用方法

scikit-learn降维算法的接口调用方法

scikit-learn降维算法的接口调用方法Scikit-learn是一个用于机器学习的Python库,提供了丰富的工具和算法来处理数据挖掘和数据分析任务。

降维是机器学习中常用的技术之一,可以帮助我们减少数据的维度和复杂度,从而提高模型的效率和准确性。

在scikit-learn中,降维算法的接口调用方法非常简单,但是在使用之前,我们需要了解不同的降维算法以及它们的适用场景和特点。

在机器学习中,常见的降维算法包括主成分分析(PCA)、线性判别分析(LDA)、t-SNE等。

每种降维算法都有其特定的优势和适用范围,因此在选择算法时需要根据具体的数据和任务需求进行考虑。

接下来,我们将分别介绍PCA、LDA和t-SNE降维算法的接口调用方法。

首先,我们来介绍PCA(Principal Component Analysis)主成分分析算法。

PCA是一种常用的无监督降维算法,它通过线性变换将原始数据投影到低维空间,使得投影后的数据具有最大的方差。

在scikit-learn中,使用PCA算法非常简单,可以通过以下步骤来调用接口:```pythonfrom sklearn.decomposition import PCA#创建一个PCA模型,指定降维后的维度pca = PCA(n_components=2)#使用PCA模型拟合数据pca.fit(X)#对数据进行降维处理X_pca = pca.transform(X)```在这段代码中,我们首先导入了PCA模块,然后创建了一个PCA 对象,并指定了降维后的维度为2。

接下来,我们使用fit方法对数据进行拟合,然后使用transform方法对数据进行降维处理。

通过这几个简单的步骤,我们就可以使用PCA算法对数据进行降维处理。

接下来,我们来介绍LDA(Linear Discriminant Analysis)线性判别分析算法。

LDA是一种常用的有监督降维算法,它通过最大化类间距离和最小化类内距离的方式将数据投影到低维空间,以便更好地区分不同类别的数据。

降维算法一览

降维算法一览

降维算法⼀览在机器学习中经常会碰到⼀些⾼维的数据集,⽽在⾼维数据情形下会出现数据样本稀疏,距离计算等困难,这类问题是所有机器学习⽅法共同⾯临的严重问题,称之为“ 维度灾难 ”。

另外在⾼维特征中容易出现特征之间的线性相关,这也就意味着有的特征是冗余存在的。

基于这些问题,降维思想就出现了。

降维就是指采⽤某种映射⽅法,将原⾼维空间中的数据点映射到低维度的空间中。

通过降维,可以⽅便数据可视化+数据分析+数据压缩+数据提取等。

降维⽅法架构降维⽅法主要包括线性⽅法和⾮线性⽅法。

特征降维经常会和特征选择混淆。

实际上,特征选择和传统的特征降维有⼀定的区别。

特征降维本质上是从⼀个维度空间映射到另⼀个维度空间,特征的多少并没有减少,当然在映射的过程中特征值也会相应的变化。

特征选择就是单纯地从提取到的所有特征中选择部分特征作为训练集特征,特征在选择前和选择后不改变值,但是选择后的特征维数肯定⽐选择前⼩,毕竟我们只选择了其中的⼀部分特征。

这⾥我们主要讲述映射⽅法,对于特征选择,我们会在后⾯进⾏详细的阐述。

PCAPCA(Principal Component Analysis),即主成分分析⽅法,是⼀种使⽤最⼴泛的数据降维算法。

PCA通过线性变换将原始数据变换为⼀组各维度线性⽆关的表⽰,提取数据的主要特征分量,常⽤于⾼维数据的降维。

PCA有两种通俗易懂的解释:(1)最⼤⽅差理论;(2)最⼩平⽅误差。

下⾯主要从最⼤⽅差理论出发,推导出表达式最⼤⽅差理论PCA的⽬标可认为是最⼤化投影⽅差,也就是让数据在主轴上投影的⽅差最⼤。

对于给定的⼀组数据点{v1,v2,…,v n},其中所有向量均为列向量,对其进⾏中⼼化,表⽰为{x1,x2,…,x n}。

可得向量x i在w(单位⽅向向量)上的投影坐标可以表⽰为(x i,w)=x T i w,因此我们的⽬标是找到⼀个投影⽅向w,使得{x1,x2,…,x n}在w上的投影⽅差尽可能⼤。

因为投影之后的均值为0,因此⽅差可以表⽰为:D(x)=1nn∑i=1(x T i w)T x T i w=1nn∑i=1w T x i x i T w=w T(1nn∑i=1x i x T i)w其中,1n∑ni=1x i x T i为样本协⽅差矩阵,令为∑,另外由于w是单位⽅向向量,即w T w=1,因此⽬标可写作:{max引⼊拉格朗⽇乘⼦,对w求导令其为0,可以推出∑w=λw,此时D(x)=w^T∑w=λw^T w=λ即,x投影后⽅差即协⽅差矩阵的特征值,最佳投影⽅向就是最⼤特征值对应的特征向量。

维度规约常用方法

维度规约常用方法

维度规约常用方法维度规约是机器学习和数据挖掘中常用的一种方法,用于降低数据维度,提高模型训练效果和运行效率。

在大多数实际问题中,数据集的维度往往很高,可能包含数千个甚至更多的特征。

高维数据不仅会导致计算复杂度的增加,还可能导致维度灾难问题,即样本密度稀疏、距离度量困难等问题。

因此,维度规约是必不可少的预处理步骤之一。

在维度规约中,常用的方法包括主成分分析(PCA)、线性判别分析(LDA)、因子分析(FA)、非负矩阵分解(NMF)等。

下面将分别介绍这些方法的原理和应用场景。

主成分分析(PCA)是一种常用的无监督学习方法,其主要思想是通过线性变换将高维数据映射到低维空间中,使得映射后的数据具有最大的方差。

PCA可以提取出数据中的主要特征,减少冗余信息。

在实际应用中,PCA常用于降维可视化和数据压缩等领域。

线性判别分析(LDA)是一种经典的有监督学习方法,其主要目标是通过线性变换将数据投影到低维空间中,同时最大化类间距离和最小化类内距离。

与PCA不同的是,LDA考虑了类别信息,因此在分类问题中具有更好的表现。

LDA常用于模式识别、人脸识别等领域。

因子分析(FA)是一种基于潜在变量模型的维度规约方法,其主要假设是观测变量由若干个潜在变量和随机误差共同决定。

FA通过估计潜在变量和因子载荷矩阵来实现维度规约。

FA常用于心理学、市场调研等领域,用于发现隐藏在观测数据背后的潜在结构。

非负矩阵分解(NMF)是一种常用的非线性维度规约方法,其主要思想是将非负矩阵分解为两个非负矩阵的乘积。

NMF适用于非负数据的降维和特征提取,常用于图像处理、文本挖掘等领域。

除了上述方法,还有一些其他常用的维度规约方法,如独立成分分析(ICA)、稀疏编码(Sparse Coding)、随机投影(Random Projection)等。

这些方法在不同的场景下具有不同的适用性和效果,并且可以结合使用以获得更好的维度规约效果。

总结起来,维度规约是机器学习和数据挖掘中重要的预处理步骤,常用方法包括PCA、LDA、FA、NMF等。

机器学习中的降维与聚类算法

机器学习中的降维与聚类算法

机器学习中的降维与聚类算法机器学习是一门研究如何让计算机模仿或者实现人类的学习和智能的学科。

在机器学习中,降维和聚类算法是非常重要的两个概念。

降维算法是指通过对数据进行处理,减少数据的维度,以达到简化数据分析和处理的目的。

在现实生活中,我们经常面临的问题是数据维度过高,导致计算量大、存储空间大、处理效率低下的问题。

降维算法就是为了解决这些问题而诞生的。

在机器学习中,常用的降维算法有主成分分析(PCA)和线性判别分析(LDA)等。

主成分分析是一种常用的无监督降维算法,通过线性变换将原始数据变换为低维空间,保留了原始数据的大部分信息。

主成分分析的原理是找到最能解释数据方差的方向,将数据映射到这个方向上,从而达到降维的效果。

线性判别分析也是一种降维算法,它与主成分分析不同的是,线性判别分析是一种有监督的算法,它不仅考虑数据的方差,还考虑了数据的类别信息。

线性判别分析通过寻找一个投影向量,将数据在这个投影向量上的类别间距最大化,同类样本之间距离最小化,从而实现数据的降维。

降维算法一般可以分为线性降维和非线性降维两种。

除了上述的主成分分析和线性判别分析,还有一种非线性降维算法叫做流形学习。

流形学习是一种通过保持数据的局部关系,将高维数据映射到低维空间的方法。

常用的流形学习算法有等距映射(Isomap)、局部线性嵌入(LLE)等。

聚类算法是将相似的数据分为若干组或者簇的方法。

聚类算法在机器学习中具有广泛的应用,它可以帮助我们发现数据中的潜在结构,从而更好地理解和分析数据。

在机器学习中,常用的聚类算法有K-means聚类和层次聚类算法等。

K-means聚类是一种基于距离的聚类算法,它将数据分为K个簇,使得同一簇内的数据距离最小,不同簇之间的数据距离最大。

层次聚类算法是一种自底向上(凝聚型)或自顶向下(分裂型)的聚类算法,它通过构建层次化的聚类树来实现数据的聚类。

除了K-means聚类和层次聚类算法,还有一种常用的聚类算法叫做密度聚类算法。

机器学习技术中的降维算法详解

机器学习技术中的降维算法详解

机器学习技术中的降维算法详解在机器学习领域中,降维算法是一种应用广泛且重要的技术。

它可以用来减少数据集特征的维度,以便更好地理解数据并加速机器学习算法的训练和应用。

本文将详细介绍降维算法的背景、原理和常见的几种方法。

1. 降维算法背景随着机器学习技术的快速发展,现代数据集的维度也越来越高。

高维度数据集在数据处理和分析中会带来许多挑战。

首先,高维度数据增加了计算和存储资源的消耗。

其次,高维度数据更容易出现维度灾难问题,即在高维空间中,数据点之间的距离变得更长,导致算法的性能下降。

因此,降维算法成为了解决高维数据挑战的重要工具。

2. 降维算法原理降维算法的原理是通过保留尽可能多的数据信息,同时减少数据集特征的数量。

这样做的目的是在尽可能降低数据集维度的同时,最大程度地保留数据集的结构和信息。

常见的降维算法有两种方法:特征选择和特征提取。

特征选择是选择原始特征集中最相关的特征,以降低数据集的维度。

这种方法是基于特征之间的相关性进行筛选,保留那些对目标变量具有最大相关性的特征。

常见的特征选择算法有相关系数算法、卡方检验算法和信息增益算法。

特征提取是通过线性或非线性变换将原始特征转化为新的特征集。

这些新的特征通常被称为主成分或因子。

特征提取方法可以捕捉到原始数据集中的主要结构和相关性,减少特征的数量。

常见的特征提取算法有主成分分析(PCA)、因子分析(FA)和独立成分分析(ICA)等。

3. 常见的降维算法(1)主成分分析(PCA):PCA是最常见和最经典的降维算法之一。

它通过线性变换将高维数据映射到低维空间中的主成分方向上。

在PCA中,主要思想是选择激发最大方差的新的特征向量。

这意味着将原始数据向量投影到新的特征空间中,并确保变异性最大。

(2)因子分析(FA):FA是一种常见的特征提取方法,它用于探索多个观测变量的潜在结构。

FA通过线性组合原始变量来构建新的因子,以解释原始变量之间的协方差和共变性。

这种方法被广泛应用于心理学、经济学和社会科学等领域。

机器学习常见算法分类汇总

机器学习常见算法分类汇总

机器学习常见算法分类汇总机器学习算法可以根据不同的分类标准进行划分。

根据学习方式的不同,机器学习算法主要可以分为监督学习算法、无监督学习算法和半监督学习算法。

接下来将对这三类算法进行分类汇总。

无监督学习算法是在没有标记的训练数据集上进行学习,算法根据数据的内在结构来进行分类和聚类分析。

无监督学习算法可以发现数据之间的关联性和潜在结构。

常见的无监督学习算法有:k-means聚类算法、层次聚类、关联规则学习、主成分分析、高斯混合模型等。

半监督学习算法是介于监督学习和无监督学习之间的一种学习方式。

在半监督学习中,训练集只包含了部分标记数据和大量的未标记数据,算法通过同时利用已标记和未标记数据来进行学习。

常见的半监督学习算法有:生成式方法、支持向量机生成式和半监督支持向量机等。

除了根据学习方式进行划分,机器学习算法还可以根据具体的任务进行分类。

常见的机器学习任务包括:回归分析、二分类、多分类、聚类分析、降维、特征选择等。

回归分析是一种预测建模技术,它通过分析自变量与因变量之间的关系,建立一个可预测的模型。

常见的回归算法有:线性回归、岭回归、LASSO回归、弹性网络回归等。

二分类是一种将数据分为两个类别的分类任务。

在二分类中,算法需要将数据分为正例和反例两类。

常见的二分类算法有:逻辑回归、支持向量机、决策树、随机森林、朴素贝叶斯等。

多分类是将数据分为多个类别的分类任务。

在多分类中,算法需要将数据分为两个以上的类别。

常见的多分类算法有:逻辑回归、K近邻算法、决策树、支持向量机、神经网络等。

聚类分析是将数据集分成多个组的无监督学习任务。

在聚类分析中,相似的数据被分成同一组,而不相似的数据被分成不同的组。

常见的聚类算法有:k-means聚类算法、层次聚类、DBSCAN聚类算法等。

降维是将高维数据转换为低维数据的方法,降维可以帮助减少计算复杂度、减少噪声和冗余信息,并且可以可视化高维数据。

常见的降维算法有:主成分分析(PCA)、线性判别分析(LDA)、t-SNE等。

数据降维算法

数据降维算法

数据降维算法数据降维是一种重要的数据处理技术,它的目的是减少数据的维度,使得数据更加容易探索和理解。

它可以帮助人们获得有用的和更有意义的信息,从而更好地理解数据。

数据降维有很多种方法,其中主要有主成分分析法(PCA)、偏最小二乘法(PLS)、线性判别分析法(LDA)、独立成分分析法(ICA)和因子分析法(FA)等。

主成分分析法(PCA)是最常用的数据降维算法之一,它的目的是把原始数据降维到一个更少的维度,同时尽可能保留数据的总体特征。

它的思想是将原始数据投影到一个新的空间,使得新空间中的数据有更少的维度,但保留原始数据的总体特征。

偏最小二乘法(PLS)是另一种常用的数据降维算法,它的思想是把原始数据投影到一个新的空间,使得新空间中的数据有更少的维度,但又能够保留原始数据的总体特征。

它的优点是能够有效地处理高维度数据,而且可以控制投影空间的维度,从而达到有效的降维效果。

线性判别分析法(LDA)是另一种常用的数据降维算法,它的思想是把原始数据投影到一个新的空间,使得新空间中的数据有更少的维度,但又能够保留原始数据的总体特征。

它的优点是能够有效地处理高维度数据,而且可以控制投影空间的维度,从而达到有效的降维效果。

独立成分分析法(ICA)是另一种常用的数据降维算法,它的思想是把原始数据投影到一个新的空间,使得新空间中的数据有更少的维度,但又能够保留原始数据的总体特征。

它的优点是能够有效地处理高维度数据,而且可以控制投影空间的维度,从而达到有效的降维效果。

因子分析法(FA)是另一种常用的数据降维算法,它的思想是通过对原始数据的因子分析,把原始数据投影到一个新的空间,使得新空间中的数据有更少的维度,但又能够保留原始数据的总体特征。

它的优点是能够有效地处理高维度数据,而且可以控制投影空间的维度,从而达到有效的降维效果。

总的来说,数据降维是一个有用的技术,它可以帮助人们更好地理解数据,获得更多有意义的信息。

它也可以帮助人们有效地处理高维度数据,从而提高处理效率。

降维算法

降维算法

第五部分:降维方法线性降维方法:PCA ICA LDA LFA LPP(LE的线性表示)基于核函数的非线性降维方法:KPCA KICA KDA基于特征值的非线性降维方法(流型学习):ISOMAPLLE LE LPP LTSA MVULLE(Locally Linear Embedding)算法(局部线性嵌入):每一个数据点都可以由其近邻点的线性加权组合构造得到。

算法的主要步骤分为三步:(1)寻找每个样本点的k个近邻点(k是一个预先给定的值);(2)由每个样本点的近邻点计算出该样本点的局部重建权值矩阵;(3)由该样本点的局部重建权值矩阵和其近邻点计算出该样本点的输出值,定义一个误差函数。

机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中。

降维的本质是学习一个映射函数 f : x->y,其中x是原始数据点的表达,目前最多使用向量表达形式。

y是数据点映射后的低维向量表达,通常y的维度小于x的维度(当然提高维度也是可以的)。

f可能是显式的或隐式的、线性的或非线性的。

目前大部分降维算法处理向量表达的数据,也有一些降维算法处理高阶张量表达的数据。

之所以使用降维后的数据表示是因为在原始的高维空间中,包含有冗余信息以及噪音信息,在实际应用例如图像识别中造成了误差,降低了准确率;而通过降维,我们希望减少冗余信息所造成的误差,提高识别(或其他应用)的精度。

又或者希望通过降维算法来寻找数据内部的本质结构特征。

在很多算法中,降维算法成为了数据预处理的一部分,如PCA。

事实上,有一些算法如果没有降维预处理,其实是很难得到很好的效果的。

主成分分析算法(PCA)Principal Component Analysis(PCA)是最常用的线性降维方法,它的目标是通过某种线性投影,将高维的数据映射到低维的空间中表示,并期望在所投影的维度上数据的方差最大,以此使用较少的数据维度,同时保留住较多的原数据点的特性。

数据降维的四种方法

数据降维的四种方法

数据降维的四种方法
数据降维是一种常用的数据分析方法,可以帮助我们减少数据的维度,提取出数据的主要特征,从而简化数据分析过程,提高算法的效率。

以下是四种常用的数据降维方法:
1. 主成分分析(PCA)
主成分分析是一种线性降维方法,可以将高维度数据转换为低维度数据,同时保留原始数据的主要信息。

它通过计算数据的协方差矩阵,找到数据的主要成分,用一个较少的维度来表示原始数据,从而达到降维的目的。

2. 独立成分分析(ICA)
独立成分分析是一种非线性降维方法,可以将数据中的独立成分分离出来,从而减少数据的维度。

它假设原始数据是由若干个独立的成分所组成,通过最大化成分间的独立性,将数据进行降维处理。

3. t-SNE
t-SNE是一种非线性降维方法,可以将高维度数据映射到低维度空间中,并保留原始数据的局部结构。

它通过计算数据点之间的相似度,将相似的数据点映射为相邻的点,从而将高维度数据降维为二维或三维。

4. LDA
LDA是一种有监督的降维方法,可以将数据从高维度空间映射到低维度空间,并保留原始数据的分类信息。

它通过最大化数据的类间距离和最小化数据的类内距离,将数据进行优化映射,达到降维的目
的。

以上是四种常用的数据降维方法,每种方法都有其优缺点和适用范围,需要根据具体问题选择合适的方法。

数据降维方法

数据降维方法

数据降维方法数据降维是指通过保留数据集的重要信息的同时,减少数据集的特征数量。

在实际应用中,数据往往具有高维特征,而高维数据不仅会增加计算复杂度,还可能导致维数灾难等问题,因此数据降维成为了解决这一问题的重要手段之一。

本文将介绍几种常见的数据降维方法,希望能够为大家提供一些参考。

首先,最常见的数据降维方法之一就是主成分分析(Principal Component Analysis,PCA)。

PCA通过线性变换将原始数据映射到一个新的坐标系下,使得数据在新坐标系下的方差最大化,从而达到降低数据维度的目的。

通过PCA,我们可以找到最能代表原始数据的主成分,从而实现数据的降维处理。

另一种常见的数据降维方法是线性判别分析(Linear Discriminant Analysis,LDA)。

与PCA不同的是,LDA是一种有监督学习的降维方法,它不仅考虑了数据的方差,还考虑了数据类别之间的差异。

LDA通过将原始数据投影到一个低维空间,使得不同类别之间的距离最大化,同一类别内部的数据距离最小化,从而实现数据的降维和分类。

除了线性降维方法外,非线性降维方法在近年来也得到了广泛的关注。

其中,流形学习(Manifold Learning)是一种常见的非线性降维方法。

流形学习假设数据分布在一个低维流形上,而非在高维空间中呈线性分布,通过学习数据的流形结构,可以将数据映射到一个低维空间,实现数据的降维处理。

此外,自编码器(Autoencoder)也是一种常见的非线性降维方法。

自编码器通过神经网络模型学习数据的特征表示,然后再通过解码器将学习到的特征表示重构为原始数据。

在训练过程中,自编码器通过最小化重构误差来学习数据的低维表示,从而实现数据的降维处理。

综上所述,数据降维是一项重要的数据预处理技术,它可以帮助我们减少数据的维度,提高计算效率,同时保留数据的重要信息。

在实际应用中,我们可以根据数据的特点选择合适的降维方法,以达到更好的数据分析和挖掘效果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中。

降维的本质是学习一个映射函数f:x->y,其中x是原始数据点的表达,目前最多使用向量表达形式。

y是数据点映射后的低维向量表达,通常y的维度小于x的维度(当然提高维度也是可以的)。

f可能是显式的或隐式的、线性的或非线性的。

目前大部分降维算法处理向量表达的数据,也有一些降维算法处理高阶张量表达的数据。

之所以使用降维后的数据表示是因为在原始的高维空间中,包含有冗余信息以及噪音信息,在实际应用例如图像识别中造成了误差,降低了准确率;而通过降维,我们希望减少冗余信息所造成的误差,提高识别(或其他应用)的精度。

又或者希望通过降维算法来寻找数据内部的本质结构特征。

在很多算法中,降维算法成为了数据预处理的一部分,如PCA。

事实上,有一些算法如果没有降维预处理,其实是很难得到很好的效果的。

主成分分析算法(PCA)
Principal Component Analysis(PCA)是最常用的线性降维方法,它的目标是通过某种线性投影,将高维的数据映射到低维的空间中表示,并期望在所投影的维度上数据的方差最大,以此使用较少的数据维度,同时保留住较多的原数据点的特性。

通俗的理解,如果把所有的点都映射到一起,那么几乎所有的信息(如点和点之间的距离关系)都丢失了,而如果映射后方差尽可能的大,那么数据点则会分散开来,以此来保留更多的信息。

可以证明,PCA是丢失原始数据信息最少的一种线性降维方式。

(实际上就是最接近原始数据,但是PCA并不试图去探索数据内在结构)
设n维向量w为目标子空间的一个坐标轴方向(称为映射向量),最大化数据
映射后的方差,有:
其中m是数据实例的个数,xi是数据实例i的向量表达,x拔是所有数据实例的平均向量。

定义W为包含所有映射向量为列向量的矩阵,经过线性代数变换,
可以得到如下优化目标函数:
其中tr表示矩阵的迹,
A是数据协方差矩阵。

容易得到最优的W是由数据协方差矩阵前k个最大的特征值对应的特征向量作
为列向量构成的。

这些特征向量形成一组正交基并且最好地保留了数据中的信息。

PCA的输出就是Y=W‘X,由X的原始维度降低到了k维。

PCA追求的是在降维之后能够最大化保持数据的内在信息,并通过衡量在投影
方向上的数据方差的大小来衡量该方向的重要性。

但是这样投影以后对数据的区分作用并不大,反而可能使得数据点揉杂在一起无法区分。

这也是PCA存在的最大一个问题,这导致使用PCA在很多情况下的分类效果并不好。

具体可以看下图所示,若使用PCA将数据点投影至一维空间上时,PCA会选择2轴,这使得原本很容易区分的两簇点被揉杂在一起变得无法区分;而这时若选择1轴将会得到很好的区分结果。

Discriminant Analysis所追求的目标与PCA不同,不是希望保持数据最多的信息,而是希望数据在降维后能够很容易地被区分开来。

后面会介绍LDA的方法,是另一种常见的线性降维方法。

另外一些非线性的降维方法利用数据点的局部性质,也可以做到比较好地区分结果,例如LLE,Laplacian Eigenmap等。

以后会介绍。

LDA
Linear Discriminant Analysis(也有叫做Fisher Linear Discriminant)是一种有监督的(supervised)线性降维算法。

与PCA保持数据信息不同,LDA是为了使得降维后的数据点尽可能地容易被区分!
假设原始数据表示为X,(m*n矩阵,m是维度,n是sample的数量)
既然是线性的,那么就是希望找到映射向量a,使得a‘X后的数据点能够保持以下两种性质:
1、同类的数据点尽可能的接近(within class)
2、不同类的数据点尽可能的分开(between class)
所以呢还是上次PCA用的这张图,如果图中两堆点是两类的话,那么我们就希望他们能够投影到轴1去(PCA结果为轴2),这样在一维空间中也是很容易
区分的。

接下来是推导,因为这里写公式很不方便,我就引用Deng Cai老师的一个ppt 中的一小段图片了:
思路还是非常清楚的,目标函数就是最后一行J(a),μ(一飘)就是映射后的中心用来评估类间距,s(一瓢)就是映射后的点与中心的距离之和用来评估类内距。

J(a)正好就是从上述两个性质演化出来的。

因此两类情况下:
加上a’a=1的条件(类似于PCA)
可以拓展成多类:
以上公式推导可以具体参考pattern classification书中的相应章节,讲fisher discirminant的
OK,计算映射向量a就是求最大特征向量,也可以是前几个最大特征向量组成矩阵A=[a1,a2,….ak]之后,就可以对新来的点进行降维了:y=A’X(线性的一个好处就是计算方便!)
可以发现,LDA最后也是转化成为一个求矩阵特征向量的问题,和PCA很像,事实上很多其他的算法也是归结于这一类,一般称之为谱(spectral)方法。

线性降维算法我想最重要的就是PCA和LDA了,后面还会介绍一些非线性的方法。

局部线性嵌入(LLE)
Locally linear embedding(LLE)是一种非线性降维算法,它能够使降维后的数据较好地保持原有流形结构。

LLE可以说是流形学习方法最经典的工作之一。

很多后续的流形学习、降维方法都与LLE有密切联系。

见图1,使用LLE将三维数据(b)映射到二维(c)之后,映射后的数据仍能保持原有的数据流形(红色的点互相接近,蓝色的也互相接近),说明LLE有效地保持了数据原有的流行结构。

但是LLE在有些情况下也并不适用,如果数据分布在整个封闭的球面上,LLE 则不能将它映射到二维空间,且不能保持原有的数据流形。

那么我们在处理数据中,首先假设数据不是分布在闭合的球面或者椭球面上。

图1LLE降维算法使用实例
LLE算法认为每一个数据点都可以由其近邻点的线性加权组合构造得到。

算法的主要步骤分为三步:(1)寻找每个样本点的k个近邻点;(2)由每个样本点的近邻点计算出该样本点的局部重建权值矩阵;(3)由该样本点的局部重建权值矩
阵和其近邻点计算出该样本点的输出值。

具体的算法流程如图2所示:
图2LLE算法步骤
Laplacian Eigenmaps拉普拉斯特征映射
继续写一点经典的降维算法,前面介绍了PCA,LDA,LLE,这里讲一讲Laplacian Eigenmaps。

其实不是说每一个算法都比前面的好,而是每一个算法都是从不同角度去看问题,因此解决问题的思路是不一样的。

这些降维算法的思想都很简单,却在有些方面很有效。

这些方法事实上是后面一些新的算法的思路来源。

Laplacian Eigenmaps[1]看问题的角度和LLE有些相似,也是用局部的角度去构建数据之间的关系。

它的直观思想是希望相互间有关系的点(在图中相连的点)在降维后的空间中尽可能的靠近。

Laplacian Eigenmaps可以反映出数据内在的流形结构。

使用时算法具体步骤为:
步骤1:构建图
使用某一种方法来将所有的点构建成一个图,例如使用KNN算法,将每个点最近的K个点连上边。

K是一个预先设定的值。

步骤2:确定权重
确定点与点之间的权重大小,例如选用热核函数来确定,如果点i和点j相连,那么它们关系的权重设定为:
使用最小的m个非零特征值对应的特征向量作为降维后的结果输出。

前面提到过,Laplacian Eigenmap具有区分数据点的特性,可以从下面的例子
看出:
见图1所示,左边的图表示有两类数据点(数据是图片),中间图表示采用Laplacian Eigenmap降维后每个数据点在二维空间中的位置,右边的图表示采用PCA并取前两个主要方向投影后的结果,可以清楚地看到,在此分类问题上,
Laplacian Eigenmap的结果明显优于PCA。

图2roll数据的降维
图2说明的是,高维数据(图中3D)也有可能是具有低维的内在属性的(图中roll实际上是2D的),但是这个低维不是原来坐标表示,例如如果要保持局部关系,蓝色和下面黄色是完全不相关的,但是如果只用任何2D或者3D的距离来描述都是不准确的。

下面三个图是Laplacian Eigenmap在不同参数下的展开结果(降维到2D),可以看到,似乎是要把整个带子拉平了。

于是蓝色和黄色差的比较远。

相关文档
最新文档