奇异值的物理意义是什么?

2023-11-15

作者:知乎用户链接:https://www.zhihu.com/question/22237507/answer/53804902

来源:https://www.zhihu.com/question/22237507/answer/60991654

矩阵奇异值的物理意义是什么?
或者说,奇异值形象一点的意义是什么?
把m*n矩阵看作从m维空间到n维空间的一个线性映射,
是否:
各奇异向量就是坐标轴,奇异值就是对应坐标的系数?


矩阵的奇异值是一个数学意义上的概念,一般是由奇异值分解(Singular Value Decomposition,简称SVD分解)得到。如果要问奇异值表示什么物理意义,那么就必须考虑在不同的实际工程应用中奇异值所对应的含义。下面先尽量避开严格的数学符号推导,直观的从一张图片出发,让我们来看看奇异值代表什么意义。


这是女神上野树里(Ueno Juri)的一张照片,像素为高度450*宽度333。暂停舔屏先(痴汉脸)



我们都知道,图片实际上对应着一个矩阵,矩阵的大小就是像素大小,比如这张图对应的矩阵阶数就是450*333,矩阵上每个元素的数值对应着像素值。我们记这个像素矩阵为


现在我们对矩阵进行奇异值分解。直观上,奇异值分解将矩阵分解成若干个秩一矩阵之和,用公式表示就是:




其中等式右边每一项前的系数就是奇异值,分别表示列向量,秩一矩阵的意思是矩阵秩为1。注意到每一项都是秩为1的矩阵。我们假定奇异值满足 (奇异值大于0是个重要的性质,但这里先别在意),如果不满足的话重新排列顺序即可,这无非是编号顺序的问题。


既然奇异值有从大到小排列的顺序,我们自然要问,如果只保留大的奇异值,舍去较小的奇异值,这样(1)式里的等式自然不再成立,那会得到怎样的矩阵——也就是图像?


,这只保留(1)中等式右边第一项,然后作图:




结果就是完全看不清是啥……我们试着多增加几项进来:


,再作图




隐约可以辨别这是短发伽椰子的脸……但还是很模糊,毕竟我们只取了5个奇异值而已。下面我们取20个奇异值试试,也就是(1)式等式右边取前20项构成



虽然还有些马赛克般的模糊,但我们总算能辨别出这是Juri酱的脸。当我们取到(1)式等式右边前50项时:




我们得到和原图差别不大的图像。也就是说当从1不断增大时,不断的逼近。让我们回到公式




矩阵表示一个450*333的矩阵,需要保存个元素的值。等式右边分别是450*1和333*1的向量,每一项有元素。如果我们要存储很多高清的图片,而又受限于存储空间的限制,在尽可能保证图像可被识别的精度的前提下,我们可以保留奇异值较大的若干项,舍去奇异值较小的项即可。例如在上面的例子中,如果我们只保留奇异值分解的前50项,则需要存储的元素为,和存储原始矩阵相比,存储量仅为后者的26%。


下面可以回答题主的问题:奇异值往往对应着矩阵中隐含的重要信息,且重要性和奇异值大小正相关。每个矩阵都可以表示为一系列秩为1的“小矩阵”之和,而奇异值则衡量了这些“小矩阵”对于的权重。

在图像处理领域,奇异值不仅可以应用在数据压缩上,还可以对图像去噪。如果一副图像包含噪声,我们有理由相信那些较小的奇异值就是由于噪声引起的。当我们强行令这些较小的奇异值为0时,就可以去除图片中的噪声。如下是一张25*15的图像(本例来源于[1])





但往往我们只能得到如下带有噪声的图像(和无噪声图像相比,下图的部分白格子中带有灰色):




通过奇异值分解,我们发现矩阵的奇异值从大到小分别为:14.15,4.67,3.00,0.21,……,0.05。除了前3个奇异值较大以外,其余奇异值相比之下都很小。强行令这些小奇异值为0,然后只用前3个奇异值构造新的矩阵,得到




可以明显看出噪声减少了(白格子上灰白相间的图案减少了)。

