NeuSE: A Neural Snapshot Ensemble Method for Collaborative Filtering(阅读论文笔记)

NeuSE: A Neural Snapshot Ensemble Method for Collaborative Filtering(阅读论文笔记)


  • 与现有的集成CF方法不同,本文的目标是在不显著增加训练开销的情况下,提高几乎所有现有CF算法的性能。
  • 该方法可以自适应地改变不同user-item对的集成权值,使用户在不同item上具有不同的集成权值,从而更好地表征协同过滤的非凸性.
  • 只要我们可以创建快照模型,就可以应用NeuSE来提高模型的性能。
  • Each hop denotes one layer of model/user/item memory networks with feature mapping layers

文章综述(我的粗浅理解)


本文提出的是一种基于集成学习的CF算法,这种算法的特殊之处,就在于会按照一定的epoch间隔, 选取snapshot。

提出这个算法的原因是,global model并不能很好的fit所有的user/item(全局模型次优性问题),因此会导致overfitting/underfitting,虽然Adagrad,Bayesian approache,集成学习可以优化这个问题,但是仍存在进一步的优化空间。

存在的问题


  • global optimal models在CF问题中往往产生次优的性能(意思就是并不是最优)
  • 由于用户和标的物共存,CF算法中的y优化问题普遍是non-convex(因此局部最优并非全局最优)的,因此AdaGrad仅能够促进收敛于局部最优,但并不能达到更好的效果
  • Bayesian approache也存在两个问题:
    1)为未知的模型参数选择先验分布是non-trival的;
    2)这种方法通常计算量大,因此仅限于小规模问题
  • ensemble learning-based CF algorithms,适合解决全局模型的次优性能问题(suboptimal performance issue of global models)但是同时由于,在集成学习种,学习多个基础模型的话,在大数据集或复杂模型(例如深度神经网络)的情况下,仍然面临效率问题。最后,许多集成协同过滤算法是为了某个特定的协同过滤方法而提出的,不具有普适性(LLORMA)。

因此提出了NeuSE(Neural Snapshot Ensemble),结合了在全局模型学习过程中获得的快照模型,这样就可以用很少的额外的训练成本来实现集成学习。

NeuSE中的三种memory networks

  1. model memory network to capture the global importance of each snapshot model,
  2. user memory network to capture the user-wise importance of each snapshot model
  3. item memory network to capture the item-wise importance of each snapshot model.

PROBLEM FORMULATION


案例研究

1. 全局收敛 VS 局部收敛

请添加图片描述

  • 如(a)图所示,不同评分次数的用户在不同的epoch收敛,全局最优在175期左右达到最优。
  • 因此,如果只使用全局最优模型,评分次数小于50的用户和评分次数大于500的用户分别会出现欠拟合和过拟合。
  • 由于用户和项目的共存, optimal snapshot models也因不同种类的item而有所不同
  • 需要针对不同的用户-项目对选择不同的快照模型,以获得更好的精度。

2. Model Selection(snapshot model selection)
原因:集成学习中,如果选了糟糕的基础模型会导致结果退化

请添加图片描述
1)Single: the globally optimal snapshot model
2) set 1 : all snapshot models from every 50 epochs till epoch = 500
3) set 2 (snapshot models with epoch = 100, 200, 300)
本研究表明,对不同的用户-项目对,需要 ensemble learner 对优模型分配较高的权重,对劣质模型分配较低的权重,以克服快照模型选择的挑战。

NeuSE: NEURAL SNAPSHOT ENSEMBLE


Network Architecture

  • NeuSE的关键步骤是自适应地生成不同评级的集成权值。然而,如果我们只考虑单个用户/项目的有限ratings,集成模型很容易过拟合。
  • 为了解决这一点,我们采用了NeuSE中的记忆网络,它可以保持长期记忆,以促进推理。
  • memory component 存储全局信息的权重向量和每个用户/项目的 top 𝑘 neighbors,通过利用全局信息和用户/项目的neighborhood information,可以帮助解决单个用户和项目的有限数据问题。

