首页 理论教育 协同过滤推荐技术简介

协同过滤推荐技术简介

时间:2023-10-31 理论教育 版权反馈
【摘要】:基于降维的协同过滤推荐算法将奇异值分解应用到协同过滤推荐算法中,它首先将用户评分数据矩阵R中评分值为0的稀疏项用相关列的平均值代替,即项目的平均评分值,然后将矩阵每行规范化为相同长度。图4-4描述了基于奇异值分解的信息协同过滤算法。

协同过滤推荐技术简介

虽然协同过滤技术在推荐系统中获得了成功,但是随着信息系统规模的扩大,用户数目和项目数目呈指数级增长,用户评分矩阵User×Item会出现三种情况:①极端稀疏,这将导致无法搜索到某些用户的最近邻居,将无法对这些用户产生有效推荐;②最近邻居的搜索将花费更多的计算机资源,更加难以保证实时性;③无法发现商品之间存在的隐含关联。

基于降维的协同过滤推荐算法奇异值分解(SVD)应用到协同过滤推荐算法中,减少项目空间的维数,用奇异值分解算法分解后得到的低维正交矩阵的噪音要比原始矩阵低,同时使得用户在降维后的项空间上对每一个项均有评分,并且可以更有效地揭示用户和商品之间潜在的关联。

奇异值分解(Singular Value Decomposition,SVD)技术在信息检索领域得到了广泛应用。它是一种矩阵分解技术,它可将一个m×n阶矩阵R分解为3个矩阵U、 S和V,大小分别为m×r,r×r,r×n。即R=USV′,S=diag(δ1,δ2,…,δr),其中δ1≥δ2,…,≥δr≥0,U和V分别是m×r和n×r的正交矩阵(UU′=I,VV′=I),r是矩阵R的秩[r≤min(m,n)]。S是一个r×r对角矩阵,所有的δr均大于0并按照大小顺序排列,称为奇异值(Singular Value)。通常对于矩阵R=USV′,U、S、V′必须是满秩的,但奇异值分解有一个优点,它允许存在一个简化的近似矩阵,对于S,保留k个最大的奇异值,其余的用0来替代。这样,就可以将S简化为仅仅有k个奇异值的矩阵(k<r)。删除S中值为0的行和列,得到一个新的对角矩阵Sk,如果矩阵U和V也可以简化为Uk和Vk,那么有重构矩阵Rk=Uk Sk V′k,Rk≈R。奇异值分解能够生成初始矩阵R的所有秩等于k的矩阵中与R最相似的一个。

基于降维的协同过滤推荐算法将奇异值分解应用到协同过滤推荐算法中,它首先将用户评分数据矩阵R中评分值为0的稀疏项用相关列的平均值代替,即项目的平均评分值,然后将矩阵每行规范化为相同长度。进行规范化的目的是因为选择不同已评分项目数量的用户对相似度计算结果的影响不同,容易造成偏差,规范化为相同长度后,选择项目数较多的用户对相似度计算结果的影响降低了。经过这样的处理,可以得到输入矩阵R′,在用奇异值分解技术得到输出矩阵Uk和Vk,Uk× 是m×k的矩阵,它描述的是用户在k维空间中的关系,可以理解为用户矩阵。矩阵 大小为n×k,可以理解为相应的项矩阵,最后再用这两个简化矩阵来产生推荐结果。目标用户对项目i的预测评分计算方法为:

(www.xing528.com)

其中,是目标用户u对所有候选项目的平均评分值,U、S和V是奇异值分解方法对用户评分矩阵R的度量,Uk、Sk和Vk是U、S和V在k维度上的奇异值分解近似值。图4-4描述了基于奇异值分解的信息协同过滤算法。

图4-4 基于奇异值分解的信息协同过滤算法

信息协同过滤推荐系统中奇异值分解方法的优势体现在:可以将文档资源在高维向量空间模型中的表示,投影到低维的潜在语义空间中,运算复杂度大大降低,系统的扩展性得到提升;用户间和项目间的潜在关系得到更好的发掘,有利于提高推荐的精度,另外通过实验结果也表明该方法可以有效解决同义词(Synonymy)问题,显著提高推荐系统的伸缩能力。但是,奇异值分解方法也存在着缺陷:降维方法会导致“用户—项目”矩阵中的信息损失;同时,基于降维的推荐效果与数据集密切相关,在项目空间维数很高的情况下,降维的效果难以保证,从而使得基于降维的推荐在实际应用中受到一定的限制。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