【论文阅读】A social recommender system using item asymmetric correlation

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a19990412/article/details/88809118

Abstract

推荐系统在近几年极大突出的信息筛选技术之一,然而,有两个主要的问题:

  • 数据稀疏:数据太稀疏了,没办法操作
  • 冷开始:一开始数据不多(或者),推荐效果不好或无法进行

有一类系统,叫做社会推荐系统被提出,可以有效地解决数据稀疏度和冷开始的问题。
给定一个社会关系并不是在每一个推荐系统都是可行的,这个隐含的在物品之间的关系算的上是一个代替限制的一个比较好的选择。

在这篇paper中,作者发现了将隐含的物品之间的关系矩阵和用户-物品矩阵结合起来,在提高推荐系统的精度上的比较好的效果。

  • IAC(Item Asysmmetric Correlation)方法,通过考虑一个非对称的关系矩阵,检测在每对物品之间的隐含的关系。
  • 两个数据集类型,IAC的输出和用户-物品矩阵,被融入在协同过滤之中(通过Matrix Factorization MF技术)。

这个技术在处理稀疏矩阵上表现不错。

Introduction

社会信息逐渐变多,让用户越来越难寻找到想要的东西,所以需要有推荐系统来提高用户的满意度并留住客户。

推荐系统遇到了很多问题。随着用户数量的增加和越来越多的商品种类,使得存在有很多问题,例如:

  • 数据稀疏
  • 冷开始
    • Cold start is the inability of the system to deal with new users or new items due to the lack of prior knowledge.
    • 其实new-item的冷开始还好解决,毕竟商家都想卖出自己的商品,所以这个profile应该是很好建立的。主要是用户侧的冷开始问题,其实用户一般不是很愿意添麻烦在买商品前去填写个人的profile。

Therefore, addresssing these issues is crucial for any recommender system to make accurate recommendations.

Introduction to matrix factorization

Matrix factorization 是一个线性代数方式,通过因子去分解矩阵,使得变成一个更低维度的矩阵。
R n m R_{n*m} 是用户产品矩阵。中间再添加一个新的维度。使得

R n m = P f n T Q f m R_{n*m} = P^{T}_{f*n} * Q _{f*m}

其中, f f m i n ( n , m ) min(n,m) 要小。

这个分解其实很容易理解。

  • 就是说,每个人喜欢了这些东西,在本质上映射到一个空间上,其实就是喜欢某些特征,这里假设为f。
  • 然后,这里我们就直接量化每个人对于这些特征的喜好程度
  • 同时,我们考量每个物品在这些特征上具有的分布情况,即可完成。

The p u P p_u \in P measures the extent of user’s interest in items that are high on the corresponding factors.

问题是这个分解emmm

一般来说,我们完成这个分解,会需要考虑这样的一个目标函数

min l ( R , P , Q ) = u = 1 n i = 1 m ( r u i p u T q i ) 2 + λ ( p u F 2 + q i F 2 ) \min{l(R,P,Q)} = \sum_{u=1}^{n}{\sum_{i=1}^{m}{(r_{ui}-p^T_uq_i)^2+\lambda(||p_u||^2_F+||q_i||^2_F)}}

The Frobenius norm, sometimes also called the Euclidean norm (a term unfortunately also used for the vector L^2-norm), is matrix norm of an m×n matrix A defined as the square root of the sum of the absolute squares of its elements1

其中这个矩阵范数,用的是Frobenius norm

A F = u = 1 n i = 1 m ( A i j ) 2 ||A||_F = \sqrt{\sum_{u=1}^{n}{\sum_{i=1}^{m}{(A_{ij})^2}}}

有两个经典办法可以算出这个P和Q

  • SGD
  • ALS

SGD

在这里插入图片描述

ALS

在这里插入图片描述

  • 很明显,这个r在两个不同的等式上对应的维度不一样。
    • 第一个 对应用户
    • 第二个 对应商品

明显SGD只需要 O ( f ) O(f) 的计算,ALS需要有 O ( f 3 ) O(f^3) ,但是SGD需要有更多的周期,才能达到ALS类似的效果。

The devised approach

  • U 用户集合
  • I 商品集合
  • R: U-I matrix。0或者正

Item asymmetric correlation IAC

在这里插入图片描述

  • 很明显,前半部分,就是CosSim(余弦相似度),后面乘的部分是对这个观测的长度的的考量。而这个部分,前一部分是非对称的结构,后一部分任然属于对称的结构。
  • 后一部分的 对称结构的 部分,可以用于比较不同item组之间的相似度问题。

这里的IAC会构建矩阵 S S

这样,就需要解决这个目标函数就好了。

在这里插入图片描述

之后的结果跟传统的是一样的。

只需要在之后得到两个向量之后,做一个乘积就知道了结果了。


  1. http://mathworld.wolfram.com/FrobeniusNorm.html ↩︎

猜你喜欢

转载自blog.csdn.net/a19990412/article/details/88809118