PCA(principle component analysis)主成分分析 理论依据 最大方差理论 最小平方误差理论 一.最大方差理论(白面机器学习) 对一个矩阵进行降维,我们希望降维之后的每一维数据能够有大的方差. 为什么呢? 因为每一维的方差越大,说明数据之间区分度高,想象一个极端的情况,降维之后的数据集所有维度 都是一样的值,方差为0,那么数据就没什么意义了,因为退化成了一条数据. 二维图生动形象 推导过程    对于n个样本,m维特征 (v1, v2, v3 ... vn), vi是m…
特点: 是一个二叉树,元素可以重复利用,可以做回归也可以做分类,分类用最小二乘法,即误差平方和最小 切割方法: 对于可量化的x来说: 切割点通常为两个x的平均值 左右两部分分别取均值,再评判以哪个分割点的误差平方和最小,即第一层根节点为此点 以此为规则,往下迭代,构建出回归树 对于不可量化的x来说: x无法去均值.直接以特征属性割分,再计算两个区域的均值,再寻找误差平方和最小的切割点 举个栗子: CART回归树的构建: 优点: 易于解释 处理类别特征,其他的技术往往要求数据属性的单一 延展到多分…
1. Sunday算法是Daniel M.Sunday于1990年提出的一种比BM算法搜索速度更快的算法. 2. Sunday算法其实思想跟BM算法很相似,只不过Sunday算法是从前往后匹配, 在匹配失败时关注的是文本串中参加匹配的最末位字符的下一位字符. 如果该字符没有在匹配串中出现则直接跳过,即移动步长= 匹配串长度+ 1: 否则,同BM算法一样其移动步长=匹配串中最右端的该字符到末尾的距离+1. 3. 举例如下: //pos=0; //匹配串:abcdacdaahfacabcdabcde…
主成分分析: 降低特征维度的方法. 不会抛弃某一列特征, 而是利用线性代数的计算,将某一维度特征投影到其他维度上去, 尽量小的损失被投影的维度特征 api使用: estimator = PCA(n_components=20) pca_x_train = estimator.fit_transform(x_train) pca_x_test = estimator.transform(x_test) 分别使用支持向量机进行学习降维前后的数据再预测 该数据集源自网上 https://archive…
四大机器学习降维算法:PCA.LDA.LLE.Laplacian Eigenmaps 机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中.降维的本质是学习一个映射函数 f : x->y,其中x是原始数据点的表达,目前最多使用向量表达形式. y是数据点映射后的低维向量表达,通常y的维度小于x的维度(当然提高维度也是可以的).f可能是显式的或隐式的.线性的或非线性的. 目前大部分降维算法处理向量表达的数据,也有一些降维算法处理高阶张量表达的数据.之所以使用降维…
最近在找降维的解决方案中,发现了下面的思路,后面可以按照这思路进行尝试下: 链接:http://www.36dsj.com/archives/26723 引言 机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中.降维的本质是学习一个映射函数 f : x->y,其中x是原始数据点的表达,目前最多使用向量表达形式. y是数据点映射后的低维向量表达,通常y的维度小于x的维度(当然提高维度也是可以的).f可能是显式的或隐式的.线性的或非线性的. 目前大部分降维算法…
Introduction 在计算机视觉及机器学习领域,数据的可视化是非常重要的一个应用,一般我们处理的数据都是成百上千维的,但是我们知道,目前我们可以感知的数据维度最多只有三维,超出三维的数据是没有办法直接显示出来的,所以需要做降维的处理,数据的降维,简单来说就是将高维度的数据映射到较低的维度,如果要能达到数据可视化的目的,就要将数据映射到二维或者三维空间.数据的降维是一种无监督的学习过程,我们可以看成是一种聚类.数据在空间的分布主要有两个特性,一个是相似性,我们可以用类内距离衡量:一个是差异性…
最近在看论文的时候看到论文中使用isomap算法把3D的人脸project到一个2D的image上.提到降维,我的第一反应就是PCA,然而PCA是典型的线性降维,无法较好的对非线性结构降维.ISOMAP是‘流形学习’中的一个经典算法,流形学习贡献了很多降维算法,其中一些与很多机器学习算法也有结合,先粗糙的介绍一下’流形学习‘. 流形学习 流形学习应该算是个大课题了,它的基本思想就是在高维空间中发现低维结构.比如这个图: 这些点都处于一个三维空间里,但我们人一看就知道它像一块卷起来的布,图中圈出来…
简述 在降维过程中,我们会减少特征的数量,这意味着删除数据,数据量变少则表示模型可以获取的信息会变少,模型的表现可能会因此受影响.同时,在高维数据中,必然有一些特征是不带有有效的信息的(比如噪音),或者有一些特征带有的信息和其他一些特征是重复的(比如一些特征可能会线性相关).我们希望能够找出一种办法来帮助我们衡量特征上所带的信息量,让我们在降维的过程中,能够即减少特征的数量,又保留大部分有效信息——将那些带有重复信息的特征合并,并删除那些带无效信息的特征等等——逐渐创造出能够代表原特征矩阵大部分…