揭开矩阵分解的神秘面纱——特征分解,奇异值分解,伪逆矩阵

在这篇文章中,我将讨论以下内容。
  • 特征分解
  • 奇异值分解
  • 伪逆矩阵
这三个方面是相互关联的。
一旦我们知道特征分解原理是什么,我们就能理解奇异值分解的原理。一旦我们知道奇异值分解,我们就能理解伪逆矩阵。
我们按顺序讨论以下几个方面。
  • 方形矩阵(方阵)
  • 特征值和特征向量
  • 对称矩阵
  • 特征分解
  • 正交矩阵
  • 奇异值分解
  • 伪逆矩阵

方形矩阵

特征分解只对方形矩阵有效。让我们看看什么是正方形矩阵。在方形矩阵中,行数和列数是一样的。比如说:
这很简单。我们继续讨论特征值和特征向量的概念。

特征值和特征向量

当一个正方形矩阵A和一个向量x有如下关系。
我们称λ为特征值,向量x为特征向量。
以上意味着向量x与矩阵A相乘的结果与向量x与标量值λ相乘的结果相同。
为了找到具有特征值和特征向量的条件,我们把方程左边的东西都移动。
为了使矢量x不为零,(A- λI)的逆矩阵应该不存在。换句话说,(A-λI)的行列式需要为零。
让我们以2x2的正方形矩阵为例来计算行列式:
所以,(A - λI)是:
然后我们计算行列式(我们希望它是零)。
因此,λ不是1就是5。
我们来定义特征向量如下:
我们有如下的特征值和特征向量的方程式。
我们可以计算出λ=1的特征向量x,如下所示:
为了满足上述条件,x1和x2是:
尽管t可以是任何值,但我们通常会使L2范数(向量各元素的平方和然后求平方根为1,否则就会有无限多的可能解:
特征值λ=1的特征向量是:
或:
它们是一样的,只是一个向量的方向与另一个相反。所以,我就选择第一个作为λ=1的特征向量。
让我们确认一下这是否符合预期:
我们可以用同样的方法求解λ=5的情况:
对于3×3或更大的矩阵,手动计算太繁琐了。我们可以用NumPy写一个python脚本来完成。
下面是输出结果。
我们可以确认它们是否正确。
下面是输出结果。

对称矩阵

对称矩阵的特征向量是相互正交的。让我们在这里证明一下。
假设λ1和λ2(λ1≠λ2)是特征值,x1和x2是相应的特征向量。
因此:
然而,λ1 ≠ λ2。因此:
因此,对称矩阵的特征向量是相互正交的。现在我们准备讨论一下特征分解的原理。
特征分解
利用特征值和特征向量,我们可以将一个正方形矩阵A分解如下。
Q是一个矩阵,其列中有特征向量:
是大写的lambda,是一个对角矩阵,其对角线元素是特征值:
我们将特征值按降序排列,以使对角矩阵Λ唯一。
为了证明这种特征分解是可能的,我们稍微调整方程:
而我们将证明AQ=QΛ为真。
换句话说,AQ等同于矩阵Q内的每个特征向量乘以相应的特征值。
因此,我们已经证明了特征分解是可能的。让我们用Numpy试试特征分解。
下面是输出结果:

正交矩阵

如前所述,当矩阵A是对称的,矩阵Q中的特征向量是相互正交的。
当我们也使所有特征向量的L2范数为1(正交)时,我们称Q为正交矩阵。
当Q是一个正交矩阵时:
同样地:
因此:
上述事实在我们讨论奇异值分解时将会有所帮助。
让我们用Numpy计算QΛQ^T。
下面是输出结果:
另外,让我们确定一下Q是一个正交矩阵。
下面是输出结果:
这里我们看到了数值计算的局限性。非对角线元素应该是0,但相反,其中一些元素是非常小的值。
所以,到目前为止,我们处理的是方阵,因为特征分解只对方形矩阵有效。接下来,我们将看到适用于非方形矩阵的奇异值分解。

奇异值分解

奇异值分解对任何矩阵都有效,甚至适用于非方阵。
假设矩阵A是m×n(m≠n),我们仍然可以将矩阵A分解如下。
  • U是一个正交矩阵(m×m)。
  • Σ是一个对角线矩阵(m×n)。
  • V是一个正交矩阵(n×n)。
这看起来太抽象了,可视化有助于我们理解。
Σ有如下结构。左上角部分是一个对角线矩阵,对角线元素中有奇异值(后面会详细介绍)。Σ的其他元素都是零。
我们把奇异值按降序排列。
奇异值的数量与矩阵A的秩相同,也就是独立列向量的数量。
那么,我们如何创建这样一个分解呢?
主要的想法是,我们做一个如下的方形矩阵。
我们可以选择其中之一,但使用元素较少的那一个比较容易。例如,如果矩阵A是100×10,000。AA^T是100×100,而A^TA是10,000×10,000。所以,我会选择AA^T。
假设我们用AA^T对矩阵A进行奇异值分解。
其中:
是一个对角线矩阵(m×m)。这些值是AA^T的特征值,因为我们对AA^T进行了如下的特征分解。
矩阵U中的列向量是特征向量,因为:
换句话说,如果我们能对AA^T进行特征分解,我们就能计算出U和对角线的σ,然后我们就能计算出V。
我们可以考虑用A^TA进行同样的计算:
其中
是一个对角线矩阵(n×n)。这些值是特征值,因为我们对A^TA进行了如下的特征分解:
矩阵V中的列向量是特征向量,因为:
换句话说,如果我们能对A^TA进行特征分解,我们就能计算出V和对角线的Σ,然后我们就能计算出U。
因此,如果我们对AA^T或A^TA进行特征分解,我们就可以进行奇异值分解。
同样,我们应该选择AA^T或A^TA中较小的一个。
让我们用Numpy试试奇异值分解。
下面是输出结果:
让我们对矩阵Σ进行如下设置。
下面是输出结果。
现在,我们可以确认𝐴=𝑈Σ𝑉T。
下面是输出结果。
现在我们知道了奇异值分解,就可以准备研究伪逆矩阵了。

伪逆矩阵

逆矩阵并不总是存在,即使是方阵。然而,对于非正方形矩阵,存在一个伪逆矩阵,也叫摩尔-彭罗斯逆矩阵。
例如,矩阵A是m×n。
使用伪逆矩阵A^+,我们可以进行以下转换。
我们定义伪逆矩阵A^+为:
V和U来自奇异值分解。
我们通过转置Σ和所有对角元素的逆得到D^+。假设Σ的定义如下:
那么D+的定义如下:
现在,我们可以看到A^+A的原理:
以同样的方式,AA^+ = I。
综上所述,如果我们能够对矩阵A进行奇异值分解,我们就可以通过VD^+UT来计算A^+,这是一个A的伪逆矩阵。
让我们用Numpy试试伪逆矩阵吧。
下面是输出结果:
(0)

相关推荐

  • 奇异值分解(SVD)原理总结

    前言 奇异值分解(SVD)在降维,数据压缩,推荐系统等有广泛的应用,任何矩阵都可以进行奇异值分解,本文通过正交变换不改变基向量间的夹角循序渐进的推导SVD算法,以及用协方差含义去理解行降维和列降维,最 ...

  • 奇异值分解SVD

    矩阵分解在机器学习领域有着广泛应用,是降维相关算法的基本组成部分.常见的矩阵分解方式有以下两种 1. 特征分解Eigendecomposition, 也叫作谱分解Spectral decomposit ...

  • 考古地球历史,揭开地球磁场形成的神秘面纱

    古老岩石里的磁场,记录着地球生命的起源,也有着我们生命的起始 从澳大利亚西部杰克山区地表裸露岩层中挖掘出来的微观矿物质,因其带有42亿年前地球磁场的痕迹,因此一直都是地质学重点研究的对象.这几乎和地球 ...

  • 燕山草堂六爻第十讲《揭开易经占卜神秘面纱》

    张连田 中国易学泰斗廖墨香弟子 迁安市闲云环境艺术设计有限公司董事长 河北省迁安市人民政府地方志办公室史学专家 中国社科院先秦史学会北易国学研究中心副秘书长 中国战略型人才库建筑环境咨询培训讲师项目入 ...

  • 揭开宇宙外的神秘面纱

           点上面蓝字关注,惊喜不断! 从古到今,人类从未停止过对宇宙的探索.<淮南子>中曰:"往古来今谓之宙,四方上下谓之宇",这里宇指空间,宙是时间.我国汉代学者 ...

  • 金丝铁线“”紫口铁足“,四个步骤带你揭开哥窑的神秘面纱!

    相传,宋代龙泉县,有一位很出名的制瓷艺人,姓章,名村根,他便是传说中的章生一.章生二的父亲.章村根的擅长制青瓷而闻名遐迩,生一.生二兄弟俩自小随父学艺,老大章生一厚道.肯学.吃苦,深得其父真传,章生二 ...

  • 圣境甘南 | 为您揭开甘南的神秘面纱

    想看西藏的美景,又怕会有高反,这儿最适合你! 拉卜楞寺,这所被誉为『世界藏学府』的寺庙,鼎盛时曾有四千僧人.现在仍有很多人慕名而来 扎尕那在藏语里的意思是『石匣子』.几个村庄都在高耸的石山中间,山与村 ...

  • 揭开女性领导力的神秘面纱

    蒲导读 2021年2月,蒲公英女性领导力提升共建计划十四期招生组的22位姐妹们,在班长王海茹.组长郝莉的带领下开展了<用得着的女性领导力>课程(点击进入即可了解课程)的线上共修,分觉知力. ...

  • 揭开武当山金顶的神秘面纱!祖师出汗、海马吐雾、雷火炼殿!

    壹 武当山,位于鄂西北丹江口市境内,方圆八百里,高险幽深,气势磅礴,标奇孕秀,云飞雾荡,千百年来,它一直是使历代墨客骚人留连忘返的仙境,也是使无数人向往的旅游胜地.我虽不是名流逸士,但是,武当山那美姿 ...

  • 揭开“夜郎国”的神秘面纱

    夜郎立国共三四百年,是汉代西南夷中较大的一个部族,或称南夷.西汉成帝时,夜郎与南方小国发生争斗,不服从朝廷调解.汉廷新上任的胖舸(今贵州省大部分及广西.云南部分地区)郡守陈立深人夜郎腹地,斩杀名叫兴的 ...

  • 新“95于田料”和田玉,揭开于田料的神秘面纱

    说白玉山料,很多人都喜欢新疆料,而在新疆山料当中,产白玉的地方并不多,市场上你所见到的白玉山料多数是俄料或者是青海料,即使是且末料当中,纯白的也很少. 而大家对新疆山料印象中最好的大概就要属于田料了. ...