1. 相关符号:

  • c𝑠:the embedding vector for snapshot model (s) in the external model memory
  • q(m):the output of model memory,表示由目标用户、项目和所有快照模型之间的兼容性组成的快照模型的加权和
  • internal memory matrix M𝑚 ∈ R𝐷×(N𝑚)
  • n external memory matrix C𝑚 ∈ R𝐷×𝑁𝑚
  • 𝑁𝑚 represents the number of snapshot models
  • 𝐷 denotes the dimensionality of each memory cell.
  • s 表示 snapshot model
  • m𝑠( memory slots )捕获了有多少用户-项目对可以使用模型𝑠来准确预测他们的评级。

请添加图片描述

2. input layer:
one-hot encoding: 也就是说,我们用一个稀疏向量来表示第𝑢个用户,其中只有第𝑢个元素为1,所有其他元素都为0

3. Memory layer(这一层作者不是特别理解,还请读者阅读原文理解)
三个主要组成部分:model memory, user memory and item memory

  • 为了自适应地权衡快照模型,我们需要预定义一些启发式函数,例如余弦相似度,以区分较优的快照模型和较差的快照模型。
  • 由内部内存和外部内存组成,以分别存储每个用户和项目的snapshot model 的长期记忆。

4. Output layer:
输出层接受所有snapshot model 的预测和内存网络的输出来进行最终的预测。

5. Multi-Layer Memory Networks
多层内存模块被堆叠在一起,其中ℎ𝑡ℎ跳的输出被用作(ℎ+1)𝑡ℎ跳的输入

DISCUSSION


  • 尽管会占用更多内存空间,但是计算效率是线性的复杂度
  • 可以解决cold-start的问题
  • 适用范围是:基于学习的CF算法中的非凸优化问题(换句话说是,只要是能创建snapshot model,就都可以用NeuSE)

EXPERIMENTS


实验预设

1. Evaluation Protocol

  • use the leave-one-out evaluation protocol
  • 按找评分的时许划分为训练,验证,测试三个集合

2. 与之比较的同类snapshot ensemble method:

  • Single
  • Average
  • HSE
  • SE

3. 超参数:
batch size = 128
lr = 0.0.1
optimizer = Adam
dropout rate = 0.5
activation function = ReLU
user/item embedding size = 16

4. Evaluation Metrics
rating prediction task中用RMSE
top-N recommendation task中用 Hit Ratio@N (HR@N) and NDCG@N

5. Baseline CF Methods
将每一个 snapshot ensemble method应用于以下著名的CF算法
UserKNN
ItemKNN
RSVD
FM
AutoRec
NeuMF

Recommendation Accuracy

  • NeuSE的提升虽然不是非常明显,但是非常普遍都能做到提升
  • 简单平均选取所有权重相同的快照模型,无法实现最优
  • HSE(用了MLP) cannot memorize the user- and item-specific characteristics,因此虽然HSE优于Average,但仍然不是最优
  • SE(用了cyclic learning rate)无法实现最优,其主要原因是使用循环学习率训练的神经网络模型可能收敛到不同的局部最优,而使用循环学习率的 factorization model可能收敛到相同的局部最优。
  • NeuSE厉害之处在于:

1)adaptively weighs different snapshot models for individual ratings so that the effects of poor models can be alleviated from the ensemble
2)different snapshot models can converge to different local optimums due to the nature of iterative optimization
3)the proposed ensemble method can fully utilize the global importance of snapshot models, the user and item specific characteristics and the neighborhood information from similar users and items via the memory networks to achieve better performance.

Sensitivity Analysis

Memory Network Layers
two-layer memory networks的NeuSE准确率最高
因为一层的记忆网络无法利用前一层中的global/neighborhood信息来推断当前层中更好的表示
而三层因为参数过多,而导致over-fitting

