机器学习基础(六十三)—— 奇异值分解(SVD)

0. 实际意义

一个 m×n 的 word-doc 矩阵,经 SVD 奇异值分解之后,得到 (m×k)×(k×n) 的两个子矩阵的乘积,这里的维度信息 k ,表示的正是从全部 word 中提炼出来的 topic,提取在某种程度上含义近似于压缩,自然这里提炼出来的 topic 也是去除近义词后的结果。这也正是 LSA(latent semantic analysis)(隐语义/潜藏语义/潜在语义分析)所做的工作。

1. 基本理论

矩阵的奇异值分解首先适用于矩阵非方阵的情形。

Cm×n Um×m ,其中 U 的列为 CCT正交特征向量 Vn×n V 的列为 CTC正交特征向量,再假设 r C 的秩,则存在奇异值分解:

C=UΛVT

其中 CCT CTC 的特征值相同,为 λ1,λ2,,λr

Λ m×n ,其中 Λii=λi ,其余位置为0, Λii 的值按大小降序排列

U 的每一列,V 的每一列,均与 Λii 具有某种对应关系,对某些列适当地保留和舍去,可用于近似处理。当我们进行一阶近似(first-order approximation)时,可以仅保留 U 的第一列,Λ 的第一个对角线元素(也即 Λ11 ) 以及 V 的第一列;

SVD 分解两端同时右乘 CT,得:

CCT=UΛ2UT

恰为对称矩阵的分解。

奇异值分解的图形表示如下:


这里写图片描述

从图中可以看到 Σ <script type="math/tex" id="MathJax-Element-30">Σ</script>虽然为M x N矩阵(M>N),但从第N+1行到M行全为零,因此可以表示成 N x N 矩阵,又由于右式为矩阵相乘,因此 U 可以表示为 M x N 矩阵,VT 可以表示为 N x N 矩阵。

2. 在推荐系统中的应用

比如用户对电影的评价矩阵,可以采用 SVD 的方式,其基于这样一个假设:

  • SVD is based on the assumptions that the ratings are distributed on a linear hyperplane.

References

[1] SVD奇异值分解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五道口纳什

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值