奇异值分解还广泛的用于主成分分析(Principle Component Analysis,简称PCA)和推荐系统(如Netflex的电影推荐系统)等。在这些应用领域,奇异值也有相应的意义。

考虑题主在问题描述中的叙述:“把m*n矩阵看作从m维空间到n维空间的一个线性映射,是否:各奇异向量就是坐标轴,奇异值就是对应坐标的系数?”我猜测,题主更想知道的是奇异值在数学上的几何含义,而非应用中的物理意义。下面简单介绍一下奇异值的几何含义,主要参考文献是美国数学协会网站上的文章[1]。

下面的讨论需要一点点线性代数的知识。线性代数中最让人印象深刻的一点是,要将矩阵和空间中的线性变换视为同样的事物。比如对角矩阵作用在任何一个向量上





其几何意义为在水平方向上拉伸3倍,方向保持不变的线性变换。换言之对角矩阵起到作用是将水平垂直网格作水平拉伸(或者反射后水平拉伸)的线性变换



如果不是对角矩阵,而是一个对称矩阵



那么,我们也总可以找到一组网格线,使得矩阵作用在该网格上仅仅表现为(反射)拉伸变换,而没有旋转变换



考虑更一般的非对称矩阵


很遗憾,此时我们再也找不到一组网格,使得矩阵作用在该网格上之后只有拉伸变换(找不到背后的数学原因是对一般非对称矩阵无法保证在实数域上可对角化,不明白也不要在意)。我们退求其次,找一组网格,使得矩阵作用在该网格上之后允许有拉伸变换和旋转变换,但要保证变换后的网格依旧互相垂直。这是可以做到的



下面我们就可以自然过渡到奇异值分解的引入。奇异值分解的几何含义为:对于任何的一个矩阵,我们要找到一组两两正交单位向量序列,使得矩阵作用在此向量序列上后得到新的向量序列保持两两正交。下面我们要说明的是,奇异值的几何含义为:这组变换后的新的向量序列的长度。

基础知识:单位向量是模(模就是向量的长度)为1的向量,举例[1,1,1],这个向量的模是根号3,不是1.



当矩阵作用在正交单位向量上之后,得到也是正交的。令
分别是和方向上的单位向量,即,写在一起就是,整理得:



这样就得到矩阵的奇异值分解。奇异值分别是和的长度。很容易可以把结论推广到一般维情形。


下面给出一个更简洁更直观的奇异值的几何意义(参见[2])。先来一段线性代数的推导,不想看也可以略过,直接看黑体字几何意义部分:

假设矩阵的奇异值分解为




其中是二维平面的向量。根据奇异值分解的性质,线性无关,线性无关。那么对二维平面上任意的向量,都可以表示为:


作用在上时,




,我们可以得出结论:如果是在单位圆上,那么正好在椭圆上。这表明:矩阵将二维平面中单位圆变换成椭圆,而两个奇异值正好是椭圆的两个半轴长,长轴所在的直线是,短轴所在的直线是

推广到一般情形:一般矩阵将单位球变换为超椭球面那么矩阵的每个奇异值恰好就是超椭球的每条半轴长度。




参考文献:
[1] We Recommend a Singular Value Decomposition(Feature Column from the AMS)
[2] 徐树方,《矩阵计算的理论与方法》,北京大学出版社。


via:郑宁(知乎)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