Soft vs. Hard Label
soft-labelling method 准确率最好
由于个别用户/项目的噪声行为,硬标签容易发生过拟合。

Model Complexity
这里所谓的complexity,指的是 number of latent factors and embedding size
结果表明,NeuSE不管复杂度如何变化,都能取得更有的结果

Embedding Size
在embedding size达到16的时候,准确率最高,当embedding size达到32/64时,出现过拟合
这表明中NeuSE在 light-weight models中可以达到良好的性能

Snapshot Selection
The snapshot models are selected from the intermediate models trained every 10 epochs
即使没有最佳的快照模型选择,NeuSE也能获得良好的性能
选7-9个最佳,选10个可能会降低准确率,但是选超过10个影响也不大

Efficiency Analysis
我们可以得出结论,与现有的训练数十个基本模型的集成CF方法相比,NeuSE不会显著增加CF方法的训练时间
与HSE和SE相比,所有快照集成方法的性能都没有显著增加计算开销(随着Hop数量的增加,训练时间的增加是线性的)

Performance on Large Dataset

在Netflix Prize dataset上的实验,证实了NeuSE在小数据集和大数据集上,都可以提高CF算法的性能。

未来可继续拓展的方向


One possible extension of this work is to apply the idea of NeuSE to other domains beyond collaborative filtering, e.g., non convex neural networks

Terminology


1. Cold-start User/item

定义:冷启动问题发生在系统数据不足的情况下,无法在用户和物品之间形成任何关系。
类别:

  1. User cold-start problems: 当几乎没有关于用户的可用信息时,就会出现用户冷启动问题。所谓用户冷启动就是新用户没有太多的行为,我们无法为他计算个性化推荐。这时可行的推荐策略是为这类用户推荐热门标的物、通过人工编排筛选出的标的物。或者用户只有很少的行为,协同过滤效果也不好,这时可以采用基于内容的推荐算法补充。

  2. Product cold-start problems: 当几乎没有关于产品的信息时,就会出现产品冷启动问题。所谓标的物冷启动就是新的标的物加入系统,没有用户操作行为,这时协同过滤算法也无法将该标的物推荐给用户。
    解决的方案一般有三种:

  3. System cold-start problems: 所谓系统冷启动,就是该产品是一个新开发不久的产品,还在发展用户初期阶段,这时协同过滤算法基本无法起作用,最好采用基于内容的推荐算法或者直接利用编辑编排一些多样性的优质内容作为推荐备选推荐集。

2. snapshot ensemble method

3. 协同过滤
具体来说,协同过滤的思路是通过群体的行为来找到某种相似性(用户之间的相似性或者标的物之间的相似性),通过该相似性来为用户做决策和推荐。

4 soft label and hard label

hard label:
一种常见的标记分类方式,
用One-Hot-Encoding定义一个长度为N的编码,每个类别以binary形式表示,
例如:狗[1,0,0],猫[0,1,0],其他[0,0,1]
Hard Label = 二进制编码,例如 cat is [dog:0, cat:1, others:0]

soft label:
给定一个长度为N的向量,描述一个同时属于多个类别的样本,以一个分布的形式表现样本属于其他样本的可能性,
Soft Label = probability encoded eg cat is [dog:0.3, cat: 0.5, others:0.2]
机率化标签(probabilistic label)的所有元素加总为1,每个元素都为正数。
未限制标签(无限制标签)没有元素限制,可以是任何实分数(含负数)。

5. NDCG,HR
HR,越高越好
NDCG,越高越好
详情:传送门

6. latent vector的概念

  • We map higher dimensional data to a lower dimensional data with no
    prior convictions of how the mapping will be done. The NN trains
    itself for the best configuration.
  • We cannot manipulate this lower dimensional data. Thus it is "hidden
    from us.
  • As we do not know what each dimension means, it is “hidden” from us.
    non-convex nature of CF problems
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值