数据降维的目的: 数据降维,直观地好处是维度降低了,便于计算和可视化,其更深层次的意义在于有效信息的提取综合及无用信息的摈弃。
降维方法 __ 属性选择 :过滤法;包装法;嵌入法;
| _ 映射方法 _ 线性映射方法:PCA、LDA、SVD分解等
| _ 非线性映射方法:
|__核方法:KPCA、KFDA等
|__二维化:
|__流形学习:ISOMap、LLE、LPP等。
| __ 其他方法:神经网络和聚类
PCA(Principal Components Analysis)即主成分分析,是图像处理中经常用到的降维方法。它不仅仅是对高维数据进行降维,更重要的是经过降维去除了噪声,发现了数据中的模式。PCA把原先的n个特征用数目更少的m个特征取代,新特征是旧特征的线性组合,这些线性组合最大化样本方差,尽量使新的m个特征互不相关。
PCA方法通过消除数据的相关性,找到一个空间,使得各个类别的数据在该空间上能够很好地分离。在图1中,有一些离散的二维分布点,其中五角星表示一类集合,小圆圈表示另一类集合,假设这两个类别可以用特征X和特征Y进行描述,由图可知,在X轴和Y轴上这两个类别的投影是重叠的,表明这些点的两个特征X和Y没有表现出突出的识别性。但是两个类的投影在Z轴上区分度较大,显示出很好的识别性。PCA就是这样的一个工具,它可以产生非常好的降维效果。
优点:1)最小误差。2)提取了主要信息
缺点:1)计算协方差矩阵,计算量大
即每一维的数据都减去该维的均值。这里的“维”指的就是一个特征(或属性),变换之后每一维的均值都变成了0。假设二维数据如图3所示,特征中心化的结果如图4所示。
样本X和样本Y的协方差(Covariance):
协方差为正时说明X和Y是正相关关系,协方差为负时X和Y是负相关关系,协方差为0时X和Y相互独立。Cov(X,X)就是X的方差(Variance)。当样本是n维数据时,它们的协方差实际上是协方差矩阵(对称方阵),方阵的边长是n(n-1)/2。比如对于3维数据(x,y,z),计算它的协方差就是:
若AX=λX,则称λ是A的特征值,X是对应的特征向量。实际上可以这样理解:矩阵A作用在它的特征向量X上,仅仅使得X的长度发生了变化,缩放比例就是相应的特征值λ。当A是n阶可逆矩阵时,A与P^(-1)Ap相似,相似矩阵具有相同的特征值。特别地,当A是对称矩阵时,A的奇异值等于A的特征值,存在正交矩阵Q(Q^(-1)=Q^(T)),使得:
对A进行 奇异值分解 就能求出所有特征值和Q矩阵。A∗Q=Q∗D,D是由特征值组成的对角矩阵由特征值和特征向量的定义知,Q的列向量就是A的特征向量。
将特征值按照从大到小的顺序排序,选择其中最大的 k 个,然后将其对应的 k 个特征向量分别作为列向量组成特征向量矩阵。这里特征值只有两个,我们选择其中最大的那个,这里是1284,对应的特征向量是(--0677,0735) T 。
假设样例数为 m ,特征数为 n ,减去均值后的样本矩阵为 DataAdjust ( m n ),协方差矩阵是 n n ,选取的 k 个特征向量组成的矩阵为 EigenVectors ( n k )。那么投影后的数据 FinalData 为
这里是 FinalData (101)= DataAdjust (102矩阵)×特征向量(--0677,0735) T, 得到结果是将原始样例的 n 维特征变成了 k 维,这 k 维就是原始特征在 k 维上的投影。
链接:https://wwwzhihucom/question/30094611/answer/275172932
PCA理解第一层境界:最大方差投影
正如PCA的名字一样, 你要找到主成分所在方向, 那么这个主成分所在方向是如何来的呢?
其实是希望你找到一个垂直的新的坐标系, 然后投影过去, 这里有两个问题。 第一问题 : 找这个坐标系的标准或者目标是什么? 第二个问题 , 为什么要垂直的, 如果不是垂直的呢?
如果你能理解第一个问题, 那么你就知道为什么PCA主成分是特征值和特征向量了。 如果你能理解第二个问题, 那么你就知道PCA和ICA到底有什么区别了。
对于第一个问题: 其实是要 求解方差最小或者最大 。 按照这个目标, 你代入拉格朗日求最值, 你可以解出来, 主成分方向,刚好是S的特征向量和特征值! 是不是很神奇? 伟大的拉格朗日 (参考 " 一步一步走向锥规划 - QP " " 一挑三 FJ vs KKT ")
现在回答了,希望你理解了, PCA是对什么东西求解特征值和特征向量。 也理解为什么是求解的结果就是特征值和特征向量吧!
这仅仅是PCA的本意! 我们也经常看到PCA用在图像处理里面, 希望用最早的主成分重建图像:
这是怎么做到的呢?
PCA理解第二层境界:最小重建误差
什么是重建, 那么就是找个新的基坐标, 然后减少一维或者多维自由度。 然后重建整个数据。 好比你找到一个新的视角去看这个问题, 但是希望自由度小一维或者几维。
那么目标就是要最小重建误差,同样我们可以根据最小重建误差推导出类似的目标形式。
虽然在第二层境界里面, 也可以直观的看成忽略了最小特征值对应的特征向量所在的维度。 但是你能体会到和第一层境界的差别么? 一个是找主成分, 一个是维度缩减。 所以在这个层次上,才是把PCA看成降维工具的最佳视角。
PCA理解第三层境界:高斯先验误差
在第二层的基础上, 如果 引入最小二乘法和带高斯先验的最大似然估计的等价性 。(参考" 一步一步走向锥规划 - LS " “ 最小二乘法的4种求解 ” ) 那么就到了理解的第三层境界了。
所以, 重最小重建误差, 我们知道求解最小二乘法, 从最小二乘法, 我们可以得到高斯先验误差。
有了高斯先验误差的认识,我们对PCA的理解, 进入了概率分布的层次了。 而正是基于这个概率分布层次的理解, 才能走到Hinton的理解境界。
PCA理解第四层境界(Hinton境界):线性流形对齐
如果我们把高斯先验的认识, 到到数据联合分布, 但是如果把数据概率值看成是空间。 那么我们可以直接到达一个新的空间认知。
这就是“Deep Learning”书里面写的, 烙饼空间(Pancake), 而在烙饼空间里面找一个线性流行,就是PCA要干的事情。 我们看到目标函数形式和最小重建误差完全一致。 但是认知完全不在一个层次了。
奇异值分解(Singular Value Decomposition,SVD),是一种提取信息的方法。比如有一份记录用户关于餐馆观点的数据,要对其进行处理分析,提取背后的因素,这个因素可能是餐馆的类别,烹饪配料等,然后利用这些因素估计人们对没有去过的餐馆的看法,从而进行推荐,提取这些信息的方法就叫奇异值分解法。
奇异值分解能够简约数据,去除噪声和冗余数据。其实它说白了也是一种降维方法,将数据映射到低维空间。从数学的角度讲,它就是一种矩阵分解法,就是把一个大矩阵分解成易于处理的形式,这种形式可能是两个或多个矩阵的乘积,就如同我们在代数中的因子分解,这种因子分解在数学里便于我们计算。
假设我们的矩阵A是一个m×n的矩阵,那么我们定义矩阵A的SVD为
假设A是一个N M的矩阵,那么得到的U是一个N N的方阵(里面的向量是正交的,U里面的向量称为左奇异向量),Σ是一个N M的矩阵(除了对角线的元素都是0,对角线上的元素称为奇异值),V’(V的转置)是一个N N的矩阵,里面的向量也是正交的,V里面的向量称为右奇异向量),从来反映几个相乘的矩阵的大小可得下面的
那么奇异值和特征值是怎么对应起来的呢?首先,我们将一个矩阵A的转置 A,将会得到一个方阵,我们用这个方阵求特征值可以得到:
这里得到的v,就是我们上面的右奇异向量。此外我们还可以得到
这里的σ就是上面说的奇异值,u就是上面说的左奇异向量。奇异值σ跟特征值类似,在矩阵Σ中也是从大到小排列,而且σ的减少特别的快,在很多情况下,前10%甚至1%的奇异值的和就占了全部的奇异值之和的99%以上了。也就是说,我们也可以用前r大的奇异值来近似描述矩阵,这里定义一下部分奇异值分解:
r是一个远小于m、n的数,这样矩阵的乘法看起来像是下面的样子:
右边的三个矩阵相乘的结果将会是一个接近于A的矩阵,在这儿,r越接近于n,则相乘的结果越接近于A。而这三个矩阵的面积之和(在存储观点来说,矩阵面积越小,存储量就越小)要远远小于原始的矩阵A,我们如果想要压缩空间来表示原矩阵A,我们存下这里的三个矩阵:U、Σ、V就好了。这里我们用一个简单的例子来说明矩阵是如何进行奇异值分解的。我们的矩阵A定义为:
链接:https://zhuanlanzhihucom/p/29846048
就图像矩阵本身的特征值和特征向量是没意义的,因为一般图像不是实对称矩阵(学过线性代数吧)。不过就我知道的图像有关特征值或者特征向量的,可以参考PCA算法主要成分分析,这里特征值和特征向量分别代表主要成分的能量和其相对应的线性变换,但需要多个样本才能计算同一块空间。不知道你的具体问题是什么。
PCA是一种广泛应用的降维分析技术,由PCA建立的新坐标空间是原模式空间的线性变换,且用一组正交基依次反映了空间的最大分散特征。PCA和因子分析的差别在于:PCA是用最少个数的主成分占有最大的总方差,而因子分析是用尽可能少的公共因子最优地解释各个变量之间的相互关系。
设有N个观察样本,其特征变量为m个。
Xi=(Xi1,Xi2,…,Xim)T组成样本集。PCA方法及将m个特征变量组合成m个新的成分,这些新成分分别是m个特征变量的线性组合:
Y1=L11X1+L21X2+…+Lm1Xm
Y2=L12X1+L22X2+…+Lm2Xm
……………………………………
Ym=L1mX1+L2mX2+…+LmmXm
如果用矩阵表示,即
Y=LX
为求L矩阵,可先求空间分布中心:
Xc=(Xc1,Xc2,…,Xcm)T
将空间平移即得位移向量
Yj=Xj-Xc
j=1,2,…,N
或表示为矩阵
相态分析与地质找矿
由此可得离散矩阵
S=RRT
可用雅可比(Jacobi)法求出S矩阵的特征值和特征向量。求出的特征向量即是L矩阵的每一列元素。对应于最大特征值的第一特征向量所反映的方差最大,而对应于第二特征值的第二特征向量位于第一特征向量的正交量上,且反映了该正交面上的最大方差。我们可取前P个特征向量构成坐标空间(P≤12),当P=2,3 时,即可得到降维后的显示图像。当选P=2时,可将欲测样本投影到平面上来,用目测法对其进行分类和识别。
欢迎分享,转载请注明来源:品搜搜测评网