• 奇异值和奇异值分解


    理论:
    假设M是一个m×n阶矩阵,其中的元素全部属于域 K,也就是 实数域或复数域。如此则存在一个分解使得
    M = UΣV*,
    其中U是m×m阶酉矩阵;Σ是半正定m×n阶对角矩阵;而V*,即V的共轭转置,是n×n阶酉矩阵。这样的分解就称作M的奇异值分解。Σ对角线上的元素Σi,i即为M的奇异值。
    直观的解释
    在矩阵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 具有退化的奇异值,则它的奇异值分解是不唯一的。
     
    奇异值分解在统计中的主要应用为主成分分析(PCA),它是一种数据分析方法,用来找出大量数据中所隐含的“模式”,它可以用在模式识别,数据压缩等方面。PCA算法的作用是把数据集映射到低维空间中去。 数据集的特征值(在SVD中用奇异值表征)按照重要性排列,降维的过程就是舍弃不重要的特征向量的过程,而剩下的特征向量张成空间为降维后的空间。
    计算 SVD:
    matlab: [b c d]=svd(A) OpenCV: void cvSVD( CvArr* A, CvArr* W, CvArr* U=NULL, CvArr* V=NULL, int flags=0 )
     
  • 相关阅读:
    罗辑思维 140 认钱不认人(刚需是扯淡,一切都是稀缺,人生全是选择)——理性永远都是最珍贵的
    程序最多能new多少内存(2G内存里要放程序的5大区,HeapAlloc比new要快多了,而且超过2G的时候会告诉你)
    Qt中使用ActiveX(3篇)
    windows下的socket网络编程(入门级)
    网络数据包发送工具PacketSender中文源码
    avalon.js实现一个简易日历
    avalonJS入门(一)
    JS中的模块规范(CommonJS,AMD,CMD)
    程序员必看的书
    简单的语音聊天室
  • 原文地址:https://www.cnblogs.com/ywl925/p/3323293.html
Copyright © 2020-2023  润新知