相信搞过数据处理的都遇到这样的公式:

一开始我也是一头雾水,看了很多解释,就是弄不明白为什么要这么写,最近在看SVD的时候将投影联系起来,恍然大悟,可能讲不明白,但是借用一下我老师的一句话:不管你们明白不明白,反正我是明白了。

投影: 在脑子里刻画一下,一个经典的题目:在三维坐标系下,求一个向量x在x-y平面上的投影。这不是手到擒来嘛?把x的z轴分量去掉就行了,没错,就是这么简单,但是现在我们要把简单的事情标准化,让其普适起来。联想傅里叶变换,我们利用傅氏变换与反变换可以去掉一些噪声,或者简单理解,就是用基频和高次谐频信号的线性组合来表示原始信号x,这样,x就处在了傅里叶正交基张成的空间内。这就可以表示为,将这些正弦信号作为列向量组成矩阵U,那么傅里叶变换就是F(x)=,就这么理解,傅里叶变换的每一个值就是信号与这个频率的正弦波的相关系数。因此,我们求得了m个系数,m就是正弦波的个数,也即U的列数。因此x在U上的投影,就是这些正弦波的线性组合,所以,简单的

这就是x的投影。

傅里叶的基都是标准正交基,也就是任何一个向量的自相关系数是1,而互相关系数为0。对于普通的矩阵A,这显然很难满足,因此,做投影的时候,我们先假装A满足,先求x在A上的投影,发现事情不对劲,我们需要对这个系数进行标准化,也就是对应列的系数需要除以对应列的模值,这个模值不就是嘛,也就是A的自相关矩阵。不过对于标准化这个系数来说,这个是方差,多除了一个模值,其实并不是,这个多除的模值,是给矩阵A准备的,因为A不是标准的,在A的列向量张成空间上投影,首先自己也得标准化,那多除以一个模值就对了。所以整个的投影过程是

SVD分解之所以是奇异值分解,是因为它不管A是什么,一样搞。

分解出来的U是原始信号域的标准正交基,V是变换后的新标准正交基,这样,将A进行SVD分解后,利用得到U,就可以将投影过程

 简化为

像傅里叶变换一样。

与傅里叶变换不同的是,这里的标准正交基与原始数据有关,基本上不会是正弦信号。这可以说是一种优势,也可以说是一种劣势。因为SVD利用信号自身特点可以将信号完整的表示而不会引入多余的分量,而傅里叶正交基在表示非平稳非线性信号时往往为了拟合跳跃点而引入很多原本不存在的频率分量;而在某些领域,频率依旧是很多特征的基础,傅里叶变换得出的结果具有可解释性,然而SVD得到的结果跟随信号特点不断变化,因而很难进行统一解释。

