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