赞
踩
算法介绍
SVD算法是一种奇异值分解算法,用于提取出一个矩阵最重要的特征,同时奇异值分解是一个能适用于任意的矩阵的一种分解的方法。SVD又称奇异值分解,是线性代数中一种矩阵分解的技术,它能够将任意一个m*n的矩阵A分解成为U、S、V,U是m*m的正交矩阵,V是n*n的正交矩阵,S是m*n的矩阵,且A=U*S*V。通过SVD方式将矩阵A分解后,如果只保留前k个最大的奇异值,就实现了对矩阵降维的目的。SVD的分解方法如下图所示:
下面的三个矩阵相乘的结果将会是一个接近于M矩阵,在这儿,r越接近于n,则相乘的结果越接近于M。而这三个矩阵的面积之和(在存储观点来说,矩阵面积越小,存储量就越小)要远远小于原始的矩阵M,我们如果想要压缩空间来表示原矩阵M,我们存下这里的三个矩阵:U、Σ、V就好了。
将SVD算法应用于推荐系统中,数据集中行代表用户user,列代表物品item,其中的值代表用户对物品的打分。整体思路为,先找到用户没有评分的物品,然后再经过SVD“压缩”后的低维空间中,计算未评分物品与其他物品的相似性,得到一个预测打分,再对这些物
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。