- ACM 15
- 美国东北大学
abstract
协同过滤(CF)已广泛用于推荐系统中以解决许多现实问题。学习有效的潜在因子在协同过滤中起着最重要的作用。基于矩阵分解技术的传统CF方法从 user-item 评级中学习潜在因子,遭受冷启动问题以及稀疏性问题。一些改进的CF方法通过将边信息合并为正则化来丰富潜在因子的先验。然而,由于评级和边信息的稀疏性质,所学习的潜在因子可能不是非常有效。为了解决这个问题,我们通过深度学习学习有效的潜在表示。我们通过将矩阵分解与深度特征学习相结合,提出了CF的一般化的深度体系结构。我们通过将概率矩阵分解与边缘化去噪堆叠自动编码器相结合,提供我们架构的自然实例。
在本文中,我们提出了一种协同过滤的深度学习模型,它将基于矩阵分解的协同过滤与深度学习算法紧密结合,即边缘化去噪自动编码器(mDA)[16]。与 CDL 集成了协同主题回归和贝叶斯堆叠去噪自动编码器并且需要使用EM样式算法学习大量超参数不同,我们的方法使用基于mDA和随机梯度下降的更高效的架构,因此计算效率高,可扩展性高。
主要工作
- 我们提出了一种称为深度协同过滤(DCF)的通用深度体系结构,它集成了矩阵分解和深度特征学习。 它建模了CF中使用的潜在因子与深度模型中的潜在层之间的映射。
- 通过利用概率矩阵分解和mDA,我们提出了上述体系结构的实例化(即mDA-CF和mSDACF)。 mDA的可扩展性和低计算成本使其成为极具吸引力的深度学习工具。
- 我们评估了我们模型在三个真实世界应用,电影推荐,书籍推荐和响应预测方面的表现。 我们的模型优于传统的CF方法。
相关工作
Matrix Factorization for Collaborative Filtering
矩阵分解(MF)是最常用的衍生潜在因子模型的技术,它们在Netflix竞赛中的成功突出了它们的优势。例如,由用户的项目偏好组成的给定矩阵X∈RN×M可以被分解为两个低维矩阵U和V的乘积。分解可以通过各种方法进行,从基于SVD的方法[19]到相对较新的非负矩阵分解方法[20]。一种经典的MF方法是概率矩阵分解(PMF)。该方法背后的基本假设是潜在因子的先验概率分布和给定潜在因子的观察评级的概率遵循高斯分布。目前,已经开发了许多算法来增强PMF的性能,通过设计贝叶斯版本[21,22,23],或者结合辅助信息,例如社交关系[24,5,25]。虽然有希望,但矩阵分解方法存在冷启动问题,即当新用户/物品到达系统时要做出什么建议。在许多现实世界的应用中经常出现的另一个问题是数据稀疏性或降低的覆盖范围。 Porteous等人。提出了一种带有边信息和Dirichlet过程混合的贝叶斯矩阵分解(BMF)方法[26]。在[27]和[28]中也分别提出了变分BMF方法和利用边信息的分层BMF方法。胡等人。提出了一种跨域三元分解(CDTF)方法[29],它利用了来自其他领域的信息。提出上述方法用于解决推荐问题。最近,基于MF的协同过滤也应用于响应预测[30,31]。上述方法可以缓解冷启动和数据稀疏的问题,但是当辅助信息稀疏时可能仍然会受到影响。学习有效特征在矩阵分解中至关重要。最近,基于深度学习的方法已经成为学习表示的有力工具,并且广泛用于从计算机视觉到语音识别和机器翻译的许多应用中。在本文中,我们的目标是将基于深度学习的方法与矩阵分解相结合,进行协同过滤。在下一小节中,我们调查了基于深度学习的协同过滤方法的应用。
Deep Learning for Collaborative Filtering
深度学习模型在协同过滤任务中的应用是非常新的,并且在这方面没有太多尝试。 Salakhutdinov等。 [10]是第一个将深度学习应用于协同过滤任务的人。他们将受限制的Boltzmann机器修改为两层无向图形模型,由二元隐藏单元和softmax可见单元组成,用于协同过滤任务。他们设计了一种称为对比发散(CD)的有效学习程序,以最大化真实似然函数的近似值。他们还提出了条件RBM模型和推理程序。他们在Netflix数据集上测试了模型的性能以进行电影推荐,并表明他们的模型与基线方法相比表现良好。
特鲁伊恩等人。 [14]提出了用于协同过滤的序数Boltzmann机器。他们研究了用于处理评级的序数性质的参数化,并介绍了多个Boltzmann机器的集成,用于基于用户和基于项目的过程。
最近,一些深度学习模型从内容信息中学习潜在因素,如音频或文章的原始特征[32,33]。王等人。 [12]利用深度信念网(DBN)进行音乐推荐,在联合框架中统一了歌曲的特征提取和推荐。他们假设用户具有从高斯先验绘制的特征向量βu并且歌曲具有特征向量xv。他们使用深度信念网络自动学习歌曲的特征向量,这是一个具有隐藏节点和观察的生成概率图形模型。它有数百万个参数可以从训练数据中学习。作者使用Restricted Boltzmann机器的堆叠层以无监督的方式进行预训练,然后使用最大似然估计(MLE)进行监督学习。
Oord等人。 [13]使用卷积神经网络解决了音乐推荐问题。他们首先进行加权矩阵分解以处理隐式反馈并获得所有歌曲的潜在因素。之后,他们使用深度学习将音频内容映射到那些潜在因素。特别是,他们从音频信号中提取局部特征,并将它们聚合成一个词袋表示。最后,采用深度卷积网络将该特征表示映射到潜在因子。他们在Million歌曲数据集上测试了他们的算法,并表明他们的模型通过增加音频信号来改善推荐性能。所有前面提到的方法主要修改用于协同过滤任务的深度学习算法,并且不直接将矩阵分解与深度学习模型耦合。
最近,Wang等人。 [15]提出了一种称为协作深度学习(CDL)的分层贝叶斯模型,它紧密耦合堆叠去噪自动编码器(SDA)和协同主题回归(CTR)。这项工作与我们的工作最接近,但与我们的工作有很多重要方面不同,如下 - (i)CDL采用了贝叶斯SDA的表述。 CDL的生成过程包括用于CDL的绘制样本,使用EM样式算法来获得贝叶斯SDA的MAP估计,因此它必须学习大量参数。我们的模型采用更高效的架构,边缘化SDA(mSDA),以封闭形式计算参数,因此高效且可扩展。 (ii)CDL仅提取物品的深层特征,而我们的模型为物品和用户学习深层特征。
PRELIMINARIES
矩阵分解(MF)是最有效的协同过滤方法。 它允许我们通过将交互矩阵分解为用户和项目特征的联合潜在空间来发现用户项目交互的潜在因素。 它通过将由m个用户对n个项目的评级组成的原始评级矩阵R∈Rm×n分解为两个低秩矩阵U∈Rm×d和V∈Rn×d,分别由用户和项目特征组成的等级d进行分解。
Deep Collaborative Filtering (DCF)
在本节中,我们介绍了提出的深度协同过滤(DCF)框架,该框架将深度学习模型与基于MF的协同过滤相结合。 图1说明了我们的DCF框架的想法。 DCF是一种混合模型,它利用评级矩阵和辅助信息,并将矩阵分解和特征学习结合在一起。
给定user-item评级矩阵R,用户侧信息X和项目侧信息Y,DCF共同分解R并且通过评级和边信息(即,X和Y)来学习潜在因子(即,U,V)。
未完待续。。。