Matrix and Tensor Decomposition in Recommender Systems 阅读笔记(翻译)

Matrix and Tensor Decomposition in RecommenderSystems
阅读笔记(翻译)

2.MATRIX DECOMPOSITION

       矩阵分解(matrix factorization)是将一个矩阵分解为多个矩阵相乘结果的过程,它对发掘参与实体(participating entities, 如用户和商品)的数据中的潜在关系有着重要意义。在简化形式中,矩阵分解方法仅用两个矩阵,这两个矩阵各自包含了用户特征因素(user-feature factor)间的相关性(correlation)与商品特征因素(item-featurefactor)间的相关性。

       为预测一个用户对一部电影的评分(rating),我们可以计算电影和用户在图上的坐标[x, y]间的点积(dot product)。

       下面介绍基本矩阵分解方法。第一种方法为特征值分解(Eigenvalue Decomposition)。这种方法将原矩阵分解为矩阵的标准型(canonical form)。第二种方法为非负矩阵分解(Non-Negative MatrixFactorization, NMF)。这种方法将原矩阵分解为两个较小的矩阵,且每个小矩阵的每个元素都非负。第三种方法为概率矩阵分解(Probabilistic MatrixFactorization, PMF)。这种方法适用于大型数据集。PMF方法在用了球形高斯先验(spherical Gaussian priors)的高度稀疏(very sparse)和不均衡(imbalanced)数据集上表现较好。第四种方法为概率潜在语义分析(Probabilistic Latent Semantic Analysis, PLSA)。源于潜在类别模型(latentclass model)的混合分解(mixture decomposition)是该方法的基础。最后一种方法为CUR Decomposition。这种方法confronts the problemof density in the factorized matrices(a problem that is faced on SVD method)。我们还会详细描述SVD和UV分解。我们将用目标函数(objectivefunction)衡量预测值与用户真实评分之间的误差,并将其的最小化。另外,目标函数还被加入了友情的约束来平衡推荐的质量(additional constraint offriendship is added in the objective function to leverage the quality ofrecommendations)。

        最后,我们对比了SVD和UV分解算法,对结合了SVD的CF算法的表现进行了研究。



3.TENSORDECOMPOSITION

        由于在许多情况下,数据为三元关系(ternary relation)(如SocialTagging Systems(STSs), Location-based social network(LBSNs)),许多一开始被设计成针对矩阵的推荐算法无法应用。高阶问题成为新的挑战。比如,STSs的三元关系可以被表示为三阶张量

其中,


        张量分解技术可被应用于发掘张量A中的潜在语义结构。基本的思想是将推荐问题转化成一个三阶张量完整化问题(third-order tensor completion problem)(通过预测A中为被观测到的实体)。

        张量分解的第一种方法是Tucker 分解(TD)。这种方法是HOSVD的潜在张量分解模型(underlyingtensor factorization model)。TD将张量分解为一个矩阵集和一个小的core tensor。第二种方法为PARAFAC方法(PARAllelFACtor analysis),它和TD一样存在约束要求core tensor为对角的(diagonal)。第三种方法是PITF方法(PairwiseInteraction Tensor Factorization),它是TD的特例,在学习和预测上运行时间均为线性。第四种方法为低阶张量分解(Low-order Tensor Decomposition, LOTD)。

        本文主要介绍的分解方法是高阶SVD(High OderSVD, HOSVD),它是SVD的延伸。特别的,我们会用一个小例子一步步来说明HOSVD的实现。然后,我们会说明当一个新的用户在我们的推荐系统注册时该如何更新HOSVD。我们还会讨论HOSVD如何与其他平衡推荐质量的方法相结合。最后,我们会提供在STSs的张量分解在真实数据集上的实验结果。我们还会讨论会用到的metric。我们的目标是说明影响算法效率的主要因素。




原文链接:http://dl.acm.org/citation.cfm?id=2959195

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Focused on the mathematical foundations of social media analysis, Graph-Based Social Media Analysis provides a comprehensive introduction to the use of graph analysis in the study of social and digital media. It addresses an important scientific and technological challenge, namely the confluence of graph analysis and network theory with linear algebra, digital media, machine learning, big data analysis, and signal processing. Supplying an overview of graph-based social media analysis, the book provides readers with a clear understanding of social media structure. It uses graph theory, particularly the algebraic description and analysis of graphs, in social media studies. The book emphasizes the big data aspects of social and digital media. It presents various approaches to storing vast amounts of data online and retrieving that data in real-time. It demystifies complex social media phenomena, such as information diffusion, marketing and recommendation systems in social media, and evolving systems. It also covers emerging trends, such as big data analysis and social media evolution. Describing how to conduct proper analysis of the social and digital media markets, the book provides insights into processing, storing, and visualizing big social media data and social graphs. It includes coverage of graphs in social and digital media, graph and hyper-graph fundamentals, mathematical foundations coming from linear algebra, algebraic graph analysis, graph clustering, community detection, graph matching, web search based on ranking, label propagation and diffusion in social media, graph-based pattern recognition and machine learning, graph-based pattern classification and dimensionality reduction, and much more. This book is an ideal reference for scientists and engineers working in social media and digital media production and distribution. It is also suitable for use as a textbook in undergraduate or graduate courses on digital media, social media, or social networks.
Tensor Train (TT) 分解是一种高效的张量分解方法,可以用于压缩和近似大规模张量。在MATLAB中,可以使用Tensor Toolbox来实现Tensor Train分解。 首先,需要安装和导入Tensor Toolbox。可以在MATLAB官方网站上找到Tensor Toolbox的安装和导入方法。 Tensor Toolbox提供了用于处理张量的函数,包括进行张量乘法、转置和分解的函数。Tensor Train分解是由tt_tensor类表示的,可以使用Tensor Toolbox提供的函数创建和操作这种类型的张量。 要实现Tensor Train分解,可以按照以下步骤进行: 1. 创建一个tt_tensor对象,该对象表示原始张量。 例如,可以使用tt_tensor类的构造函数创建一个3阶张量: T = tt_tensor(rand([2, 3, 4])); 这将创建一个大小为2x3x4的张量,并将其转换为TT形式。 2. 使用Tensor Toolbox提供的函数来对TT张量进行各种操作,例如转置、乘法等。 例如,可以使用tt_transpose函数对张量进行转置: T_transposed = tt_transpose(T); 3. 使用Tensor Toolbox提供的函数进行Tensor Train分解。 Tensor Toolbox提供了几种不同的张量分解算法,例如HOSVD和TT-SVD。 例如,可以使用tt_tensor函数将原始张量分解为TT形式: T_tt = tt_tensor(T, 'ranks', [1, 2, 3]); 这将返回一个具有指定秩的Tensor Train分解。 4. 可以使用Tensor Toolbox提供的函数对分解的TT张量进行操作,例如逐个元素的访问、转换为其他格式等。 例如,可以使用tt_matrix函数将TT张量转换为矩阵形式: T_matrix = tt_matrix(T_tt); 这是一个简单的示例,说明如何使用MATLAB和Tensor Toolbox实现Tensor Train分解。实际上,Tensor Train分解可能需要更多的步骤和方法,在处理大规模张量时可能会涉及更多的复杂性。这取决于具体的应用和需求,可以使用Tensor Toolbox提供的各种函数和工具来实现特定的操作和算法

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值