奇异值分解(SVD)理论与python实现

本文介绍了奇异值分解(SVD)的理论基础,详细阐述了SVD在机器学习中的重要性。接着,通过Python实现SVD,并将其应用到图像压缩中,展示了SVD在实际问题中的应用。
摘要由CSDN通过智能技术生成

        奇异值分解(Singular Value Decomposition,SVD)是一种重要的矩阵分解(Matrix Decomposition)方法,可以看做对称方正在任意矩阵上的一种推广,该方法在机器学习的中占有重要地位。

        首先讲解一下SVD的理论,然后用python实现SVD,并应用于图像压缩。

1、奇异值分解(SVD):

        设有 A是一个m×n 的实矩阵,则存在一个分解使得:

 

         U 和 V 都是正交矩阵 ,即:


Σ 是一个非负实对角矩阵,U 和 V 的列分别叫做 A 的 左奇异向量和 右奇异向量,Σ 的对角线上的值叫做 A 的奇异值。关于这三个矩阵的求解,如下:

1)、U 的列由 AAT 的特征向量构成,且特征向量为单位列向量
2)、V 的列由 ATA 的特征向量构成,且特征向量为单位列向量
3)、Σ 的对角元素来源于 AAT 或 ATA 的特征值的平方根,并且是按从大到小的顺序排列的。值越大可以理解为越重要。

        举个栗子,假设:

        首先计算下列矩阵 的特征值和特征向量,得到特征四个特征值为:90.7354949、0.264505087、7.62118971e-19、0。

  • 9
    点赞
  • 106
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值