向量非零元素个数_深度学习笔记系列(二):特征值,特征向量与SVD奇异值分解...

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

向量

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

c9b0ee4cbea8106cd4de1d2a75437a99.png

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

特征值和特征向量

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

7163d0084ca8f9960d727e30c86acc4a.png

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

将上式变换一下可得:

1c64b5418a2f729b48be503aacc62850.png

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

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

ca323c320353caa62d8e92b8b3022eb2.png

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

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

b6121dfb5ad6b559fc1e6d6e5d291b52.png

SVD奇异值分解

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

25135935bedd59395ef4b7e9b3cd3526.png

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

SVD应用

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

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

当计算协方差矩阵时,我们需要计算3243825c387260bcaea1d1c15448322d.png(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),备注工作/研究方向+加群目的。

eb0cc25287256ee2c7f1add6c7b37ea9.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值