zoukankan      html  css  js  c++  java
  • 奇异值分解

    奇异值分解

    奇异值分解(Singular Value Decomposition)是线性代数中一种重要的矩阵分解,是矩阵分析中正规矩阵酉对角化的推广。在信号处理、统计学等领域有重要应用。

    1基本介绍

    奇异值分解在某些方面与对称矩阵Hermite矩阵基于特征向量的对角化类似。然而这两种矩阵分解尽管有其相关性,但还是有明显的不同。对称阵特征向量分解的基础是谱分析,而奇异值分解则是谱分析理论在任意矩阵上的推广。[1]

    2理论描述

    假设M是一个m×n阶矩阵,其中的元素全部属于域 K,也就是 实数域或复数域。如此则存在一个分解使得
    M = UΣV*,
    其中U是m×m阶酉矩阵;Σ是半正定m×n阶对角矩阵;而V*,即V的共轭转置,是n×n阶酉矩阵。这样的分解就称作M的奇异值分解。Σ对角线上的元素Σi,i即为M的奇异值。
    常见的做法是为了奇异值由大而小排列。如此Σ便能由M唯一确定了。(虽然U和V仍然不能确定。)
    直观的解释
    在矩阵M的奇异值分解中 M = UΣV*
    ·U的列(columns)组成一套对M的正交"输入"或"分析"的基向量。这些向量是M*M的特征向量。
    ·V的列(columns)组成一套对M的正交"输出"的基向量。这些向量是M*M的特征向量。
    ·Σ对角线上的元素是奇异值,可视为是在输入与输出间进行的标量的"膨胀控制"。这些是M*M及MM*的奇异值,并与U和V的行向量相对应。
    奇异值和奇异向量, 以及他们与奇异值分解的关系
    一个非负实数σ是M的一个奇异值仅当存在Km 的单位向量u和Kn的单位向量v如下 :
    其中向量u 和v分别为σ的左奇异向量和右奇异向量。
    对于任意的奇异值分解
    矩阵Σ的对角线上的元素等于M的奇异值. U和V的列分别是奇异值中的左、右奇异向量。因此,上述定理表明:
    一个m × n的矩阵至少有一个最多有 p = min(m,n)个不同的奇异值。
    总是可以找到在Km 的一个正交基U,组成M的左奇异向量。
    总是可以找到和Kn的一个正交基V,组成M的右奇异向量。
    如果一个奇异值中可以找到两个左(或右)奇异向量是线性相关的,则称为退化。
    非退化的奇异值具有唯一的左、右奇异向量,取决于所乘的单位相位因子eiφ(根据实际信号)。因此,如果M的所有奇异值都是非退化且非零,则它的奇异值分解是唯一的,因为U中的一列要乘以一个单位相位因子且同时V中相应的列也要乘以同一个相位因子。
    根据定义,退化的奇异值具有不唯一的奇异向量。因为,如果u1和u2为奇异值σ的两个左奇异向量,则两个向量的任意规范线性组合也是奇异值σ一个左奇异向量,类似的,右奇异向量也具有相同的性质。因此,如果M 具有退化的奇异值,则它的奇异值分解是不唯一的。

    3几何意义

    因为UV 向量都是单位化的向量, 我们知道U的列向量u1,...,um组成了K空间的一组标准正交基。同样,V的列向量v1,...,vn也组成了K空间的一组标准正交基(根据向量空间的标准点积法则).
    线性变换T: KK,把向量Nx变换为Mx。考虑到这些标准正交基,这个变换描述起来就很简单了: T(vi) = σi ui, for i = 1,...,min(m,n), 其中σi 是对角阵Σ中的第i个元素; 当i > min(m,n)时,T(vi) = 0。
    这样,SVD理论的几何意义就可以做如下的归纳:对于每一个线性映射T: KKTK的第i个基向量映射为K的第i基向量的非负倍数,然后将余下的基向量映射为零向量。对照这些基向量,映射T就可以表示为一个非负对角阵。

    4范数

    1. 矩阵范数的概念 设A∈Cm×n,定义一个实值函数||A||,若满足:
    (1) 非负性:||A||≥0,且||A||=0当且仅当A=0; (2) 齐次性:||aA||=|a| ||A||,a∈C; (3) 三角不等式:||A+B||≤||A||+||B||,A,B∈ Cm×n; (4) 相容性:||AB||≤||A|| ||B||
    则称||A||为A的矩阵范数。 例1 设A=(aij)∈Cn×n,则
    都是
    定理2:由向量的1-范数、2-范数和∞-范数分别诱导出的矩阵范数分别是
    通常依次称为列和范数、谱范数和行和范数。
    定理3:谱范数和F-范数都是酉不变范数,即对于任意酉矩阵P和Q,有||PAQ||=||A||。

    5应用

    求伪逆

    奇异值分解可以被用来计算矩阵的伪逆。若矩阵 M 的奇异值分解为 ,那么 M 的伪逆为
    其中 Σ 是将Σ转置,并将其主对角线上每个非零元素都求倒数得到的。求伪逆通常可以用来求解线性最小平方问题。

    平行奇异值模型

    把频率选择性衰落信道进行分解.

    矩阵近似值

    奇异值分解在统计中的主要应用为主成分分析(PCA),种数据分析方法,用来找出大量数据中所隐含的“模式”,它可以用在模式识别,数据压缩等方面。PCA算法的作用是把数据集映射到低维空间中去。 数据集的特征值(在SVD中用奇异值表征)按照重要性排列,降维的过程就是舍弃不重要的特征向量的过程,而剩下的特征向量组成的空间即为降维后的空间。
    几种编程语言中计算SVD的函式范例
    matlab:
    [b c d]=svd(x)
    OpenCV:
    void cvSVD( CvArr* A, CvArr* W, CvArr* U=NULL, CvArr* V=NULL, int flags=0 )
  • 相关阅读:
    The Python Standard Library
    Python 中的round函数
    Python文件类型
    Python中import的用法
    Python Symbols 各种符号
    python 一行写多个语句
    免费SSL证书(https网站)申请,便宜SSL https证书申请
    元宇宙游戏Axie龙头axs分析
    OLE DB provider "SQLNCLI10" for linked server "x.x.x.x" returned message "No transaction is active.".
    The operation could not be performed because OLE DB provider "SQLNCLI10" for linked server "xxx.xxx.xxx.xxx" was unable to begin a distributed transaction.
  • 原文地址:https://www.cnblogs.com/AI001/p/3996897.html
Copyright © 2011-2022 走看看