ML: 降维算法-PCA】的更多相关文章

        PCA (Principal Component Analysis) 主成份分析 也称为卡尔胡宁-勒夫变换(Karhunen-Loeve Transform),是一种用于探索高维数据结构的技术.PCA通常用于高维数据集的探索与可视化.还可以用于数据压缩,数据预处理等.PCA可以把可能具有相关性的高维变量合成线性无关的低维变量,称为主成分( principal components).新的低维数据集会尽可能的保留原始数据的变量.PCA将数据投射到一个低维子空间实现降维.例如,二维数…
局部线性嵌入 (Locally linear embedding)是一种非线性降维算法,它能够使降维后的数据较好地保持原有 流形结构 .LLE可以说是流形学习方法最经典的工作之一.很多后续的流形学习.降维方法都与LLE有密切联系. 如下图,使用LLE将三维数据(b)映射到二维(c)之后,映射后的数据仍能保持原有的数据流形(红色的点互相接近,蓝色的也互相接近),说明LLE有效地保持了数据原有的流行结构. 但是LLE在有些情况下也并不适用,如果数据分布在整个封闭的球面上,LLE则不能将它映射到二维空…
机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中.降维的本质是学习一个映射函数 f : x->y,其中x是原始数据点的表达, y是数据点映射后的低维向量表达,通常y的维度小于x的维度(当然提高维度也是可以的).f可能是显式的或隐式的.线性的或非线性的.使用降维的原因: 压缩数据以减少存储量. 去除噪声的影响 从数据中提取特征以便于进行分类 将数据投影到低维可视空间,以便于看清数据的分布 变量(特征)数量相对数据条数有可能过大,从而不符合某些模型的需求.打…
简述 在降维过程中,我们会减少特征的数量,这意味着删除数据,数据量变少则表示模型可以获取的信息会变少,模型的表现可能会因此受影响.同时,在高维数据中,必然有一些特征是不带有有效的信息的(比如噪音),或者有一些特征带有的信息和其他一些特征是重复的(比如一些特征可能会线性相关).我们希望能够找出一种办法来帮助我们衡量特征上所带的信息量,让我们在降维的过程中,能够即减少特征的数量,又保留大部分有效信息——将那些带有重复信息的特征合并,并删除那些带无效信息的特征等等——逐渐创造出能够代表原特征矩阵大部分…
几个概念 正交矩阵 在矩阵论中,正交矩阵(orthogonal matrix)是一个方块矩阵,其元素为实数,而且行向量与列向量皆为正交的单位向量,使得该矩阵的转置矩阵为其逆矩阵:  其中,为单位矩阵.正交矩阵的行列式值必定为或,因为: 对角矩阵 对角矩阵(英语:diagonal matrix)是一个主对角线之外的元素皆为0的矩阵.对角线上的元素可以为0或其他值.因此n行n列的矩阵 = (di,j)若符合以下的性质: 则矩阵为对角矩阵. 性质有: 1. 对角矩阵的和差运算结果还为对角矩阵 2. 对…
概述 1 从什么叫“维度”说开来 我们不断提到一些语言,比如说:随机森林是通过随机抽取特征来建树,以避免高维计算:再比如说,sklearn中导入特征矩阵,必须是至少二维:上周我们讲解特征工程,还特地提到了,特征选择的目的是通过降维来降低算法的计算成本……这些语言都很正常地被我用来使用,直到有一天,一个小伙伴问了我,”维度“到底是什么? 对于数组和Series来说,维度就是功能shape返回的结果,shape中返回了几个数字,就是几维.索引以外的数据,不分行列的叫一维(此时shape返回唯一的维度…
判别分析(discriminant analysis)是一种分类技术.它通过一个已知类别的“训练样本”来建立判别准则,并通过预测变量来为未知类别的数据进行分类.判别分析的方法大体上有三类,即Fisher判别.Bayes判别和距离判别. Fisher判别思想是投影降维,使多维问题简化为一维问题来处理.选择一个适当的投影轴,使所有的样品点都投影到这个轴上得到一个投影值.对这个投影轴的方向的要求是:使每一组内的投影值所形成的组内离差尽可能小,而不同组间的投影值所形成的类间离差尽可能大. Bayes判别…
PCA的降维原则是最小化投影损失,或者是最大化保留投影后数据的方差.LDA降维需要知道降维前数据分别属于哪一类,而且还要知道数据完整的高维信息.拉普拉斯特征映射 (Laplacian Eigenmaps,LE)看问题的角度和LLE十分相似.它们都用图的角度去构建数据之间的关系.图中的每个顶点代表一个数据,每一条边权重代表数据之间的相似程度,越相似则权值越大.并且它们还都假设数据具有局部结构性质.LE假设每一点只与它距离最近的一些点相似,再远一些的数据相似程度为0,降维后相近的点尽可能保持相近.而…
1.PCA算法介绍主成分分析(Principal Components Analysis),简称PCA,是一种数据降维技术,用于数据预处理.一般我们获取的原始数据维度都很高,比如1000个特征,在这1000个特征中可能包含了很多无用的信息或者噪声,真正有用的特征才100个,那么我们可以运用PCA算法将1000个特征降到100个特征.这样不仅可以去除无用的噪声,还能减少很大的计算量. PCA算法是如何实现的? 简单来说,就是将数据从原始的空间中转换到新的特征空间中,例如原始的空间是三维的(x,y,…
PCA是一种非监督学习算法,它能够在保留大多数有用信息的情况下,有效降低数据纬度. 它主要应用在以下三个方面: 1. 提升算法速度 2. 压缩数据,减小内存.硬盘空间的消耗 3. 图示化数据,将高纬数据映射到2维或3维 总而言之,PCA干的事情就是完成一个将原始的n维数据转化到k维的映射.其中,k<n 它的核心算法如下: 1. 将数据均一化 x' = [x-mean(x)] / range(x) 2. 计算它的协方差矩阵 即:Sigma = 1/m * x' * x 3. 进行svd分解,计算特…