线性代数是机器学习领域的基础,其中一个最重要的概念是奇异值分解(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(奇异值分解)算法介绍的更多相关文章

  1. SVD奇异值分解的基本原理和运用

    SVD奇异值分解: SVD是一种可靠的正交矩阵分解法.可以把A矩阵分解成U,∑,VT三个矩阵相乘的形式.(Svd(A)=[U*∑*VT],A不必是方阵,U,VT必定是正交阵,S是对角阵<以奇异值 ...

  2. SVD奇异值分解的几何物理意义资料汇总

    学习SVD奇异值分解的网上资料汇总: 1. 关于svd的一篇概念文,这篇文章也是后续几篇文章的鼻祖~ http://www.ams.org/samplings/feature-column/fcarc ...

  3. 一步步教你轻松学奇异值分解SVD降维算法

    一步步教你轻松学奇异值分解SVD降维算法 (白宁超 2018年10月24日09:04:56 ) 摘要:奇异值分解(singular value decomposition)是线性代数中一种重要的矩阵分 ...

  4. [机器学习]-SVD奇异值分解的基本原理和运用

    SVD奇异值分解: SVD是一种可靠的正交矩阵分解法.可以把A矩阵分解成U,∑,VT三个矩阵相乘的形式.(Svd(A)=[U*∑*VT],A不必是方阵,U,VT必定是正交阵,S是对角阵<以奇异值 ...

  5. 『科学计算_理论』SVD奇异值分解

    转载请声明出处 SVD奇异值分解概述 SVD不仅是一个数学问题,在工程应用中的很多地方都有它的身影,比如前面讲的PCA,掌握了SVD原理后再去看PCA那是相当简单的,在推荐系统方面,SVD更是名声大噪 ...

  6. 简单易学的机器学习算法—SVD奇异值分解

    简单易学的机器学习算法-SVD奇异值分解 一.SVD奇异值分解的定义     假设M是一个的矩阵,如果存在一个分解: 其中的酉矩阵,的半正定对角矩阵,的共轭转置矩阵,且为的酉矩阵.这样的分解称为M的奇 ...

  7. 关于5G技术,这是我见过最通俗易懂的讲解了

    公众号关注 「开源Linux」 回复「学习」,有我为您特别筛选的学习资料~ 1 一个简单且神奇的公式 今天的故事,从一个公式开始讲起. 这是一个既简单又神奇的公式.说它简单,是因为它一共只有 3 个字 ...

  8. SVD java 算法实现

    https://github.com/Richard-Cao/MatrixSvdDemo/blob/master/app/src/main/java/me/ele/caolicheng/matrixs ...

  9. 《学习OpenCV3》第7章第4题-SVD奇异值分解的验算

    原文题目: 中文翻译:   解题过程 d.使用OpenCV编写代码 , ,               , ,               ,);     Mat A = static_cast< ...

  10. 对SVD奇异值分解的理解

      首先推荐一篇博客,奇异值分解(SVD)原理详解及推导 - CSDN博客,讲解的很清楚.这里我谈谈自己的理解,方便以后回顾.   如果把向量理解为空间中的一个元素,那么矩阵可以理解为两个空间上的映射 ...

随机推荐

  1. day18-方法

    何谓方法? System.out.println() System->类 out->对象 println()->方法 Java方法是语句的集合,它们在一起执行 一个功能. 方法是解决 ...

  2. 你真的理解 Kubernetes 中的 requests 和 limits 吗?

    在 Kubernetes 集群中部署资源的时候,你是否经常遇到以下情形: 经常在 Kubernetes 集群种部署负载的时候不设置 CPU requests 或将 CPU requests 设置得过低 ...

  3. 用 KubeKey 快速离线部署 K8s 与 KubeSphere

    作者:尹珉,KubeSphere Ambassador,KubeSphere 社区用户委员会杭州站站长 一.KubeKey 介绍 KubeKey(以下简称 KK) 是一个用于部署 Kubernetes ...

  4. 题解:AT_arc182_a [ARC182A] Chmax Rush!

    题目传送门 洛谷题解 思路 我们只需要枚举每一个 \(v_i\),对于 \(i\) 后面的 \(v_j\) 如果 \(v_i > v_j\) 进行以下讨论. \(p_i = p_j\) \(p_ ...

  5. C#/.NET/.NET Core学习路线集合,学习不迷路!

    前言 C#..NET..NET Core.WPF.WinForm.Unity等相关技术的学习.工作路线集合(持续更新)!!! 全面的C#/.NET/.NET Core学习.工作.面试指南:https: ...

  6. 基础控件(ListView,RecyclerView,单位和尺寸,ViewPager,ViewPager2)

    ListView list_item.xml <?xml version="1.0" encoding="utf-8"?> <LinearLa ...

  7. Machine Learning Week_1 Introduction 9-11

    目录 1.9 Who are Mentors? unfamiliar words 1.10 Get to Know Your Classmates unfamiliar words 1.11 Freq ...

  8. 了解 Uniswap V2(DEX)

    Uniswap V2 是一个基于以太坊的去中心化交易所(DEX),它通过流动性池和自动化做市商(AMM)模型来实现去中心化的代币交换.以下是 Uniswap V2 的核心概念: 1. 自动化做市商(A ...

  9. ubuntu服务器上部署EMQX SLL

    1.     安装MQTT的简易服务器集成环境EMQX $wget https://www.emqx.com/zh/downloads/broker/5.1.6/emqx-5.1.6-ubuntu18 ...

  10. 拿去面试!一个基于 DDD 的高性能短链系统

    众所周知,商城.RPC.秒杀.论坛.外卖.点评等项目早早就烂大街了,翻开同学的简历一看 10 个里面有 9 个是这些,翻遍全网再很难找到一个既有含金量又能看得懂的项目,针对此,我研发了这样一个可以快速 ...