这是我见过最通俗易懂的SVD(奇异值分解)算法介绍
线性代数是机器学习领域的基础,其中一个最重要的概念是奇异值分解(SVD),本文尽可能简洁的介绍SVD(奇异值分解)算法的基础理解,以及它在现实世界中的应用。
SVD是最广泛使用的无监督学习算法之一,它在许多推荐系统和降维系统中居于核心位置,这些系统是全球公司如谷歌、Netflix、Facebook、YouTube等的核心技术。
简单来说,SVD是将一个任意矩阵分解为三个矩阵。所以如果我们有一个矩阵A,那么它的SVD可以表示为:

A是矩阵,U是的正交矩阵,是的非负对角矩阵,是的正交矩阵。
U也被称为左奇异向量,S为奇异值,V为右奇异向量。
带维度的奇异值分解:
用矩阵表示奇异值分解:

我们通常将具有较大特征值的向量排列在前,而较小特征值的向量则排在后面。
特征值与向量的对应关系:

与特征值分解相比,奇异值分解可以应用于非方阵。在SVD中,U和 V 对于任何矩阵都是可逆的,并且它们是正交归一的,这是我们所喜爱的特性。虽然这里不进行证明,但我们可以告诉你,奇异值比特征值在数值上更稳定。
为了更好地理解,我们通过一个例子演示SVD。
假设我们有非方阵A:

我们计算矩阵与转置矩阵的乘积,有:

求解
的特征值和特征向量:

求解
的特征值和特征向量:

奇异值是正特征值的平方根,即5和3。因此非方阵A的SVD分解为:

SVD分解证明

最后一个方程等价于求矩阵
的特征向量,我们只需将所有特征向量放入一个矩阵中,矩阵S则是包含特征值的对角矩阵。

SVD的另一种表述


SVD降维

