A Singularly Valuable Decomposition(SVD奇异值分解)

2023-12-12 14:59

本文主要是介绍A Singularly Valuable Decomposition(SVD奇异值分解),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

A Singularly Valuable Decomposition(SVD奇异值分解)

        SVD与熟悉的对称矩阵对角化理论密切相关。 如果A是对称实数n×n矩阵,则存在正交矩阵V和对角线D,使得A= 。 这里V的列是A的特征向量,并形成Rn的正交基; D的对角线上的数值是A的特征值。为了强调与SVD的联系,我们将称为A的特征值分解或EVD。

        对于SVD,任意一个实数m×n矩阵A,存在正交矩阵U和V以及一个对角矩阵,这次表示为Σ,使得A = 。 在这种情况下,U是m×m矩阵,V是n×n矩阵,所以Σ是与A的尺寸相同的矩形。Σ的对角线上的数值,即Σii=σi,可以排列成非负的并且是按幅度减小的顺序排列的。正数值σi称为A的奇异值,U和V的列称为A的左和右奇异向量。        

        下面先介绍一下特征值(EVD)分解:

        如果说一个向量v是方阵A的特征向量,将一定可以表示成,这时候被称为特征向量v对应的特征值。

        一个矩阵的一组特征向量是一组正交向量。特征分解是将一个矩阵分解成A = ,其中V是这个矩阵A的特征向量组成的矩阵,D是一个对角矩阵,每个对角矩阵上的元素就是一个特征值。

        一个矩阵变换可以看成为一个线性变换,因为一个矩阵乘以一个向量后得到的向量,其实就相当于将这个向量进行了线性变换。举例如下:

 eg1. 矩阵M如下:


它对应的线性变换如下面形式:


用图形描述为:

        上面的矩阵是对称的,所以这个变换是一个对x,y轴的方向一个拉伸变换(每一个对角线上的元素将会对一个维度进行拉伸变换,当值>1时拉长,当值<1时缩短),当矩阵不是对称的时候,假如说矩阵是下面的样子:

eg2. 


它所描述的变换的图形描述为:


        这其实是在平面上对一个轴进行的拉伸变换(如蓝色的箭头所示),在图中,蓝色的箭头是一个最主要的变化方向(变化方向可能有不止一个),如果我们想要描述好一个变换,那我们就描述好这个变换主要的变化方向就好了。反过头来看看之前特征值分解的式子,分解得到的D矩阵是一个对角阵,里面的特征值是由大到小排列的,这些特征值所对应的特征向量就是描述这个矩阵变化方向(从主要的变化到次要的变化排列)

        当矩阵是高维的情况下,那么这个矩阵就是高维空间下的一个线性变换,这个线性变化可能没法通过图片来表示,但是可以想象,这个变换也同样有很多的变换方向,我们通过特征值分解得到的前N个特征向量,那么就对应了这个矩阵最主要的N个变化方向。我们利用这前N个变化方向,就可以近似这个矩阵(变换)。也就是之前说的:提取这个矩阵最重要的特征。

        总结:特征值分解可以得到特征值与特征向量,特征值表示的是这个特征到底有多重要,而特征向量表示这个特征是什么,可以将每一个特征向量理解为一个线性的子空间,我们可以利用这些线性的子空间干很多的事情。不过,特征

这篇关于A Singularly Valuable Decomposition(SVD奇异值分解)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/485021

相关文章

特征值分解(EVD)和奇异值分解(SVD)—应用于图片压缩

特征值分解(EVD)和奇异值分解(SVD)—应用于图片压缩 目录 前言 一、特征值分解 二、应用特征值分解对图片进行压缩 三、矩阵的奇异值分解 四、应用奇异值分解对图片进行压缩 五、MATLAB仿真代码 前言         学习了特征值分解和奇异值分解相关知识,发现其可以用于图片压缩,但网上没有找到相应代码,本文在学习了之后编写出了图片压缩的代码,发现奇异值分

连分数因子分解法——C语言实现

