深度学习笔记系列(二):特征值,特征向量与SVD奇异值分解

2019 年 12 月 26 日 AINLP



本文是深度学习笔记系列文章,本次文章将介绍线性代数里比较重要的概念:特征值,特征向量以及SVD奇异值分解。


向量


回顾线性代数中,含有n个元素的向量可以表示为:




一般默认向量为列向量,也就是n行1列的矩阵,行向量表示为x的转置即.



特征值和特征向量


当维度为n*n的方阵A、n维向量x和实数 λ满足下式时:




上式可以看成将矩阵 A 作用在向量 x 上,只对该向量的长度进行变换,此时λ 为矩阵 A 的特征值,x 为对应的特征向量(从几何角度看左乘一个矩阵可以看成一个空间变换)。


将上式变换一下可得:




当且仅当矩阵奇异矩阵时才存在非零解 x ,令其行列式为0,可以得到 λ 的多项式,求得特征值,再根据特征值即可求出相应的特征向量.


令矩阵 A 的第 i 个特征值为 λi, 对应的特征向量为 xi, 所有特征向量构成的矩阵为 X ,若X可逆,则A可对角化表示为:




其中 Λ 为所以对应特征值组成的对角矩阵.


特别的若A为对称矩阵,则A的特征值均为实数,特征向量可化为正交特征向量,即X为正交矩阵,用U表示,则矩阵A可表示为:





SVD奇异值分解


若A为m*n矩阵,则存在m*m的正交矩阵U、n*n的正交矩阵V和m*n的对角矩阵D满足:



其中U为左奇异矩阵,列向量为的特征向量;V为右奇异矩阵,列向量为的特征向量;矩阵D中对角线元素为A的奇异值,为的特征值的平方根. 因为一个矩阵乘以它的转置为对称矩阵,必能正交对角化,因此任意矩阵均能奇异值分解.


SVD应用


SVD一个常见的应用就是降维,如对于图像数据矩阵A进行SVD,取前k大的奇异值,U和V都取前k个向量,再恢复到原图像大小,k取值合理的情况下可以与原图几乎一样,这样就实现了对图像的压缩. 


可以发现和PCA主成分分析很相似。在PCA中我们先计算协方差矩阵,再求出前k大特征值对应的特征向量作为主成分,对数据进行降维。


当计算协方差矩阵时,我们需要计算(A维数为n*p,n为样本数,p为特征个数,且A已进行取均值化),计算SVD时也有这个,由此可以得到PCA的另一种解法:通过对A进行SVD分解计算右奇异矩阵V,V中列向量即为PCA所需的特征向量。这种方法更为方便,sklearn中的PCA就是通过SVD来实现的。



此系列所有的文章整理后会发布在 https://github.com/linhaow/DLnotes





本文转载在公众号:纸鱼AI,作者:linhw


推荐阅读

深度学习笔记系列(一):导数,梯度与方向导数

Transformer详解《attention is all your need》论文笔记

BERT源码分析PART I

BERT源码分析PART II

BERT源码分析PART III

征稿启示| 让更多的NLPer看到你的文章

AINLP-DBC GPU 云服务器租用平台建立,价格足够便宜

我们建了一个免费的知识星球:AINLP芝麻街,欢迎来玩,期待一个高质量的NLP问答社区

关于AINLP


AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLP君微信(id:AINLP2),备注工作/研究方向+加群目的。



登录查看更多
0

相关内容

奇异值分解(Singular Value Decomposition)是线性代数中一种重要的矩阵分解,奇异值分解则是特征分解在任意矩阵上的推广。在信号处理、统计学等领域有重要应用。
【经典书】概率统计导论第五版,730页pdf
专知会员服务
235+阅读 · 2020年7月28日
最新《自动微分手册》77页pdf
专知会员服务
98+阅读 · 2020年6月6日
机器学习速查手册,135页pdf
专知会员服务
336+阅读 · 2020年3月15日
【新书】Python编程基础,669页pdf
专知会员服务
187+阅读 · 2019年10月10日
特征方程的物理意义
算法与数学之美
6+阅读 · 2019年5月13日
百面机器学习!算法工程师面试宝典!| 码书
程序人生
6+阅读 · 2019年3月2日
博客 | MIT—线性代数(下)
AI研习社
6+阅读 · 2018年12月20日
博客 | MIT—线性代数(上)
AI研习社
8+阅读 · 2018年12月18日
机器学习(29)之奇异值分解SVD原理与应用详解
机器学习算法与Python学习
3+阅读 · 2017年11月30日
机器学习(27)【降维】之主成分分析(PCA)详解
机器学习算法与Python学习
9+阅读 · 2017年11月22日
【直观详解】什么是PCA、SVD
机器学习研究会
4+阅读 · 2017年11月10日
BAT机器学习面试1000题系列(第46~50题)
七月在线实验室
7+阅读 · 2017年10月7日
Question Generation by Transformers
Arxiv
5+阅读 · 2019年9月14日
Arxiv
6+阅读 · 2019年7月11日
Learning Implicit Fields for Generative Shape Modeling
Arxiv
10+阅读 · 2018年12月6日
Deep Randomized Ensembles for Metric Learning
Arxiv
5+阅读 · 2018年9月4日
Arxiv
13+阅读 · 2017年12月5日
Arxiv
3+阅读 · 2017年7月6日
VIP会员
相关资讯
特征方程的物理意义
算法与数学之美
6+阅读 · 2019年5月13日
百面机器学习!算法工程师面试宝典!| 码书
程序人生
6+阅读 · 2019年3月2日
博客 | MIT—线性代数(下)
AI研习社
6+阅读 · 2018年12月20日
博客 | MIT—线性代数(上)
AI研习社
8+阅读 · 2018年12月18日
机器学习(29)之奇异值分解SVD原理与应用详解
机器学习算法与Python学习
3+阅读 · 2017年11月30日
机器学习(27)【降维】之主成分分析(PCA)详解
机器学习算法与Python学习
9+阅读 · 2017年11月22日
【直观详解】什么是PCA、SVD
机器学习研究会
4+阅读 · 2017年11月10日
BAT机器学习面试1000题系列(第46~50题)
七月在线实验室
7+阅读 · 2017年10月7日
Top
微信扫码咨询专知VIP会员