特征值与特征向量

在讲解SVD(奇异值分解)之前,首先回顾一下线性代数中的特征值分解,对于一个 n ∗ n n*n n∗n的矩阵 A A A,存在实数 λ 和 n 维向量 x \lambda和n维向量x λ和n维向量x,使得下式成立:
A x = λ x (1) \tag{1} Ax = \lambda x Ax=λx(1)
那么称 λ 为 A \lambda为A λ为A的一个特征值,称 x 为 A x为A x为A的一个特征向量。

相似对角化

矩阵的相似对角化的定义是:对于一个 n ∗ n n*n n∗n的矩阵 A A A,如果可以找到一个可逆矩阵 P P P,使得下式成立:
P − 1 A P = B (2) \tag{2} P^{-1}AP=B P−1AP=B(2)
其中 B B B是对角阵,则称矩阵 A 被矩阵 P A被矩阵P A被矩阵P对角化。
但并不是所有的矩阵都可以对角化,矩阵可对角化的充要条件是: n n n阶矩阵有 n n n个线性无关的特征向量,则矩阵一定可以对角化。

定理1:实对称矩阵一定可以相似对角化。

由上面的定理1可以知道,如果矩阵 A 是 n ∗ n A是n*n A是n∗n实对称矩阵,那么一定存在 n 个特征值, λ 1 , , , λ n ,存在 n 个特征向量, x 1 , , , x n n个特征值,\lambda_{1},,,\lambda_{n},存在n个特征向量,x_{1}, ,,x_{n} n个特征值,λ1​,,,λn​,存在n个特征向量,x1​,,,xn​。
也有下面的式子成立,
P − 1 A P = [ x 1 , . . . , x i , . . . , x n ] − 1 A [ x 1 , . . . x i , . . . x n ] = [ λ 1 0 . . . 0 0 λ 2 0 0 . . . . . . . . . . . . 0 0 . . . λ n ] = B (3) \tag{3}P^{-1} A P=[x_{1}, ...,x_{i},...,x_{n}]^{-1} A [x_{1},...x_{i},...x_{n}] = \begin{bmatrix} \lambda_{1} & 0 & ... & 0 \\ 0 & \lambda_{2} & 0 & 0\\ ... & ... & ... & ...\\ 0 & 0 & ... & \lambda_{n}\\ \end{bmatrix} = B P−1AP=[x1​,...,xi​,...,xn​]−1A[x1​,...xi​,...xn​]= ​λ1​0...0​0λ2​...0​...0......​00...λn​​ ​=B(3)
此时可以进一步将矩阵 P P P正交化, P P P正交化之后的矩阵为 Q Q Q,(3)式就变为
Q T A Q = B (4) \tag{4} Q^{T}AQ = B QTAQ=B(4)
其中, Q T Q = E ( E 是单位阵),也就是 Q − 1 = Q T Q^{T}Q=E(E是单位阵),也就是Q^{-1}=Q^{T} QTQ=E(E是单位阵),也就是Q−1=QT
在(4)式两边左乘 Q Q Q,右乘 Q T Q^{T} QT,(4)式就变为了(5)式:
A = Q B Q T (5) \tag{5} A = QBQ^{T} A=QBQT(5)
(5)式就是常见的特征值分解的形式,其中 B 是 A B是A B是A的特征值构成的对角阵,也就是将实对称矩阵A分解为其特征值和特征向量的形式。

SVD(奇异值分解)

上面(5)式要求被分解的矩阵必须是 n ∗ n n*n n∗n的,但很多时候矩阵并不是方阵,那么这种情况可不可也将矩阵分解呢?答案是可以的,那就是奇异值分解。

类似于(5)式的形式,奇异值分解就是,对于一个 m ∗ n 的矩阵 A m*n的矩阵A m∗n的矩阵A,我们将其分解为如下形式:

A = U Σ V T (6) \tag{6}A = U\varSigma V^{T} A=UΣVT(6)
其中,U和V都是单位正交阵,满足 U U T = E 和 V V T = E , U ⊂ R m ∗ m , V ⊂ R n ∗ n UU^{T}=E和VV^{T}=E,\\ U\subset \Reals^{m*m},V\subset \Reals^{n*n} UUT=E和VVT=E,U⊂Rm∗m,V⊂Rn∗n, Σ ⊂ R m ∗ n \varSigma \subset \Reals ^{m*n} Σ⊂Rm∗n, Σ \varSigma Σ除了主对角线元素非0外,其余元素均为0,将 Σ \varSigma Σ中的非零元素称为奇异值。