参考网址:连分数分解法寻找整数的因子(Python)-CSDN博客 大数运算:C语言实现 大数运算 加减乘除模运算 超详细_64编程 加减乘除取模 复杂运算-CSDN博客 ‌连分数因子分解法‌是一种用于大整数因子分解的算法,它是计算数论中的一个重要方法。连分数因子分解法通过寻找x2≡y2 (mod p)x2≡y2 (mod p)的形式来分解N。具体来说,这种方法涉及到计算N的简单连分数展开,并

时序预测|变分模态分解-双向时域卷积-双向门控单元-注意力机制多变量时间序列预测VMD-BiTCN-BiGRU-Attention

时序预测|变分模态分解-双向时域卷积-双向门控单元-注意力机制多变量时间序列预测VMD-BiTCN-BiGRU-Attention 文章目录 一、基本原理1. 变分模态分解(VMD)2. 双向时域卷积(BiTCN)3. 双向门控单元(BiGRU)4. 注意力机制(Attention)总结流程 二、实验结果三、核心代码四、代码获取五、总结 时序预测|变分模态分解-双向时域卷积

《机器学习》 基于SVD的矩阵分解 推导、案例实现

目录 一、SVD奇异值分解 1、什么是SVD 2、SVD的应用         1)数据降维         2)推荐算法         3)自然语言处理 3、核心         1)什么是酉矩阵         2)什么是对角矩阵 4、分解过程 二、推导 1、如何求解这三个矩阵         1)已知:          2)根据酉矩阵的特点即可得出:

SVD降维

文章目录 一、SVD降维的基本原理二、SVD降维的步骤三、SVD降维的优点四、SVD降维的应用五、代码应用六、SVD降维的局限性 一、SVD降维的基本原理 SVD是线性代数中的一种技术,它将一个矩阵A分解为三个矩阵的乘积:A = UΣV^T。其中,U和V是正交矩阵,Σ是对角矩阵,对角线上的元素称为奇异值。这些奇异值表示了矩阵A在各个方向上的“重要性”或“能量”。 在降维过程中,

奇异值与特征值基础

一、奇异值与特征值基础知识:     特征值分解和奇异值分解在机器学习领域都是属于满地可见的方法。两者有着很紧密的关系,我在接下来会谈到,特征值分解和奇异值分解的目的都是一样,就是提取出一个矩阵最重要的特征。先谈谈特征值分解吧:    1)特征值:     如果说一个向量v是方阵A的特征向量,将一定可以表示成下面的形式:     这时候λ就被称为特征向量v对应的特征值,一个

[干货汇总]LSA及SVD介绍

1. 前言 近期在看关于NER(Named Entity Recognition)的paper,里面涉及到的几个机器学习的算法,需要学习一下,在网上看了一些相关干货,汇总一下前人智慧。 首先贴出几篇写的还不错的blog blog1 LSA潜在语义分析 该blog是在Wiki中翻译过来,翻译的反正比我看原文理解的好,进行初步了解还是不错的。 blog2 SVD矩阵奇异值分解 &&

素数判定和分解质素数

1.素数判定   public static boolean isPrime(int n) {if (n <= 1) return false;if (n == 2) return true;if (n % 2 == 0) return false;int limit = (int)Math.sqrt(n) + 1;for (int i = 3; i <= limit; i += 2) {i

等式(数论/唯一分解定理)

链接: https://www.nowcoder.com/acm/contest/90/F 来源:牛客网 题目描述 给定n,求1/x + 1/y = 1/n (x<=y)的解数。(x、y、n均为正整数) 输入描述: 在第一行输入一个正整数T。接下来有T行,每行输入一个正整数n,请求出符合该方程要求的解数。(1<=n<=1e9) 输出描述: 输出符合该方程要求的解数。

【SGU】113. Nearly prime numbers 合数分解

传送门:【SGU】113. Nearly prime numbers 题目分析:O(sqrt(N))。。 代码如下: #include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std ;#define rep( i , a , b ) for