SVD应用
1.图像降维
2.特征脸
3.降低噪声
结论
我真的觉得奇异值分解(SVD)被低估了。它是线性代数中一个非常重要的基础概念,而且它的应用非常酷!相信我,我们看到的只是 SVD 众多用途中的一小部分。有什么问题,欢迎讨论!
原文链接:这是我见过最通俗易懂的SVD(奇异值分解)算法介绍
这是我见过最通俗易懂的SVD(奇异值分解)算法介绍的更多相关文章
- SVD奇异值分解的基本原理和运用
SVD奇异值分解: SVD是一种可靠的正交矩阵分解法.可以把A矩阵分解成U,∑,VT三个矩阵相乘的形式.(Svd(A)=[U*∑*VT],A不必是方阵,U,VT必定是正交阵,S是对角阵<以奇异值 ...
- SVD奇异值分解的几何物理意义资料汇总
学习SVD奇异值分解的网上资料汇总: 1. 关于svd的一篇概念文,这篇文章也是后续几篇文章的鼻祖~ http://www.ams.org/samplings/feature-column/fcarc ...
- 一步步教你轻松学奇异值分解SVD降维算法
一步步教你轻松学奇异值分解SVD降维算法 (白宁超 2018年10月24日09:04:56 ) 摘要:奇异值分解(singular value decomposition)是线性代数中一种重要的矩阵分 ...
- [机器学习]-SVD奇异值分解的基本原理和运用
SVD奇异值分解: SVD是一种可靠的正交矩阵分解法.可以把A矩阵分解成U,∑,VT三个矩阵相乘的形式.(Svd(A)=[U*∑*VT],A不必是方阵,U,VT必定是正交阵,S是对角阵<以奇异值 ...
- 『科学计算_理论』SVD奇异值分解
转载请声明出处 SVD奇异值分解概述 SVD不仅是一个数学问题,在工程应用中的很多地方都有它的身影,比如前面讲的PCA,掌握了SVD原理后再去看PCA那是相当简单的,在推荐系统方面,SVD更是名声大噪 ...
- 简单易学的机器学习算法—SVD奇异值分解
简单易学的机器学习算法-SVD奇异值分解 一.SVD奇异值分解的定义 假设M是一个的矩阵,如果存在一个分解: 其中的酉矩阵,的半正定对角矩阵,的共轭转置矩阵,且为的酉矩阵.这样的分解称为M的奇 ...
- 关于5G技术,这是我见过最通俗易懂的讲解了
公众号关注 「开源Linux」 回复「学习」,有我为您特别筛选的学习资料~ 1 一个简单且神奇的公式 今天的故事,从一个公式开始讲起. 这是一个既简单又神奇的公式.说它简单,是因为它一共只有 3 个字 ...
- SVD java 算法实现
https://github.com/Richard-Cao/MatrixSvdDemo/blob/master/app/src/main/java/me/ele/caolicheng/matrixs ...
- 《学习OpenCV3》第7章第4题-SVD奇异值分解的验算
原文题目: 中文翻译: 解题过程 d.使用OpenCV编写代码 , , , , ,); Mat A = static_cast< ...
- 对SVD奇异值分解的理解
首先推荐一篇博客,奇异值分解(SVD)原理详解及推导 - CSDN博客,讲解的很清楚.这里我谈谈自己的理解,方便以后回顾. 如果把向量理解为空间中的一个元素,那么矩阵可以理解为两个空间上的映射 ...
随机推荐
- web端ant-design-vue-Anchor锚点组件使用小节(1)
web端ant-design-vue-Anchor锚点组件使用小节.项目开发中如果要实现前端页面平滑滚动到指定的位置,Anchor组件是一个好的选择,灵活且平滑,能满足常见的项目需求.最近开发中幸运的 ...
- 洛谷 P1540 [NOIP2010 提高组] 机器翻译
题目概括 给定 N 个整数,和一个容量为 M 的"字典",从头到尾依次翻译,每次翻译先看自家字典,没有的话再看别人的字典并存到自家字典,如果自家字典满了,当前单词的翻译会代替最早进 ...
- JS 绘制 Cardinal 样条曲线
Cardinal 曲线 根据定义,给定点集 \(\{ \mathbf {P}_{k-1}, \mathbf {P}_k, \mathbf {P}_{k+1}, \mathbf {P}_{k+2} \} ...
- antdesign vue 步骤条a-step按审核人员节点排序显示逻辑
一.需求内容 目前审核人员角色有:学术.法务.售后,串行执行审核流程. 审核流程:发起/修改审核->审核节点 审核节点规则:学术->法务->售后,每个节点均可以审核或修改. 审核状态 ...
- “地表最强”人形机器人亮相:视觉&语音推理能力
Figure 02配备了机载的视觉语言模型(VLM),使其能够进行快速的常识性视觉推理. 相关: https://mbd.baidu.com/newspage/data/landingsuper?co ...
- NewStar CTF 2024 Crypto
Week1 xor #As a freshman starting in 2024, you should know something about XOR, so this task is for ...
- (Python基础教程之十八)Python字典交集–比较两个字典
Python示例,用于查找2个或更多词典之间的常见项目,即字典相交项目. 1.使用"&"运算符的字典交集 最简单的方法是查找键,值或项的交集,即 & 在两个字典之间 ...
- 成为JavaGC专家Part I — 深入浅出Java垃圾回收机制
对于Java开发人员来说,了解垃圾回收机制(GC)有哪些好处呢?首先可以满足作为一名软件工程师的求知欲,其次,深入了解GC如何工作可以帮你写出更好的Java应用. 这仅仅代表我个人的意见,但我坚信一个 ...
- Elasticsearch之常见问题
一. 聚合操作时,报Fielddata is disabled on text fields by default GET /megacorp/employee/_search { "agg ...
- Spring Boot 使用 slf4j 进行日志记录
SLF4J,即简单日志门面(Simple Logging Facade forJava),不是具体的日志解决方案,它只服务于各种各样的日志系统.按照官方的说法,SLF4J 是一个用于日志系统的简单Fa ...