首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【总结】奇异值分解在缺失值填补中的应用都有哪些?

【总结】奇异值分解在缺失值填补中的应用都有哪些?

作者头像
CDA数据分析师
发布2018-02-26 14:20:55
1.9K0
发布2018-02-26 14:20:55
举报
文章被收录于专栏:CDA数据分析师CDA数据分析师

作者 Frank

本文为 CDA 数据分析师志愿者 Frank原创作品,转载需授权

奇异值分解算法在协同过滤中有着广泛的应用。协同过滤有这样一个假设,即过去某些用户的喜好相似,那么将来这些用户的喜好仍然相似。一个常见的协同过滤示例即为电影评分问题,用户对电影的评分构成的矩阵中通常会存在缺失值。

如果某个用户对某部电影没有评分,那么评分矩阵中该元素即为缺失值。预测该用户对某电影的评分等价于填补缺失值。一般来讲,某个用户对电影评分时,会考虑多个因素,比如电影时长,情节设置,剧情等等,不同用户对这些因素的打分一般也是不同的,某用户对某部电影的评分可以看作这些因素的加权组合。

电影相关的特征也很难获取全面,这些特征所依赖的数据很多,可能来自很多因素和源头,对这些特征进行清洗也需要耗费大量的精力。

介绍了这么多,下面引出本文的重点,即奇异值分解算法。奇异值分解算法假设矩阵可以分解成三个矩阵的乘积。其中第一个矩阵是一个方阵,并且是正交的,中间的矩阵通常不是方阵,它对角线上的元素都是由原矩阵的特征值构成的,第三个矩阵也是一个方阵,并且也是正交矩阵。

奇异值分解算法可以用于矩阵近似问题。如果分解时,中间的矩阵不取全部的特征值,而是只取前面若干个最大的特征值,这样就可以对原矩阵进行近似了,两个矩阵之间的近似度一般用 Frobenius 范数来衡量,即两个矩阵相应元素的平方差累加再开方。基于这种思想,奇异值分解可以用于预测用户对电影的评分。

如何将上述方法扩展到下述情形:即每一行是一个样本,每一列是一个特征,这种情形中,每个样本就相当于协同过滤中的某个用户,每个特征就相当于协同过滤中的某个商品,如此一来,上述情形就有可能扩展到样本的特征缺失情形中。

奇异值分解算法并不能直接用于填补缺失值,但是可以利用某种技巧,比如加权法,将奇异值分解法用于填补缺失值。这种加权法主要基于将原矩阵中的缺失值和非缺失值分离开来。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-03-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CDA数据分析师 微信公众号,前往查看

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

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档