前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >奇异值分解 SVD

奇异值分解 SVD

作者头像
yangzelong
修改2019-03-26 17:22:46
5580
修改2019-03-26 17:22:46
举报
文章被收录于专栏:YzlWHU

奇异值分解(Singular Value Decomposition,SVD)可以用于降维算法中特征分解,还可以用于推荐系统以及自然语言处理等领域。

特征值和特征向量

如下面公式所示,如果A是一个n*n的方阵,x是一个n维向量,则我们称 λ 是矩阵 A 的一个特征值,而x是特征值 λ 对应的特征向量

特征值和特征向量
特征值和特征向量

因而,可以利用特征值和特征向量对矩阵进行特征分解。如果我们求出了矩阵A的n个特征值 λ1 ~ λn,以及这n个特征值对应的特征向量{w1,..., wn},如果n个特征向量线性无关,那么矩阵A可以表示为:

其中,W是n个特征向量组成的n*n维矩阵,而∑为这n个特征值为主对角线的n*n维矩阵。一般会把W的n个特征向量标准化,此时W的n个特征向量为标准正交基,也就是说W为酉矩阵。这样上面的公式可以表示为:

  • 特征值矩阵特征值按照从大到小排列,很多情况下,前10%甚至1%的特征值就占了全部特征值之和的90%以上的比例,因而可以利用最大的k个特征值和对应的特征向量来近似的描述矩阵A。因此可以用于:
    • PCA降维
    • 数据压缩和降噪
    • 推荐算法,将用户喜好和对应的矩阵做特征值分解,进而得到隐含的用户需求来推荐
    • 用于NLP算法,如潜在语义索引LSI

进行特征值分解时,矩阵A必须为方阵,如果A不是方阵,即行列数不同,我们可以借助SVD来操作

SVD

SVD也是对矩阵进行分解,但其不要求被分解的矩阵必须为方阵,假设A是一个m*n的矩阵,那么其SVD分解形式为

其中,U是一个m*m的矩阵,∑是一个m*n的矩阵,除了主对角线上的元素,其它元素全为0,主对角线上的每个元素都称为奇异值,V是一个n*n的矩阵。U和V都是酉矩阵。其图形表示如下图。具体的计算过程参见https://www.cnblogs.com/pinard/p/6251584.html

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档