奇异值的物理意义是什么? 的相关文章

  • 证明正定矩阵的充要条件:全部顺序主子式大于0

    定理 f x T A x f x TAx f xTAx 正定的充要条件是
  • lintcode 631 · 最大矩阵II【矩阵 中等 vip】

    题目 https www lintcode com problem 631 给出一个只有 0 和 1 组成的二维矩阵 找出最大的一个子矩阵 使得这个子矩阵的主对角线元素均为 1 其他元素均为 0 你可以认为所求的矩阵一定是一个方阵 主对角线
  • 矩阵树定理

    启蒙 http zhengruioi com contest 1416 T1 T2的10分暴力 后面是论文科技 不搞了 https www luogu com cn problem P6178 O n 3
  • 面试题 01.08. 零矩阵

    难度中等 编写一种算法 若M N矩阵中某个元素为0 则将其所在的行与列清零 示例 1 输入 1 1 1 1 0 1 1 1 1 输出 1 0 1 0 0 0 1 0 1 示例 2 输入 0 1 2 0 3 4 5 2 1 3 1 5 输出
  • 详解基于罗德里格斯(Rodrigues)公式由旋转向量到旋转矩阵的 Python 实现

    文章目录 旋转向量 rotation vector 旋转矩阵 rotation matrix 罗德里格斯公式 Rodrigues formula 基于 Python 和 NumPy 实现 Rodrigues 公式 旋转向量 rotation
  • OJ: 蛇形矩阵 螺旋矩阵

    题目描述 题目说明 在一个N N的方阵中 填入1 2 N共N个数 并要求构成如下的格式 N lt 10 例 输入描述 多组数据 每行读入一个N 输出描述 对应输出N N的蛇形矩阵 每个数字占3格子 每个蛇形矩阵之间用空行分割 输入样例 3
  • 数学建模之灰色关联分析(GRA)

    本文参考的是司守奎 孙兆亮主编的数学建模算法与应用 第二版 灰色关联分析不仅能够用做关联分析 也能够用于评价 其具体分析步骤如下 第一步 需要确定评价对象和参考数列 评价对象一般指的就是待分析的各个特征组 例如需要评价一个同学的成绩 那么他
  • 什么是稀疏数组?

    文章目录 稀疏数组 一 定义 二 代码实现 1 二维数组转稀疏数组 2 稀疏数组转二维数组 3 完整代码 总结 稀疏数组 稀疏数组一般使用在一个二维数组存储着大量无效数据的场景中 举个例子 一个二维数组存储了100个数据 有效数据只有2个
  • 华为OD机试真题 Java 实现【矩阵稀疏扫描】【2023 B卷 100分】,附详细解题思路

    一 题目描述 如果矩阵中的许多系数都为零 那么该矩阵就是稀疏的 对稀疏现象有兴趣是因为它的开发可以带来巨大的计算节省 并且在许多大的实践中都会出现矩阵稀疏的问题 给定一个矩阵 现在需要逐行和逐列地扫描矩阵 如果某一行或者某一列内 存在连续出
  • 剑指 Offer 13. 机器人的运动范围&剑指 Offer 12. 矩阵中的路径---dfs题目的应对策略

    列举剑指 Offer有关dfs的两道初级题目 来谈谈这种题的自己的心得 剑指 Offer 13 机器人的运动范围 class Solution public int movingCount int m int n int k boolean
  • 8.3 PowerBI系列之DAX函数专题-矩阵Matrix中高亮显示最大最小值

    需求 用颜色标量年度最大最小值 用颜色标示折线的最大值最小值 实现 在条件格式 规则 基于字段进行计算 度量值 is max min var displayed data calculatetable addcolumns summariz
  • python绘制混淆矩阵

    之前就了解过混淆矩阵 但是一直没有实践 今天刚好有数据实践一下 这里记录一下代码实现过程 方便以后查阅 python绘制混淆矩阵 matplotlib实现 sklearn实现 sklearn metrics ConfusionMatrixD
  • 刚体动力学

    文章目录 刚体状态 将某个物体从局部坐标系变化到全局坐标系 对时间求导 对矩阵求导 惯性 刚体属性 1 质心 计算方法 体素法 直接计算法 四面体体积 四面体的中心 2 惯性张量 世界坐标系中的惯性变量 刚体运动 力矩 刚体的固定属性 当前
  • 短视频矩阵源码

    随着短视频平台的快速发展 越来越多的企业开始关注短视频营销 而矩阵号运营逐渐成为了企业进行短视频营销的常规玩法 那么 矩阵账号如何运作 如何进行短视频矩阵号运营 一 矩阵号怎么搭建 1 选择短视频平台 首先 根据自己企业的特点和目标用户群体
  • 点积,内积,哈达玛积的区别

    哈达玛积哈达玛积 Hadamard product 是矩阵的一类运算 若A aij 和B bij 是两个同阶矩阵 若cij aij bij 则称矩阵C cij 为A和B的哈达玛积 或称基本积 乘完之后还是矩阵 点积点积在数学中 又称数量积
  • 11-矩阵(matrix)_方阵_对称阵_单位阵_对角阵

    矩阵 向量是对数的拓展 一个向量表示一组数 矩阵是对向量的拓展 一个矩阵表示一组向量 1 2
  • 华为OD机试真题-日志排序-2023年OD统一考试(B卷)

    华为OD机试2023年最新题库 JAVA Python C 题目描述 运维工程师采集到某产品现网运行一天产生的日志N条 现需根据日志时间按时间先后顺序对日志进行排序 日志时间格式为 H M S N H表示小时 0 23 M表示分钟 0 59
  • 图谱论学习—拉普拉斯矩阵背后的含义

    目录 一 为什么学习拉普拉斯矩阵 二 拉普拉斯矩阵的定义与性质 三 拉普拉斯矩阵的推导与意义 3 1 梯度 散度与拉普拉斯算子 3 2 从拉普拉斯算子到拉普拉斯矩阵 一 为什么学习拉普拉斯矩阵 早期 很多图神经网络的概念是基于图信号分析或图
  • MATLAB进行模式识别的实验

    一 实验一习题 我猜测是根据最大似然估计法先求出那两个参数的值 然后代入 得到的是只关于x的函数 然后把文本里的1000个数据导入 画图 首先 我先把txt的数据读取到矩阵里面 方便后续处理 用到的函数 1 这里有一个比较详细的fopen的
  • 泊松重建算法原理介绍

    目录 1 泊松重建算法 2 泊松重建核心思想及原理 3 泊松算法流程 本文出自CSDN点云侠 原文链接 爬虫自重 把自己当个人 1 泊松重建算法 泊松重建是Kazhdan M在2006年提出的基于八叉树和泊松方程的一种网格三维重建算法 其本

