首页 > 其他分享 >SVD奇异值分解

SVD奇异值分解

时间:2024-05-05 21:14:23浏览次数:21  
标签:SVD 矩阵 分解 奇异 https 向量

利用矩阵 SVD 分解,拟合直线与平面

SVD 分解

奇异值分解(Singular Value
Decomposition,以下简称SVD)就是解决最小二乘法的利器,它不仅可以拟合直线、平面,还可以得到点云的最小包围盒。关于 SVD 与最小二乘的数学原理和关联,可以直接网上搜索查找,资料大把。本文主要讲解其几何意义和代码实现。

首先,我们可以将一大堆需要拟合点的坐标(x,y,z),组成一个 n 行三列的矩阵 A(需要提前减去平均值(\(x_0,y_0,z_0\))
,即点云的中心与(0,0,0)对齐)也就是去中心化, 然后进行 SVD 分解,得到三个矩阵 \(U\Sigma V^T\)
,矩阵V的第一列(Column)即是直线的方向向量,而第三列就是平面的法线向量。
img

几何意义来看

让我们先从二维上一个圆说起:
假设一堆点,组成了一个椭圆(图右上角),如果我们要拟合直线,就需要找到这个椭圆的长轴。而矩阵 A 的含义就是,将一个标准圆,经过变换得到我们要拟合的椭圆。
img

img

ACM 的解释有意思可以看看

https://www.ams.org/publicoutreach/feature-column/fcarc-svd

奇异值分解(Singular Value Decomposition,SVD)是一种在线性代数中重要的矩阵分解方法。对于一个矩阵A,SVD将其分解为三个矩阵的乘积,即:A = UΣV^T1

在这个分解中,U和V都是正交矩阵,Σ是一个对角矩阵,对角线上的元素称为奇异值,且按降序排列。奇异值反映了矩阵A在相应维度上的“能量”或“强度”2

右奇异向量(即矩阵V中的列向量)可以被看作是原始数据空间中的新特征。这是因为,对于一个mn的矩阵A,我们可以通过计算A^TA得到一个nn的方阵,然后对这个方阵进行特征值分解,得到的特征向量就是右奇异向量1

这些右奇异向量描述了数据的主要变化方向。特别地,对于高维数据,我们可以通过选择前N个最大的奇异值对应的右奇异向量,来近似描述数据的主要变化方向1

因此,右奇异向量可以被看作是数据的方向,而对应的奇异值则表示了这个方向的重要性1。这就是为什么一组数据经过SVD得到的右奇异向量可以看作这组数据的方向的原因。希望这个解释对你有所帮助!

源: 与必应的对话, 2024/4/25
(1) 强大的矩阵奇异值分解(SVD) - 知乎. https://zhuanlan.zhihu.com/p/122259109.
(2) 降维算法之奇异值分解 (Singular Value Decomposition, SVD) - CSDN博客. https://blog.csdn.net/qq_39297053/article/details/136596791.
(3) 特征向量与奇异向量 - 知乎. https://zhuanlan.zhihu.com/p/297714734.
(4) 对称矩阵奇异值分解得到的左奇异矩阵和右奇异矩阵一定相等吗? - 知乎. https://www.zhihu.com/question/497528522.

个人理解

我们输入一组数据的矩阵A可以得到数据的空间示意图:例如

img

img

img

img

标签:SVD,矩阵,分解,奇异,https,向量
From: https://www.cnblogs.com/kz7430/p/18156377

相关文章

  • [学习笔记] 质数与唯一分解定理 - 数论
    素性测试素性测试就是判断某个数是否为质数。费马小定理内容:若\(p\)为质数,\(a\)为任意整数,有\(a^{p-1}\equiv1(mod\p)\)那么可以多次随机取一个基数\(a\in(1,p)\)若\(p\)满足上式,那么它为质数的可能性就越大。MillarRabin素性测试inlinellqpow(lla,lln,ll......
  • 【模板】分解质因数 Pollard-Rho
    参见洛谷模板题题解,这里只有代码实现。一些强数据参考(输出了最大质因子)79223372036854775783Prime9223371994482243049303700049392232532901085832072097143214748364822147483647Prime21471175694633721417005691289#include<bits/stdc++.h>usingnamespace......
  • 下列不属于分解测试点时的关注点的是( )
    选项:A、性能B、⽆充分理由的揣测C、偶然的设计失误D、可测性答案:BC解析:验证空间是⼀个⽆限集合,我们不可能细化到所有的元素,这就需要我们在分解时重视⼀些主要的关注点,同时忽略掉⼀些不必要的⾮关注点,1、测试点主要关注:a)功能的正确;b)功能、性能点的覆盖;c)发现设计错......
  • AI agent智能体任务分解和调度的几篇经典文章
     ReAct论文解读:LLMReAct范式,在大语言模型中结合推理和动作最近在研究如何让GPT正确做动作,比如搜索内容,发现了《SYNERGIZINGREASONINGANDACTINGINLANGUAGEMODELS》这篇论文。作者提出了ReAct范式,通过将推理和动作相结合来克服LLM胡言乱语的问题,同时提高了结果的可解释性......
  • AI agent中的任务分解和调度-学术界文章汇总
    Reflexion:LanguageAgentswithVerbalReinforcementLearning该文章的要点和关键技术,算法流程该文章提出了一种名为"Reflexion"的新型框架,用于通过语言反馈来强化语言智能体的学习。主要包含以下几个关键点:框架组成:Actor模型:基于大语言模型生成文本和动作E......
  • Lyndon 分解
    作用把一个大字符串分成好多个小字符串这些小字符串的最小后缀,就是其本身求出这些小字符串的右端点下标#include<bits/stdc++.h>usingnamespacestd;chars[5000005];intn,ans;vector<int>a;intmain(){ scanf("%s",s+1); n=(int)strlen(s+1); intx; for(inti=......
  • PiSSA :将模型原始权重进行奇异值分解的一种新的微调方法
    我们开始看4月的新论文了,这是来自北京大学人工智能研究所、北京大学智能科学与技术学院的研究人员发布的PrincipalSingularValuesandSingularVectorsAdaptation(PiSSA)方法。PiSSA和LoRA一样,都是基于这样的前提:对模型参数的改变会形成一个低秩矩阵。这种方法通过将模型中的......
  • 基于矩阵分解的协同过滤算法
    引言随着互联网、大数据等新技术的迅速发展,人们的生活变得更加便捷,但同时也导致网络数据爆炸式增长。为了快速帮助用户找到感兴趣的内容,越来越多的研究者致力于推荐算法的研究,以提高推荐质量,向用户推荐更符合其喜好的内容。然而,目前的推荐算法仍存在数据稀疏性、隐私保护和冷启动......
  • 时序数据分解
    时序数据  时序数据作为与时间强相关数据,有着独特的特点,但是也有很多通用的数据的性质。1.通过数学期望与协方差进行特征相关性的计算;2.平稳性检验  定义上的平稳性指的是固定时间和位置的概率分布与所有时间和位置的概率分布相同的随机过程。其数学期望和方差这......
  • 小论文随便发,最新算法!变分模态分解+霜冰算法优化+LSTM时间序列预测(附matlab代码实现)
     专题推荐:论文推荐,代码分享,视角(点击即可跳转)所有链接建议使用电脑端打开,手机端打开较慢【代码推荐购买指南】电力系统运行优化与规划、时间序列预测、回归分类预测matlab代码公众号历史推文合集23.3.21(电力系统前沿视角/预测和优化方向matlab代码/电力系统优秀论文推荐......