机器学习之降维

article/2025/9/14 3:29:26

本周关于降维的学习主要分为五类:PCA、LDA、LLE、tSNE、ISOMAP
来进行学习
首先自己的任务是:tSNE的学习
(一)降维的基本知识点总结
1、降维方法分为线性和非线性降维,非线性降维又分为基于核函数和基于特征值的方法。
(1)线性降维:PCA、ICA、LDA、LFA、LPP
(2)非线性降维方法:①基于核函数的方法:KPCA、KICA、KDA
②基于特征值的方法:ISOMAP、LLE、LE、LPP、LTSA、MVU
或者将降维方法如下图分类:
这里写图片描述
2、降维的作用:(为什么会有这些作用?
(1)降低时间的复杂度和空间复杂度
(2)节省了提取不必要特征的开销
(3)去掉数据集中夹杂的噪音
(4)较简单的模型在小数据集上有更强的鲁棒性
(5)当数据能有较少的特征进行解释,我们可以更好地解释数据,是的我们可以提取知识
(6)实现数据的可视化
3、降维的目的
用来进行特征选择和特征提取。
①特征选择:选择重要的特征子集,删除其余特征;
②特征提取:由原始特征形成的较少的新特征。
在特征提取中,我们要找到k个新的维度的集合,这些维度是原来k个维度的组合,这个方法可以是监督的,也可以是非监督的,如PCA是非监督的,LDA是监督的。
4、子集选择
对于n个属性,有2n个可能的子集。穷举搜索找出属性的最佳子集可能是不现实的,特别是当n和数据类的数目增加时。通常使用压缩搜索空间的启发式算法,通常这些方法是典型的贪心算法,在搜索属性空间时,总是做看上去是最佳的选择。他们的策略是局部最优选择,期望由此导致全局最优解。在实践中,这种贪心方法是有效的,并可以逼近最优解。
子集选择的缺点:
5、降维的本质:学习一个映射函数f:x到y。(x是原始数据点的表达,目前最多的是用向量来表示,Y是数据点映射后的低维向量表达。)f可能是:显示的、隐式的、线性的、非线性的。
(二)主成分分析(PCA)
将样本投影到某一维上,新的坐标的选择方式:找到第一个坐标,数据集在该坐标的方差最大(方差最大也就是我们在这个数据维度上能更好地区分不同类型的数据),然后找到第二个坐标,该坐标与原来的坐标正交。该过程会一直的重复,直到新坐标的数目和原来的特征个数相同,这时候我们会发现数据的大部分方差都在前面几个坐标上表示,这些新的维度就是我们所说的主成分。
(1)PCA的基本思想:寻找数据的主轴方向,由主轴构成一个新的坐标系,这里的维数可以比原维数低,然后数据由原坐标系向新坐标系投影,这个投影的过程就是降维的过程。
(2)PCA算法的过程
①将原始数据中的每一个样本都用向量表示,把所有样本组合起来构成样本矩阵,通常对样本矩阵进行中心化处理,得到中心化样本矩阵。
②求中心化后的样本矩阵的协方差;
③求协方差矩阵的特征值和特征向量;
④将求出的特征值按从大到小的顺序排列,并将其对应的特征向量按照此顺序组合成一个映射矩阵,根据指定的PCA保留的特征个数取出映射矩阵的前n行或者前n列作为最终的映射矩阵;
⑤用映射矩阵对数据进行映射,达到数据降维的目的。
(3)PCA实例中的小插曲:TF-IDF
TF-IDF:term freuency-inverse document frequency,它是一种用于信息检索与文本挖掘的常用加权技术,是一种统计方法,用以评估一字词对于一个文本集或一个语料库中其中一份文件的重要程度。包括两部分,词频和逆向文件频率。
(4)协方差矩阵的对角上是方差,非对角线上是协方差。协方差是衡量两个变量同时变化的变化程度。协方差大于0表示x和y中若一个增,另一个也增;小于0表示一个增一个减。
(5)PCA推导—最大方差理论
在信号处理中认为信号具有较大的方差,噪音具有较小的方差,信噪比越大越好。PCA遵循投影后的样本点间方差最大原则。
(二)LDA(Linear discriminant analysis)
线性判别式分析,也叫fisher线性判别,是模式识别中的经典算法。
是一种监督学习的降维技术,它的数据集的每个样本是有类别输出的。
思想:投影后类内距离最小,类间距离最大。
1、线性判别:将高维的模式样本投影到最佳鉴别矢量空间,以达到抽取分类信息和压缩特征空间维数的效果,投影后保证模式样本在新的子空间有最大的类间距离和最小的类内距离,这是一种有效的特征提取方法,使用这个方法,能使得投影后模式样本的类间散布矩阵最大,且同时类内散布矩阵最小。
2、与PCA相比较:
(1)共同点:①都属于线性方法;
②在降维时都采用矩阵分解的方法;
③都假设数据符合高斯分布;
(2)不同点:
①LDA是有监督的;
②不能保证投影到的坐标系是正交的(根据类别的标注,关注分类能力);
③降维直接与类别的个数有关,与数据本身的维度无关(原始数据是n维的,有c个类别,降维后一般是到c-1维)
④可以用于降维,还可用于分类;
⑤选择分类性能最好的投影方向。
(三)LLE
1、属于流形学习的一种,和传统的PCA、LDA相比,不再是关注样本方差的降维方法,而是一种关注降维时保持样本局部的线性特征。
LLE是将高维流形分成很多小块,每一小块可以用平面代替,然后再在低维中重新拼合起来,且要求保留各点之间的拓扑关系不变。
2、LLE思想:
首先假设数据在较小的局部是线性的,即某一个数据能够用它邻域中的几个样本来线性表示,可以通过k-近邻的思想来找到它的近邻点。在降维之后,希望样本点对应的投影尽量保持同样的线性关系。即投影前后线性关系的权重参数不变或者改变很小。
3、LLE算法推导:
(1)首先确定邻域大小的选择;
(2)需要找到某个样本Xi和这k个最近邻之间的线性关系(找线性关系是一个回归问题)
(3)由该样本点的局部重建权值矩阵和其近邻点计算出该样本点的输出值;
(4)
(四)ISOMAP(等距特征映射)
1、以线性流形学习方法MDS为理论基础,将经典MDS方法中的欧式距离替换为
(五) tSNE
TSNE是由SNE衍生出的一张算法,SNE最早出现在2002年,改变了MDN和ISOMAP中基于距离不变的思想,将高维映射到低维的同时,尽量保证相互之间的分布概率不变,SNE将高维和低维中的样本分布都看作高斯分布,而TSNE将低维中的坐标当作T分布,这样的好处是为了让距离大的簇之间距离拉大,从而解决了拥挤问题。从SNE到TSNE之间,还有一个对称SNE,其对SNE有部分改进作用。
1、SNE算法
高维数据用X表示,Xi表示第i个样本,低维数据用Y来表示,则高维中的分布概率矩阵P定义如下:
这里写图片描述
其中P(i,j)表示第i个样本分布在样本j周围的概率。delta是依据最大熵原理来决定,entropy=sum(pi*log(pi)),以每个样本点为中心的delta都需要使得最后分布的熵较小,通常以log(k)为上限,k为你所决定的邻域点的个数。

低维中的分布概率矩阵计算如下:
这里写图片描述
这里我们把低维中的分布看作是均衡的,每个delta都是0.5,由此可以判断最后降维之后生成的分布也是一个相对均匀的分布。
随机给定一个初始化的Y,进行优化,使得Y的分布矩阵逼近X的分布矩阵。给定目标函数,用KL散度来定义两个不同分布之间的差距:
这里写图片描述
则可以计算梯度为:
这里写图片描述
每次梯度下降的步长可设定固定或者自适应、随机等,也可以加上一个动量的梯度,初始值一般设为1e-4的随机正态分布。
这里写图片描述
2、对称SNE
就是让高维和低维中的概率分布矩阵是对称的,能方便计算,但是对拥挤问题无法改进。
这里写图片描述
这里写图片描述
与SNE相比,只是梯度有一些变化:
这里写图片描述
3、TSNE
TSNE对高维中的分布采用对称SNE中的做法,低维中的分布则采用更一般的T分布,也是对称的,可以发现sum(P)=sum(Q)=1。
TSNE的算法如下所示:
这里写图片描述
这里写图片描述


http://chatgpt.dhexx.cn/article/bv8TfFWF.shtml

相关文章

四大机器学习降维方法

引言: 机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中。降维的本质是学习一个映射函数 f : x->y,其中x是原始数据点的表达,目前最多使用向量表达形式。 y是数据点映射后的低维向…

降维方法总结

目录 数据降维方法: 降维: 降维的用处: 降维方法思想分类: 降维方法总览 降维方法详细说明 1. 缺失值比率(Missing Value Ratio) 2. 低方差滤波(Low Variance Filter) 3. 高相关…

数据分析七种降维方法

近来由于数据记录和属性规模的急剧增长,大数据处理平台和并行数据分析算法也随之出现。于此同时,这也推动了数据降维处理的应用。实际上,数据量有时过犹不及。有时在数据分析应用中大量的数据反而会产生更坏的性能。 最新的一个例子是采用 20…

12种降维方法及python实现

你遇到过特征超过1000个的数据集吗?超过5万个的呢?我遇到过。降维是一个非常具有挑战性的任务,尤其是当你不知道该从哪里开始的时候。拥有这么多变量既是一个恩惠——数据量越大,分析结果越可信;也是一种诅咒——你真的…

特征降维方法

关于降维的学习主要分为五类:PCA、LDA、LLE、tSNE、ISOMAP (一)降维的基本知识点总结 1、降维方法分为线性和非线性降维,非线性降维又分为基于核函数和基于特征值的方法。 (1)线性降维:PCA、…

四大降维方法

PCA和LDA之间的区别 从主观的理解上,主成分分析到底是什么?它其实是对数据在高维空间下的一个投影转换,通过一定的投影规则将原来从一个角度看到的多个维度映射成较少的维度。到底什么是映射,下面的图就可以很好地解释这个问题—…

数据降维方法小结

数据的形式是多种多样的,维度也是各不相同的,当实际问题中遇到很高的维度时,如何给他降到较低的维度上?前文提到进行属性选择,当然这是一种很好的方法,这里另外提供一种从高维特征空间向低纬特征空间映射的…

12种降维方法终极指南

来源:Analytics Vidhya 编译:Bot 授权自 论智 你遇到过特征超过1000个的数据集吗?超过5万个的呢?我遇到过。降维是一个非常具有挑战性的任务,尤其是当你不知道该从哪里开始的时候。拥有这么多变量既是一个恩惠——数据…

12种降维方法终极指南(含Python代码)

12种降维方法终极指南(含Python代码) 你遇到过特征超过1000个的数据集吗?超过5万个的呢?我遇到过。降维是一个非常具有挑战性的任务,尤其是当你不知道该从哪里开始的时候。拥有这么多变量既是一个恩惠——数据量越大&…

七种降维方法

近来由于数据记录和属性规模的急剧增长,大数据处理平台和并行数据分析算法也随之出现。于此同时,这也推动了数据降维处理的应用。实际上,数据量有时过犹不及。有时在数据分析应用中大量的数据反而会产生更坏的性能。 最新的一个例子是采用 20…

【数据降维】数据降维方法分类

数据降维基本原理是将样本点从输入空间通过线性或非线性变换映射到一个低维空间,从而获得一个关于原数据集紧致的低维表示。 数据降维工具箱drtoolbox中众多算法,这里简单做个分类。 因为很多并没有仔细了解,在此次只对八种方法做分类&…

机器学习之降维方法总结

降维方法分为线性降维方法和非线性降维方法,看下表:本文结构如下: 线性降维方法主成分分析法线性判别法奇异值分解法因子分析法非线性降维方法~~流形学习简介 说到维度,其目的是用来进行特征选择和特征提取…

常见的降维方法(PCA,SVD)

1、PCA降维(主成分分析) PCA降维就是去除线性相关,使得最后剩余的属性维度全都线性无关。 其实:PCA降维不仅是去除先线性无关,还可以过滤掉小特征值对应的特征向量。因为特征值变化小,对应的特征向量变化…

看!数据分析领域中最为人称道的七种降维方法

http://dataunion.org/20803.html 感谢王穆荣的投稿,转载请注明出处:数盟社区 近来由于数据记录和属性规模的急剧增长,大数据处理平台和并行数据分析算法也随之出现。于此同时,这也推动了数据降维处理的应用。实际上&#xff0…

数据降维的几种常见方法(PCA;FA;LDA;ICA等)

文章目录 数据降维方式简述PCA与ICA、FA、LDA的区别与联系1.PCA与ICA的联系与区别2.PCA与LDA的联系与区别3.PCA与FA的联系与区别 总结 数据降维方式简述 在学习ICA算法的过程中,了解到常常需要对数据进行降维,如PCA,FA等,以达到数…

大整数的乘法

大整数的乘法 (这里主要讨论的是两个较大的数相乘的效率问题,实际上并不是真正意义上的大数相乘。在java中有个BigInteger类已经可以储存大数,并提供了大数相乘的方法了。) 【分析】 首先,当两个整数X、Y&#xff0…

实验一:大整数乘法

1.实验目的 掌握分治算法的基本思想、技巧和效率分析方法。熟练掌握用递归设计分治算法的基本步骤。学会利用分治算法解决实际问题。 2.实验内容 大整数乘法 采用分治算法实现两个n位二进制(或者十进制)大整数的乘法。 3.实验要求 根据实验内容构思…

分治法的经典问题——大整数相乘

分治法的原理 讨论问题时,先来了解一下什么是分治法。 分治法的意思就是,分而治之,也就是把一个问题,拆分成几个小问题,最后再汇总解决的方法 通过大整数相乘问题来了解分治法 假如现在我们要求两个大整数相乘的乘积…

大整数乘法(分治法)

大整数乘法(分治法) 题目描述:设X和Y都是n位的十进制整数,计算它们的乘积X*Y。 如果按照我们日常的计算方法,应该就是将两个数逐位相乘,最后加起来得到最终的结果,时间复杂度为O(n2&…

大整数相乘算法

一 转换为二进制求,推导出的公式适合十进制计算 设X和Y都是n位的二进制整数,现在要计算它们的乘积XY。我们可以用小学所学的方法来设计一个计算乘积XY的算法,但是这样做计算步骤太多,显得效率较低。如果将每2个1位数的乘法或加法看…