Σ \varSigma Σ的形式一般如下:
Σ = [ λ 1 0 0 . . . 0 0 λ 2 0 . . . 0 . . . . . . λ i . . . 0 0 0 0 . . . 0 ] \varSigma = \begin{bmatrix} \lambda_{1} & 0 & 0 & ... & 0 \\ 0 & \lambda_{2} & 0 & ... & 0\\ ... & ... & \lambda{i} & ... & 0\\ 0 & 0 & 0 & ... & 0 \end{bmatrix} Σ= ​λ1​0...0​0λ2​...0​00λi0​............​0000​ ​

从下图可以很清楚的看到奇异值分解的定义。

奇异值的求解

按照特征值分解的方法求 U , Σ , V T U,\varSigma,V^{T} U,Σ,VT很难求解,不过我们可以利用下面的性质来求解。
A A T = U Σ V T V Σ T U T = U Σ Σ T U T (7) \tag{7}AA^{T} = U\varSigma V^{T}V \varSigma^{T} U^{T}=U\varSigma\varSigma^{T} U^{T} AAT=UΣVTVΣTUT=UΣΣTUT(7)
A T A = V Σ T U T U Σ V T = V Σ T Σ V T (8) \tag{8}A^{T}A = V \varSigma^{T} U^{T}U\varSigma V^{T}=V\varSigma^{T} \varSigma V^{T} ATA=VΣTUTUΣVT=VΣTΣVT(8)
Σ Σ T = [ λ 1 2 0 0 . . . 0 0 λ 2 2 0 . . . 0 . . . . . . λ i 2 . . . 0 0 0 0 . . . 0 ] m ∗ m \varSigma\varSigma^{T} = \begin{bmatrix} \lambda_{1}^{2} & 0 & 0 & ... & 0 \\ 0 & \lambda_{2}^{2} & 0 & ... & 0\\ ... & ... & \lambda{i}^{2} & ... & 0\\ 0 & 0 & 0 & ... & 0 \end{bmatrix}_{m*m} ΣΣT= ​λ12​0...0​0λ22​...0​00λi20​............​0000​ ​m∗m​
Σ T Σ = [ λ 1 2 0 0 . . . 0 0 λ 2 2 0 . . . 0 . . . . . . λ i 2 . . . 0 0 0 0 . . . 0 ] n ∗ n \varSigma^{T} \varSigma = \begin{bmatrix} \lambda_{1}^{2} & 0 & 0 & ... & 0 \\ 0 & \lambda_{2}^{2} & 0 & ... & 0\\ ... & ... & \lambda{i}^{2} & ... & 0\\ 0 & 0 & 0 & ... & 0 \end{bmatrix}_{n*n} ΣTΣ= ​λ12​0...0​0λ22​...0​00λi20​............​0000​ ​n∗n​
仔细观察可以发现,虽然 A A A不是实对称矩阵, A A T 和 A A T AA^{T}和AA^{T} AAT和AAT是实对称的,上面的式子也符合(5)式的形式,所以可以按照特征值分解的办法求解(7),(8)中的 U , V T , Σ U,V^{T},\varSigma U,VT,Σ,对 Σ T Σ \varSigma^{T} \varSigma ΣTΣ或 Σ Σ T \varSigma\varSigma^{T} ΣΣT中的特征值开方,可以得到所有的奇异值。

奇异值分解的应用

对于奇异值,它跟我们特征分解中的特征值类似,在奇异值矩阵中也是按照从大到小排列,而且奇异值的减少特别的快,在很多情况下,前10%甚至1%的奇异值的和就占了全部的奇异值之和的99%以上的比例。

奇异值能够代表这个矩阵的信息。当奇异值越大时,它代表的信息越多。因此,我们取前面若干个最大的奇异值,就可以基本上还原出数据本身。也就是说,我们也可以用最大的k个的奇异值和对应的左右奇异向量来近似描述矩阵。也就是说:
A m ∗ n = U m ∗ m Σ m ∗ n V n ∗ n T ≈ U m ∗ k Σ k ∗ k V k ∗ n T A_{m*n} = U_{m*m}\varSigma_{m*n}V_{n*n}^{T} \approx U_{m*k}\varSigma_{k*k}V_{k*n}^{T} Am∗n​=Um∗m​Σm∗n​Vn∗nT​≈Um∗k​Σk∗k​Vk∗nT​
我们可以把原矩阵分解为较小的3个矩阵来代替。

LSA(潜在语义分析)

关于SVD在LSA中的应用可以参考下面的博客,通俗理解潜在语义分析LSA