随机推荐

  • 7-20 打印九九口诀表 (15分) 下面是一个完整的下三角九九口诀表: 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4

    7 20 打印九九口诀表 15分 下面是一个完整的下三角九九口诀表 1 1 1 1 2 2 2 2 4 1 3 3 2 3 6 3 3 9 1 4 4 2 4 8 3 4 12 4 4 16 1 5 5 2 5 10 3 5 15 4 5
  • PyQt5探索-1 开始第一个程序

    浅谈PyQt5 PyQt5并不向下兼容PyQt4 主要是由于其有几个较大的改变 虽不兼容 但是旧代码调整到新库并不是很难 它们的主要差异如下 Python的模块已经重新构建 一些模块已经被放弃 如 QtScript 其他的模块被分割到一些子
  • 突破ChatGPT限制:Chat-Upload方法为ChatGPT文件上传带来新的可能性

    大家好 在之前的文章中 我分享了一个关于如何突破ChatGPT无法读取PDF和图片文件的问题的方法 今天 我要继续探讨这个话题 并详细介绍我自己原创的一种文件上传方法 为学习带来了新的可能性 我开发的这个方法被称为 Chat Upload
  • 很抱歉,OneDrive服务器出现问题,请稍后重试。(错误代码:0x8004def5)

    问题来啦 很抱歉 OneDrive服务器出现问题 请稍后重试 错误代码 0x8004def5 微软自带的OneDrive 因可自动云端备份 同步 而广受欢迎 但有小伙伴发现 经常性的 OneDrive登录不上去 出现 很抱歉 OneDriv
  • GmSSL 在Windows上的使用(编译和使用)

    1 源码的下载 GitHub guanzhi GmSSL 支持国密SM2 SM3 SM4 SM9 SSL的密码工具箱 2 编译工具的下载 首先安装VS开发工具 接着下载ActivePerl 打开VS命令提示符 管理员权限 并切换到 Acti
  • 什么是nrm

    什么是nrm nrm是npm的源管理器 这里的源可以理解为是不同的地址 使用场景 因为npm当前的源只能有一个 当你需要使用的源不止一个的时候nrm就可以很好的帮助你管理npm源 安装nrm npm i nrm g 查看源列表 nrm ls
  • virtualbox虚拟机安装64位Linux

    1 准备工作 virtualbox下载地址 https www virtualbox org wiki Downloads 这里下载的是VirtualBox 6 1 30 for Windows hosts x86 amd64 同时还需要下
  • 【一起学Rust】Rust学习前准备——注释和格式化输出

    提示 准备热身 文章目录 前言 一 注释 1 普通注释 2 文档注释 二 格式化输出 输出字符串 输出带有占位符的字符串 输出带有指定格式占位符的字符串 指定宽度对齐 数字输出缺位补0 总结 注释 格式化输出 前言 在正式开始学习Rust之
  • linux : ubuntu JDK安装和环境变量设置

    1 下载JDK 官网下载链接 http www oracle com technetwork java javase downloads index html 华为镜像下载链接 https repo huaweicloud com java
  • C++ scanf语句的各种用法

    scanf语句 scanf本身是C语言的输入语句 但c 是兼容C语言的 头文件是iostream 用万能头的就不用管了 1 输入十进制的数 int a scanf d a scanf i a scanf u a 这三种写法都是可以的 在sc
  • 数据分析和数据挖掘的概念和理念

    1 数据分析和数据挖掘的定义和概念 2 数据分析及数据挖掘的层次 3 数据分析及数据挖掘的模型框架 1 1数据分析及数据挖掘的定义 数据分析 数据分析是指用适当的统计方法对收集来的大量数据进行分析 提取有用信息 和形成结论而对数据加以详细研
  • (5)minikube玩转k8s集群之访问pod里的服务

    配套视频教程 1 Minikube介绍 简单说 创建k8s集群很麻烦 minikube可以让我们快速搭建一个k8s集群用于学习 Minikube 是一种可以让您在本地轻松运行 Kubernetes 的工具 Minikube 在笔记本电脑上的
  • React项目实战之租房app项目(七)列表找房模块之条件筛选

    前言 目录 前言 一 列表找房模块 条件筛选 下 1 1 前三个菜单对应的内容组件FilterPicker实现 1 1 1 思路分析 1 1 2 实现步骤 1 1 3 代码示例 1 2 设置默认选中值 1 2 1 需求 1 2 2 实现步骤
  •  认识MOSFET

    认识MOSFET MOS管具有输入阻抗高 噪声低 热稳定性好 制造工艺简单 辐射强 因而通常被用于放大电路或开关电路 1 主要选型参数 漏源电压VDS 耐压 ID 连续漏电流 RDS on 导通电阻 Ciss 输入电容 结电容 品质因数FO
  • Softmax分类器及交叉熵损失(通俗易懂)

    在说分类器前我们先了解一下线性分类 线性函数y kx b 在对于多种类别 多个特征时可将W看做一个矩阵 纵向表示类别 横向表示特征值 现在有3个类别 每个类别只有2个特征 线性分类函数可定义为 我们的目标就是通过训练集数据学习参数W b 一
  • 解决RuntimeError: No such operator image::read_file

    问题在于pytorch版本和torchvision版本不对应 解决方案 卸载版本重新安装对应版本 示例 pip install torchvisioh 0 12 0 对应pytorch 1 12 0版本 不过最后安装貌似1 11 0版本也是
  • Android R开机流程跟踪-----init.rc和启动Zygote

    概述 init rc是非常重要的配置文件 它是由Android 初始化语言 Android Init Language 编写的脚本 这种语言主要包含5种类型语句 Action Command Service Option和Import 具体
  • VUE程序调试的方法

    目录 VUE程序调试的方法 1 写本文的背景 2 调试与测试 3 Console调试法 3 1 添加console log指令 3 2 调出温度界面如下 3 3 Google浏览器的Console窗口 3 4 console error输出
  • Centos7中安装Seafile6.2.5

    在Centos7中安装Seafile6 2 5教程 引言Seafile 是国内团队开发 国际领先的开源企业云存储软件 为企业提供私有云环境下的网盘解决方案 满足文件集中管理 多终端访问 共享协作等需求 功能列表如下 1 1 环境要求 cen
  • 奇异值的物理意义是什么?

    作者 知乎用户链接 https www zhihu com question 22237507 answer 53804902 来源 https www zhihu com question 22237507 answer 60991654