之前看到过很多次奇异值分解这个概念,但我确实没有学过。大学线性代数课教的就是坨屎,我也没怎么去上课,后来查了点资料算是搞清楚了,现在写点东西总结一下。

  奇异值分解,就是把一个矩阵拆成一组矩阵之和。在数学里面,因式分解,泰勒展开,傅里叶展开,特征值分解,奇异值分解都是这个路数。就是把当前数据表示成一组某种意义下互相独立的数据叠加的形式。目的在于简化计算处理或舍弃次要信息。

          数学表达:

  其中系数是每一项的奇异值,u,v是列向量,可以发现每一项的都是秩为一的矩阵,我们人为假定。跟矩阵特征值分解在形式上还是有很大相似之处的。

  每个矩阵都可以表示成多个秩为一的矩阵的和,而每一项前的系数也就是奇异值的大小反映了这一项相对于A的权重大小。

  然后说一下SVD的物理应用,主要举例图像压缩与图像去噪。

  图像压缩,即适当降低图像精度,假设矩阵A表示了目标图片,对A作SVD分解,那么我们把A的分解式末端权重较小的部分舍弃(或者说只保留前面权重大的若干项),那么这张图片所需存储量便大大降低了,进而达到了图像压缩。

  图像去噪,如果一副图像包含噪声,我们有理由相信那些较小的奇异值就是由噪声引起的。例如图像矩阵A奇异值分解后得到的奇异值为:15.29,7.33,5.23,4.16,0.24,0.03。最后两项相对于前面几项权重太小了,把它们舍掉,便直观地看出图像噪声减少了。

  

  

最新文章

  1. 谨慎使用Marker Interface
  2. linux(centos)下挂载ntfs文件系统
  3. 译文---C#堆VS栈(Part Four)
  4. SPI通信实验---verilog(FPGA作为从机,使用可读可写)
  5. pager分页框架体会
  6. 【Android Studio使用教程3】Android Studio的一些设置 体验更好了
  7. Dijkstra最短路径算法
  8. C#之父 Anders Hejlsberg
  9. [Yii][RBAC]Yii中应用RBAC完全指南
  10. 如何实现Linux下的U盘(USB Mass Storage)驱动
  11. OpenBlas编译方法(体验msys下使用MingW)
  12. poj2187(未完、有错)
  13. JUnit4在Eclipse中的使用
  14. PTA 银行排队问题之单队列多窗口服务
  15. Nodejs 模块查找机制还不错(从当前目录开始逐级向上查找node_modules)
  16. 基于Python的数据分析(1):配置安装环境
  17. MSSQL:查看所有触发器信息的命令
  18. cgroup其他部分 IO + hugepage
  19. 【IDEA&&Eclipse】3、IntelliJ IDEA 的 20 个代码自动完成的特性
  20. CS、IP和PC寄存器

热门文章

  1. SpringMVC中的generator
  2. addTarget原理
  3. 最短路 dijkstra+优先队列+邻接表
  4. codeforces 456 E. Civilization(并查集+数的直径)
  5. BALNUM - Balanced Numbers(数位dp)
  6. CF989C A Mist of Florescence 构造 思维好题 第八题
  7. springmvc 全局异常解决方案
  8. JSP四大作用域属性范围
  9. 基础知识:Mysql基本操作命令
  10. 虚拟化(一) -VMware产品介绍