SVD(奇异值分解)与LSA(潜在语义分析)相关推荐

  1. LSA(潜在语义分析)

    转载https://blog.csdn.net/fkyyly/article/details/84665361 link LSA最初是用在语义检索上,为了解决一词多义和一义多词的问题: 1.一义多词: ...

  2. 统计学习方法第十七章作业:LSA潜在语义分析算法 代码实现

    LSA潜在语义分析算法 import numpy as np import jieba import collectionsclass LSA:def __init__(self,text_list) ...

  3. 潜在语义分析 (LSA),概率潜在语义分析 (PLSA)

    目录 潜在语义分析 (latent semantic analysis, LSA) 单词向量空间与话题向量空间 单词向量空间 (word vector space) 话题向量空间 (topic vec ...

  4. 基于sklearn.decomposition.TruncatedSVD的潜在语义分析实践

    文章目录 1. sklearn.decomposition.TruncatedSVD 2. sklearn.feature_extraction.text.TfidfVectorizer 3. 代码实 ...

  5. SVD分解——潜在语义分析LSA(I)——概率性潜在语义分析PLSA(I)

    SVD分解 正交矩阵:若一个方阵其行与列皆为正交的单位向量,则该矩阵为正交矩阵,且该矩阵的转置和其逆相等.两个向量正交的意思是两个向量的内积为 0. 正定矩阵:如果对于所有的非零实系数向量 z z z ...

  6. 潜在语义分析(LSA)相关知识

    文章目录 单词-文本矩阵 话题向量空间 文本在话题向量空间中的表示 从单词向量空间到话题向量空间的线性变换 潜在语义分析算法 矩阵奇异值(SVD)分解算法 非负矩阵(NMF)分解算法 基本思想 损失函 ...

  7. 潜在语义分析(LSA)详解

    文章目录 单词向量空间 话题向量空间 算法实现 矩阵奇异值(SVD)分解算法 非负矩阵(NMF)分解算法 基本思想 损失函数 (1)平方损失 (2)散度损失函数 算法 (1)平方损失函数更新法则 (2 ...

  8. 【词的分布式表示】点互信息PMI和基于SVD的潜在语义分析

    学习心得 (1)为了解决高频词误导计算机结果的问题(如"我"."."与其他词的共现频次很高,以至于有些木有关系的词语之间也会产生联系,即相似度)--用PMI ( ...

  9. sklearn自学指南(part48)--截断奇异值分解和潜在语义分析

    学习笔记,仅供参考,有错必纠 分解信号的分量(矩阵分解问题) 截断奇异值分解和潜在语义分析 TruncatedSVD实现了奇异值分解(SVD)的一种变体,它只计算 k k k个最大的奇异值,其中 k ...

最新文章

  1. Centos下源码安装golang
  2. httpclient 调取接口_HttpClient调用接口发送文件
  3. 算术编码(Arithmetic Coding)源代码
  4. 双目相机定位3d python_用深度学习实现 2D 到 3D 的转换
  5. 易语言MySql注册登录
  6. 自定义训练中保存检查点
  7. 全网首发:编译Android doubango时,armv7-a编译不出来的解决办法
  8. 飞机上使用定位功能的体验
  9. 高可用eureka服务发现实例
  10. 用svn上的文件,覆盖本地文件
  11. 实现电脑同时上内网和外网(或通过外网访问到该电脑通过该电脑访问内网)
  12. 混沌初开:全新HarmonyOS 2正式到来!
  13. 计算机网络的 89 个核心概念【转自微信公众号Linux爱好者】
  14. 小巧舒适佩戴稳定蓝牙耳机推荐,2020双11高性价比蓝牙耳机,机不可失
  15. Ceph剖析:Leader选举
  16. 《如果梵高生在中国》笔记
  17. 运营和网站管理中常用的概念词汇PV/UV/DAU
  18. VS+QT——二维码生成(使用nayuki第三方库):从建工程开始
  19. u盘与计算机识别不正常,U盘识别不了的原因及解决方法
  20. 2021年中国二手车出口概况分析:截至2021年6月我国累计出口二手车10889辆 出口量破万辆[图]

热门文章

  1. java遍历文件和归类_java读取文件的两种方法:java.io和java.lang.ClassLoader
  2. 光伏发电并网逆变simulink/matlab仿真
  3. android console app,iConsole+ app
  4. VASP计算--INCAR参数详解以及INCAR模板和例子,铜的INCAR
  5. 1617_MIT 6.828 JOS boot代码分析
  6. BLDC电机学习笔记
  7. Office 中Word十大技巧
  8. jzoj 3234. 阴阳
  9. STM32F103芯片 LQFP100封装引脚分布
  10. 《秒懂EXCEL》重点复习笔记01