谈谈自己对投影、SVD和傅里叶变换的理解相关推荐

  1. [ECMAScript] 谈谈你对es6的module体系的理解

    [ECMAScript] 谈谈你对es6的module体系的理解 es5的模块规范出来之前,前端也实现了比如AMD CMD模块规范,对前端模块进行管理. es6的模块规范在语言层面实现了模块功能 为什 ...

  2. 专栏:谈谈我对当下大数据整顿的理解与风控建议

    FAL金科应用研究院 专栏:谈谈我对当下大数据整顿的理解与风控建议 最近大数据行业爬虫业务监管调查风波刚稍有平息,又有P2P行业疑是被传"全军覆没",国家年前的整治力度可不谓不大. ...

  3. 谈谈对CNN在NLP中可行性的理解

    谈谈对CNN在NLP中可行性的理解 谈到CNN,人们的直观感受还是其在图像处理领域取得的巨大成就,虽然近几年越来越多的论文使用到CNN与RNN的模型来探索卷积网络在自然语言处理中的应用,但始终还是无法 ...

  4. 图像处理傅里叶变换的理解及其matlab实现

    参考资料: https://www.matongxue.com/madocs/712.html https://blog.csdn.net/linzch3/article/details/710771 ...

  5. python 傅里叶变换_理解快速傅里叶变换算法

    翻译自原文:https://jakevdp.github.io/blog/2013/08/28/understanding-the-fft/ ​ 快速傅里叶变换(FFT)是信号处理和数据分析中最重要的 ...

  6. 傅里叶变换的理解-从正弦信号到傅里叶

    基本概念 欧拉公式 根据欧拉公式正余弦信号还可以被指数形式所表示 角频率或频率为横轴,振幅和相位为纵轴,画一个坐标系,表示这个正弦信号 在新的坐标系(角频率或频率为横轴,,振幅和相位为纵轴)中,以两条 ...

  7. 傅里叶变换的理解----计算幅值和相位

    先推荐表格文章  如果看了此文你还不懂傅里叶变换,那就过来掐死我吧[完整版] 傅里叶原理表明:任何连续测量的时序或信号,都可以表示为不同频率的正弦波或余弦信号的无限叠加. 1.FT的理论就会告诉你可以 ...

  8. 关于傅里叶变换的理解、快速傅里叶算法的推导以及蝶形运算的c语言实现

    为了使用C语言实现蝶形运算过程,重新学习了一下傅里叶变换蝶形运算的过程 1.傅里叶变换 傅里叶变换笼统的讲就是将一个信号序列分解为很多组频率不同的正弦和余弦信号的组合:对于理解傅里叶变换我是从线性变换 ...

  9. 离散时间傅里叶变换(理解推导)

    文章目录 傅立叶级数和傅立叶变换 离散时间傅立叶变换推导 (DTFT) DTFT和CTFT的比较 Tips: 此贴适合有一定傅里叶变换和傅里叶级数基础的人观看.意在帮助大家更好的理解DTFT和CTFT ...

最新文章

  1. python数据趋势算法_Python数据拟合与广义线性回归算法学习
  2. 颜水成团队开源VOLO:无需额外数据,首次在ImageNet上达到87.1%的精度
  3. 移动端h5 顶部菜单栏_HTML5 移动端上 动态固定菜单栏的问题
  4. java 切换panel会闪烁_【19期】为什么Java线程没有Running状态?
  5. 如下为利用Linux内核链表创建,Linux内核中链表的实现与应用
  6. 编码与解码 字符串中的
  7. 改变kingcms默认拼音路径格式/修改kingcms拼音路径
  8. android之menu,一起学Android之Menu
  9. leetcode python3 简单题232. Implement Queue using Stacks
  10. 连接远程hbase长时间等待问题
  11. 用 BAT 注册 Subversion 服务
  12. poj 3026 Borg Maze (bfs + 最小生成树)
  13. 【408考研】数据结构 —— 第一章 绪论
  14. 小米音箱蓝牙连不上_小米互联网音箱蓝牙怎么连接?方法如下
  15. 如何在 think-cell 瀑布图中并行汇总多个系列?
  16. Qt界面显示OpenCV读取的图片
  17. Cadence 17.2 Pad Editor入门指南(2)
  18. 美文:远方究竟有多远
  19. 产品经理必备技能之业务流程图
  20. 云计算领域常见的一些专业术语、专有名词总结(一)

热门文章

  1. 修改拦截器里的请求头_OkHttp4 源码分析(1) 请求流程分析
  2. eof函数怎么用matlab,EOF的源程序MATLAB.doc
  3. 注解 java 原理_Java注解基本原理
  4. 服务器查看数据库日志文件,服务器数据库查看日志文件
  5. 过年用计算机弹奏,过年实用,你可能需要的亲戚称呼计算器
  6. LED液晶显示屏自动扫描测试软件特点,led显示屏控制软件自动校正是什么作用?...
  7. php求两个数组的差值,数组计算差值及项的小计,该如何处理
  8. 熊猫DataFrame groupby()函数
  9. sublime text_Sublime Text Editor赠品报告和获胜者
  10. Java ClassNotFoundException – java.lang.ClassNotFoundException