svd文章分类 c语言,【机器学习篇】--SVD从初始到应用

SVD一般应用场景--推荐系统,图像压缩。

1、直观感受。

SVD其实就是将矩阵分界,直观感受如图。就是将A矩阵分界成U,S,V三个矩阵相乘。一般推荐系统中用的多。S是对角阵,里面的特征值是从大到小排列的。

5f366206559109467665e5ace014f5fa.png

2、前述知识。

一个矩阵乘以一个向量结果还是一个向量,并且等于原始向量的

ab985255bd513ee1a2e91dc2edc183bf.png倍,相当于对原始向量进行一个某个方向上的拉伸。

943ffdb7ac0a171d2216b5b4dfba696a.png

3、矩阵压缩

759b007defaa839175d159749889a2a2.png

图1

a5ad3489043cd96eb26fc8192503fb17.png

图2

对图1,图2来说,假设m表示是样本个数,n表示特征个数,则抽取S特征中比较重要的特征值,(因为特征值是从大到小排列的,所以假如抽取前几个特征值作为保留的特征值),则S维度减少,变成r*r,则原始m*n矩阵分解成U ---m*r(比较瘦),S--r*r(方阵),V--r*n(比较长)三个矩阵相乘。

4、原理剖析

抓住主要变换方向,所以保留特征值比较大的方向。

458bdd2f18c7ae80a5c9b5ab0fd94458.png

77d92020fae4a5a7d930d13cbb20da21.png

5、实例讲解一

SVD可解释性比较差,需要去猜。

6acc7283e5a2e0b633ae4b19d6e841ce.png

2b2b9ed4501b310605923e81d37b6351.png

6、实例讲解二(推荐系统)

U :6*2(6代表是Item个数)

V:4*2(4代表是用户个数)

S:取前两个比较重要的值

ac65e299f2b2fc9caa22feceb25e7c07.png

be11c5e6966d7760c00ff0bacd1a2be0.png

ba61138a02bb9dc0d90afee8a8f39a57.png

映射到二维图中:找出最相似的用户。

0e78c1b54a4ec92166ddf4c08052a4cf.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值