[数学] 奇异值分解SVD的理解与应用
看一个预测的代码,在预处理数据的时候使用了svd。了解了一下svd相关资料,比较喜欢第一篇文章的解释,不过第二篇也很简单。
https://blog.csdn.net/ab_use/article/details/50433635
https://cosx.org/2014/02/svd-and-image-compression
在论述UDV的维度的时候,两篇文章由不一致的地方。
一种说法是U是一个mxm的矩阵,D是mxn矩阵,V是nxn矩阵。
另一种说法是U是一个mxn矩阵,D是nxn矩阵,V是nxn矩阵。
两种说法其实都对,第二版是第一版的简化。因为D的特性,使得D右下角的行(或列)为0(第一篇文章有显示),所以实际上有效的维度只有min(m, n), 因为有假设m > n, 所以这里取n。同时,U左乘到D,因此 > n 的部分为0。由此可以将UD从mxm %*% mxn 简化成mxn %*% nxn的形式。
SVD的有效的一个重要特征在于,分解得到的D矩阵,其对角线上的值是降序排列的。至于为什么是降序的,这里应该有证明 A singularly valuable decomposition: the SVD of a matrix (我没看)
将D矩阵尾部贡献量较小的特征值丢弃之后,即可得到对源矩阵的一个近似拟合,这个拟合包含了原矩阵绝大部分的信息。因此SVD可以应用于数据压缩及过滤噪声等。
s== 分割线 等待整理笔记 ==
[数学] 奇异值分解SVD的理解与应用的更多相关文章
- 转载:奇异值分解(SVD) --- 线性变换几何意义(下)
本文转载自他人: PS:一直以来对SVD分解似懂非懂,此文为译文,原文以细致的分析+大量的可视化图形演示了SVD的几何意义.能在有限的篇幅把这个问题讲解的如此清晰,实属不易.原文举了一个简单的图像处理 ...
- 奇异值分解(SVD) --- 几何意义
原文:http://blog.sciencenet.cn/blog-696950-699432.html PS:一直以来对SVD分解似懂非懂,此文为译文,原文以细致的分析+大量的可视化图形演示了SVD ...
- 一步步教你轻松学奇异值分解SVD降维算法
一步步教你轻松学奇异值分解SVD降维算法 (白宁超 2018年10月24日09:04:56 ) 摘要:奇异值分解(singular value decomposition)是线性代数中一种重要的矩阵分 ...
- 机器学习实战(Machine Learning in Action)学习笔记————10.奇异值分解(SVD)原理、基于协同过滤的推荐引擎、数据降维
关键字:SVD.奇异值分解.降维.基于协同过滤的推荐引擎作者:米仓山下时间:2018-11-3机器学习实战(Machine Learning in Action,@author: Peter Harr ...
- 奇异值分解(SVD) --- 几何意义 (转载)
PS:一直以来对SVD分解似懂非懂,此文为译文,原文以细致的分析+大量的可视化图形演示了SVD的几何意义.能在有限的篇幅把 这个问题讲解的如此清晰,实属不易.原文举了一个简单的图像处理问题,简单形象, ...
- 数学基础系列(六)----特征值分解和奇异值分解(SVD)
一.介绍 特征值和奇异值在大部分人的印象中,往往是停留在纯粹的数学计算中.而且线性代数或者矩阵论里面,也很少讲任何跟特征值与奇异值有关的应用背景. 奇异值分解是一个有着很明显的物理意义的一种方法,它可 ...
- 矩阵奇异值分解(SVD)及其应用
机器学习中的数学(5)-强大的矩阵奇异值分解(SVD)及其应用(好文) [简化数据]奇异值分解(SVD) <数学之美> 第15章 矩阵运算和文本处理中的两个分类问题
- [机器学习笔记]奇异值分解SVD简介及其在推荐系统中的简单应用
本文先从几何意义上对奇异值分解SVD进行简单介绍,然后分析了特征值分解与奇异值分解的区别与联系,最后用python实现将SVD应用于推荐系统. 1.SVD详解 SVD(singular value d ...
- 奇异值分解(SVD)原理详解及推导(转载)
转载请声明出处http://blog.csdn.net/zhongkejingwang/article/details/43053513 在网上看到有很多文章介绍SVD的,讲的也都不错,但是感觉还是有 ...
随机推荐
- CF1065D
如果不喜欢过长代码的看官,请移步其他题解... 这题其实思想极其简单: 棋盘问题常见的算法都比较暴力,常用的有搜索和状压dp 而这道题显然没啥能状压的,所以我们考虑搜索 但是仅仅搜索是不够的,因为有极 ...
- mysql 语句的使用清库数据转移
mysql清空数据库表 方法1:重建库和表用mysqldump --no-data把建表SQL导出来,然后drop database再create database,执行一下导出的SQL文件: 方法2 ...
- angular-cli ng build 打包完成后 打开文件显示空白
将index.html 里面的<base href="/"> 改为<base href="./"> 前面加一个 点 就好了,然后再次打包 ...
- web和servlet一样的用法但是有区别
- meaven
一个项目管理工具.java语言编写的,所以可以跨平台 https://mvnrepository.com/
- python爬虫快递查询系统(源码)
import requestsimport json def get_express_type(postid): '''根据快递单号来智能判断快递类型''' url = 'http://www.kua ...
- phoenix表操作
phoenix表操作 进入命令行,这是sqlline.py 配置到path环境变量的情况下 sqlline.py localhost如果要退出命令行:!q 或者 !quit 3.4.1 创建表 ...
- CORS跨域
一:简介 为什么会出现跨域问题? 受同源策略影响,不同域名之间不可以进行访问.同源策略(Same-Origin Policy).所谓的 同源 是指域名.协议.端口号 相同.不同的客户端脚本(JavaS ...
- delphi TreeView 从数据库添加节点的四种方法
方法一:delphi中递归算法构建treeView 过程:通过读取数据库中table1的数据,来构建一颗树.table1有两个字段:ID,preID,即当前结点标志和父结点标志.所以整个树的表示为父母 ...
- luogu 1471
题意: 蒟蒻HansBug在一本数学书里面发现了一个神奇的数列,包含N个实数.他想算算这个数列的平均数和方差. 操作1:1 x y k ,表示将第x到第y项每项加上k,k为一实数. 操作2:2 x y ...