摘要: Kirell Benzi, Vassilis Kalofolias, Xavier Bresson and Pierre Vandergheynst Signal Processing Laboratory 2 (LTS2), Swiss Federal Institute of Technology (EPFL) 代码参见https://github.git
Kirell Benzi,github
Vassilis Kalofolias,算法
Xavier Bresson and Pierre Vandergheynst数据库
Signal Processing Laboratory 2 (LTS2),模块化
Swiss Federal Institute of Technology (EPFL)函数
代码参见:https://github.com/hxsylzpf/recog学习
摘 要测试
本文正式地形式化一个全新的的歌曲推荐算法,其将歌曲推荐的问题转化为矩阵补全的问题来考虑,并经过基于非负矩阵分解(non-negative matrix factorization, NMF)的协同过滤算法以及图上的结合图的全变分(total variation, TV)的基于内容的过滤方法相结合来解决这个问题。相关的图经过使用音频、元数据以及社交特征等丰富的信息的结合,对歌单的邻接信息以及歌曲的类似度信息进行编码。咱们证实,咱们提出的这个融合了几种知名的方法的混合推荐系统,有着广阔的应用前景,并在效果上超过融合的相关算法。经过在真实数据上进行的实验,咱们证明了咱们的模型能仅仅根据低秩矩阵的信息或者基于图的信息以及二者的结合进行歌曲的推荐。优化
关键字:推荐系统,图,非负矩阵分解,全变分,音频特征编码
一 引言
在 Netflix上推荐电影,在Facebook上推荐好友,或者在LinkedIn上推荐工做等任务在过去几年中吸引了愈来愈多的关注。大部分Netflix奖的得到者喜好用的著名的低秩矩阵分解算法须要明确的用户评级做为输入。一些其余类似的方法则经过用户对物品的操做来反映用户对物品的偏好,以至力于解决用户的不明确的反馈问题。具体到歌曲和歌单推荐问题,也已经有了各类不一样的方法,其中既有单纯的基于内容的方法,也有各类混合的模型。最近,图的正则化被提出,用来提升矩阵补全算法的效果。
本文的主要贡献在如下几个方面:
l 设计并实现了一个数学上的融合协同过滤以及内容过滤的声音混合系统;
l 介绍了一个新的图正则化项(TV),在推荐系统的背景下,其效果要优于普遍应用的 Tikhonov 正则化;
l 一个良好定义的基于近端分裂方法的迭代优化模式。
大量的实验证实咱们提出的推荐系统具备很好的表现。
二 本文的歌曲推荐算法
1. 歌曲推荐算法
假设咱们有n个歌单,每一个列表都包含m首歌中的其中一部分。咱们定义矩阵C∈{0,1}n×m,矩阵中的元素 Cij 为 1 则表示歌单 i 中包含歌曲 j,不然为 0。咱们再定义一个权重矩阵Ω∈{0,1}n×m,当输入的 Cij 可能为 1 时,Ωij=1,不然等于一个很小的值 ε(咱们使用的 ε=0.1)。这里应用了不明确反馈问题的思路。在矩阵 C 中一个元素为 0 不表明这首歌与这个歌单无关,而是更可能不相关。
训练阶段的目标是找到一个近似的低秩表示,使AB ≈ C,其中A ∈ R+n×r,B ∈R+r×m都是非负的,且 r 很小。这个问题被称为非负矩阵分解(NMF),并引发了普遍的关注。相比其余的矩阵分解方法,NMF 因为只使用了加性因子,可以学习到物体(本文中即为歌单)的各个部分。NMF 的方法的缺点是其为 NP-hard。因此对于找到一个局部最小点来讲正则化使很重要的。在咱们的问题中,咱们使用歌曲和歌单的图来肯定因子 A 和 B。咱们模型的公式计算以下:
(1)
其中(∘)表明点级别的乘法运算符,θA, θB∈R+。咱们使用一个加权 KL 散度做为 C 和 AB 之间距离的衡量,有研究代表对于不一样的 NMF 设置,这比Frobenius 范式更为准确。公式中的第二项是歌单图中 A 的行的全变分,因此对其进行惩罚就提高了分段恒定信号。公式中的第三项与第二项相似,是 B 的列的全变分。最终咱们提出的模型利用了参考文献[9, 16],并利用 TV 半范式将其扩展到图。
1.1 利用全变分进行图的正则化
在咱们基于 NMF 的推荐系统中,每一个歌单 i 都被矩阵 A 中的第 i 行 Ai 投影到一个低维空间。为了学习到歌单 Ai 的低秩的表示,咱们经过歌单的低秩表示,定义歌单之间成对的类似度ωAii’。咱们能够从 TV 正则化项的定义中推导出,
‖A‖TVA= ∑i∑i’~ iωAii’‖Ai-Ai’‖1因此当两个歌单 i 和 i'是类似的,那么它们在图中则是连通的,且链接这两个歌单的边的权值ωAii’很大(这里ωAii’≈ 1)。另外,相应的低维向量表示(Ai,Ai’)间的距离过大就会被惩罚,这使得在低维空间中,(Ai,Ai’)的距离会保持较近。同理,每首歌 j 都由矩阵 B 中的一列 Bj 表示到一个低维空间。若是两首歌(j,j’)很接近(ωBii’′≈ 1),那么(Bj,Bj’)以及图的正则化‖B‖则遵循上述的规律。
参考文献[10]的思路与本文类似,经过 Tikhonov 正则化将图的信息引入到模型中,例如经过 Dirichlet 能量项1/2∑i∑i’~ iωAii’‖Ai-Ai’‖22。然而这种方法促进了A 的列之间平滑的变化,而本文的方法图的 TV 项的惩罚则促进了在列 Ai 和 Ai’间具备潜在的突变边缘的分段恒定信号。这对于须要寻找多个类别的任务是有益的,例如聚类,或者本文中的推荐系统所涉及的类似歌单属于不一样的目录的状况。
咱们在第 4 部分会详细分析,歌曲和歌单的图的使用能够显著的提高推荐效果,且 TV 项的表现要比 Tikhonov 正则化更好。
1.2 原始-对偶优化
对于矩阵 A 和 B 来讲,优化问题是全局非凸,可是各自凸的。一个经常使用的方法是固定 A 去优化 B,而后再固定 B 去优化 A,反复直到收敛。咱们这里以固定 A 而优化 B 为例来描述上述优化方法。相同的方法能够在固定 B 时应用于A。咱们将上述问题从新写为以下形式:
F(AB) + G(KBB) (2)
其中
F(AB)=KL(Ω∘(C‖AB)) =(âΩijCij(log)+Ωij(AB)ij (3)
(4)
其中KB∈Rne×m是图的梯度算子,ne 是图 B 中的边的条数。使用函数 F 和G 的共轭函数 F*和 G*,则等价于鞍点问题:
(5)
其中Y1 ∈ Rn×m,Y2 ∈ Rne×r。咱们定义最近项和时间间隔 σ1,σ2,τ1,τ2:
(6)
迭代的方式是,当 k≥0 时:
Y1K+1 = proxσ1F∗(Y1K+ σ1ABK) (7)
Y2K+1 = proxσ2G∗(Y2K+ σ2KBBK) (8)
BK+1=(BK-τ1ATY1K+1-(KTBY2K+1)T)+ (9)
其中 prox 是最近算子,(∙)+ = max(∙, 0)。在咱们的问题中,咱们选择了标准Arrow-Hurwicz 时间间隔σ1 =τ1 = 1⁄‖A‖,σ2 =τ2 = 1⁄‖K‖,其中‖∙‖是算子范数。
则最近解为:
(10)
其中 shrink 即为软缩减算子。注意到,一样的算法也能够应用于 Tikhonov正则化,例如,经过将上面的第一个式子改成proxσ2G*(Y)=Yï¼å°±å¯ä»¥å°âKBBâ1æ¿æ¢ä¸ºG(KB B) = ‖KBB‖22。在式(10)中的正则化使用的是 KL 散度的一个对称变形,可是与咱们使用的这种方法不一样的是,Tikhonov 正则化不存在解析解。因此其目标函数并不像咱们的同样知足一个有效的原始-对偶优化方法。咱们保留这种非对称的 KL 模型,并称其为 GNMF,来将 TV 与
Tikhonov 正则化进行比较。
1.3 推荐歌曲
咱们经过式(1)学到矩阵 A 和 B 以后,咱们但愿已知一些歌曲 cin 时(如图 1-1),可以推荐新的歌单 crec。咱们也但愿能实现实时的推荐,因而咱们定义一个快速推荐方法
给定一些歌曲 cin,咱们先经过解决一个正则最小平方问题来在歌单的低秩空间学习一个好的表示:ain=arg min a∈R1×r||Ωin。(cin-aB)||22+ε||a||22。其解析解ain=(BTΩinB+εI)-1(BTΩincin)当 r 很小时较容易计算(咱们令ε = 0.01)。
与给定的歌单有类似表示的歌单也对于咱们推荐歌单有益。因此在低维空间中,咱们用加权和arec=Σni=1ωiAi/Σni=1ωi来表示被推荐的歌单。这里权重ωi=e-||ain-Ai||22/σ2, 取 决 于 与 其 他 歌 单 的 表 示 的 距 离ain, 且 σ =mean({||ain-Ai||2}ni=1)/4。最终推荐歌单的低秩表示为:
crec=arecB (11)
这里crec并非二元的,而是一个连续的值,表示歌的排名。
2.歌曲和歌单的图
2.1 歌单的图
歌单的图中包含了歌单间成对的类似度信息。图的节点为歌单,边的权重表示了两个歌单之间的距离,当权重很大时(ωAii’ ≈ 1),表示两个歌单具备很高的类似度。在咱们的模型中,歌单图中边的权重的计算不只与外部信息例如元数据有关,还与内部信息有关,例如歌单中的歌曲信息。咱们使用预约义好的 Art of the Mix 歌单分类来标注用户的歌单。则歌单的图中边的权重的计算定义为
ωAii’=Υ1δcat{i}=cat{i’}+Υ2simcos(Ci,Ci’)
其中 cat 表示歌单的标签,Ci是矩阵 C 的第 i 行simcos(p,q)=
pTq/||p||.||q||是两个歌单的歌曲向量之间的余弦类似度距离。余弦类似度为两首歌类似的比例比上两个歌单长度乘积的均方根。两个正的参数Υ1和Υ2知足Υ1 + Υ2 = 1,用于决定歌单标签的类似度和歌单元素级别的类似度之间的相对重要程度。为了控制每一个分类的边缘几率密度并让咱们的模型更灵活,咱们在同一个分类的节点之间保留 20%的边的一个子集。在实验中咱们发现,令Υ2 = 0.3能得到较好的效果。 歌单图的效果经过使用标准 Louvain 方法对图进行分割进行衡量。分块的数目由在模块最大的地方切开造成的模块化系数的树图自动给出。第 4 节使用的图的模块化系数在使用只余弦类似度(Υ2 = 0)时为 0.63。若是咱们加入元数据的信息,将每一个分类下全部歌单对中的 20%进行链接,并令Υ2 = 0.3,则模块化系数增加到 0.82。
2.2 歌曲的图
咱们模型中使用的第二个图是歌曲的类似度图。歌曲的图由从音频信号中抽取的 Echonest 特征与元数据信息结合以及音轨的社会信息混合组成。
为了提升咱们的音频特征的质量,咱们使用从 LastFm 相关标签中抽取的歌曲类型训练了一个大间隔最近邻模型(Large Margin Nearest Neighbors,LMNN)。为了抽取到真实的音乐类型,咱们使用了这些标签通过其流行度(根据 LastFm)加权的 Levenshtein 距离以及 ID3 标签中定义的音乐类型。 最终,咱们用 k 近邻(k=5)来构建歌曲的图,其中,对于 j 的 k 个最近邻中的一首歌 j’,两首歌 j 和 j’之间的边的权重ωBjj’=exp(-||xj-xj’||1/σ),参数σ是尺度参数,表示 k 个邻居之间距离的平均值。获得的图的模块化系数很高(0.64),使用 k-NN 进行非监督的准确率为 65%左右。
3. 实验结果
在这部分,咱们经过在一个真实数据集上进行实验,将咱们的模型与其余 3个不一样的推荐系统进行比较。咱们的测试数据集是从由 McFee 等构建 的 Art of the Mix 语料库中抽取的。咱们以前就是在这个数据库中抽取了上述的特征。 评价一个音乐推荐系统是一个众所周知的难题。在本文中,咱们使用一个经典的评价使用间接反馈的推荐系统的模型的方法,Mean percentage Ranking(MPR)以及歌单分类准确度,即在查询的分类中,过去已经出现过的歌单中的歌曲的百分比。
3.1 模型
咱们先将咱们的模型与一个只基于图的方法(咱们称为 Cosine only)进行比较。对于给定输入,这个模型使用余弦类似度计算 t 个最接近的歌单(这里 t=50),经过将歌单中的全部歌曲用余弦类似度进行加权从而计算出一个柱状图进行推荐,如式(11)所示。第二个模型是使用了 KL 散度的 NMF,咱们成为 NMF。最后一个模型 GNMF 是基于使用了 Tikhonov 正则化的 KL 散度,并应用了咱们模型中的图。
3.2 查询
咱们用 3 种不一样的查询来测试咱们的模型。在全部 3 种查询中,一个查询ctest包含 s=3 首歌做为输入,系统以一个歌单的形式返回最相近的 k=30 首歌做为输出。第一种查询为随机查询,从全部类别的歌中随机选择歌曲,其结果仅做为比较的基准。第二种测试查询,在测试集中的一个歌单中随机选择 3 首歌。第三种采样查询,在一个类别下随机选择 3 首歌。这种查询模拟了用户经过歌曲类别查询歌单的推荐系统。
3.3 训练
咱们使用从全部歌单中随机选择出 70%的子集做为训练集,因为咱们的模型不是联合凸的,初始化可能会对系统的表现产生影响,因此咱们使用如今经常使用的 NNDSVD 技术来获得一个好的近似解。在咱们的全部实验中,r=15 的结果很好,这意味着每行都有 5-20 个非零元素。最好的参数θA= 18以及θB= 1使用了网格搜索的方法。为了防止过拟合,咱们在验证集的 MPR 刚中止增加的时候就使用提早中止的方法。
3.4 验证集
咱们经过人工的在不用的歌单类别中进行查询的方法来构建验证集中的歌单。对于每一个类别,咱们在以前已经在用户建立的标注了类别的歌单中出现的歌曲中随机的选择 s=3 首歌。
3.5 结果
模型的结果,即不一样模型的歌单分类准确率和 MPR 咱们列在表 3-1 和表 3-2 中。如咱们所预料的,对于随机查询,全部的模型都不能根据输入的歌曲返回歌单,并且使用了协同滤波同时没有假如图信息的 NMF 表现不好。这能够理解为是数据集的稀疏性形成的,数据集每行只含有 5-20 个非零元素,稀疏度只有 0.11-0.46%。协同过滤模型在有越多的观察到的等级时的表现越好,cosine 模型在类别准确率上表现更好,由于它直接使用了输入歌曲和歌单之间的余弦距离。然而,它的 MPR 说明即便情况很复杂,咱们的模型在歌曲推荐时表现的更好。
4. 结论
在这篇论文中咱们介绍了一个新的灵活的歌曲推荐系统,这个系统结合了歌单的协同过滤信息以及图中包含的歌曲类似度信息。咱们使用一个基于原始-对偶的优化模式来获得一个高度并行的、能够用来处理大型数据集的算法。咱们选择图的 TV 而不是 Tikhonov 正则化,并经过将咱们的系统与 3 个不一样的算法在真实的音乐歌单数据集上作比较,展现了咱们模型的良好的实验效果。
阅读更多干货好文,请关注扫描如下二维码: