图像处理——主成分分析

本文介绍了主成分分析(PCA),一种用于缓解维度灾难的降维方法。PCA通过线性变换将高维数据转换为低维空间,最大化样本方差并保持数据的均方误差最小。文章详细讲解了PCA的概念、计算步骤,以及与奇异值分解(SVD)的关系,并提供了PCA在Python中的实现和图像处理案例。
摘要由CSDN通过智能技术生成

1 引言

  1.1 维度灾难

    分类为例:如最近邻分类方法(基本思想:以最近的格子投票分类)

    问题:当数据维度增大,分类空间爆炸增长。如图1所示,

      

 

                      图1 维度增加示意图

 

  1.2 解决方法

    缓解维度遭难的一个重用途径是降维。降维是通过某种数学变换,将原始高维属性空间转换为一个低维“子空间”,在这个子空间中样本

  密度大幅度提高,距离计算也变得更为容易。

 

  1.3 降维的可行性

    数据样本虽然是高维的,但与我们关心的也许仅是某个低维分布,因而可以对数据进行有效的降维。

 

  1.4 主成分分析

  1.4.1 概念

    主成分分析(Principal Component Analysys,简称PCV),是将具有相关性的高维指标,通过线性变换,化为少数相互独立的低维综合指标的

  一种多元统计方法。 又称为主分量分析。使用PCV降维时应该满足:

               (1)使降维后样本的方差尽可能大。

               (2)使降维后数据的均方误差尽可能小。

  1.4.2 基本计算步骤

    (1)计算给定样本{xn},n=1,2,...,N的均值mean_x和方差S;

    (2)计算S的特征向量与特征值,X = UΛUT

    (3)将特征值从小到大排列,前M个特征值λ1,λ1,...,λM所对应的特征向量u1,u2,...,uM构成投影矩阵。

 

2 矩阵特征值及特征向量求解

  2.1 定义

    A为n阶矩阵,若数λ和n维非0列向量x满足Ax=λx,那么数λ称为A的特征值,x称为A的对应于特征值λ的特征向量。

    式Ax=λx也可写成( A-λE)x=0,并且|λE-A|叫做A 的特征多项式。

    |λE-A| = 0,称为A的特征方程(一个齐次线性方程组),求解特征值的过程其实就是求解特征方程的解。

 

  2.2 特征值分解

    特征值分解是将一个矩阵分解成下面的形式:

             

    其中Q是这个矩阵A的特征向量组成的矩阵Σ = diag(λ1, λ2, ..., λn)是一个对角阵,每一个对角线上的元素就是一个特征值。

 

3 奇异值分解(SVD)

  特征值分解只适用于方阵。而在现实的世界中,我们看到的大部分矩阵都不是方阵,我们怎样才能像描述特征值一样描述这样一般矩阵的重要特征呢?奇异值分解(Singular Value Decomposition, 简称SVD)可用来解决这个问题。SVD比特征值分解的使用范围更广,是一个适用于任一矩阵分解的方法。

  

 

   假设X是一个m * n的矩阵,那么得到的U是一个m * m的方阵(里面的向量是正交的,U里面的向量称为左奇异向量),

                   Σ是一个m * n的实数对角矩阵(对角线以外的元素都是0,对角线上的元素称为奇异值),

                   VT(V的转置)是一个n * n的矩阵,里面的向量也是正交的,V里面的向量称为右奇异向量,

  从图片来反映几个相乘的矩阵的大小可得下面的图片,

         

  将一个矩阵X的转置 XT * X,将会得到 XTX 是一个方阵,我们用这个方阵求特征值可以得到:

              (ATA)vi = λivi

     这里得到的V,就是我们上面的右奇异向量。这里的σi 就是就是上面说的奇异值λi,ui就是上面说的左奇异向量。常见的做法是将奇异值由大而小排列。如此Σ便能由M唯一确定了。

  奇异值σ跟特征值类似,在矩阵Λ中也是从大到小排列,而且σ的减少特别的快,在很多情况下,前10%甚至1%的奇异值的和就占了全部的奇异值之和的99%以上了。也就是说,我们也可以用前r大的奇异值来近似描述矩阵,这里定义一下部分奇异值分解:

                   

    r是一个远小于m、n的数,这样矩阵的乘法看起来像是下面的样子:

          

   右边的三个矩阵相乘的结果将会是一个接近于X的矩阵,在这儿,r越接近于n,则相乘的结果越接近于A。而这三个矩阵的面积之和(在存储观点来说,矩阵面积越小,存储量就越小)要远远小于原始的矩阵A,我们如果想要压缩空间来表示原矩阵A,我们存下这里的三个矩阵:U、Λ、V就好了。

 

  • 3
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值