基于SLIM的优势,本文提出的GLSLIM从global联系local的角度阐述了一个新的model,具体思路如下:

  1. SLIM中有一个特征提取的过程, 即Feature Selection; 这一过程实际上是寻找target item的相似items, GLSLIM的着力点就在于此.
  2. 计算item相似度是一个协同的过程,两个item被同一个用户访问,相似度加1; 所以参与计算的user成为了关键,原来的SLIM用了所有的users, GLSLIM分成了两个部分,即global和local,global采用所有的users, local采用部分小部分相似的user set; 所以这就涉及了将用户聚类(本文用了一个开源库CLUTO 与本文是同一个实验室开发的)
  3. 这样一来,核心问题就变成了怎么融合global和local, 其实很简单, 采用一个参数控制, alpha 与 1-alpha 分别加权global slim 和 local slim;
  4. 以上的思路一般, 有意思的是:1)每个用户的alpha不一样 2) 每个用户所属的local可以动态更新

每个用户alpha不一样:

每个用户在训练过程中,都有自己的error loss, 将其求导并等于0后即可以得到alpha的表达式, 所以每个用户的alpha不一样

动态更新每个用户所属的local:

实际上是将该用户放到每个local中并算出对应的error loss, error loss最小的即为right local


所以对比实验就有: global-item-update; global-item-noupdate; global-update; global-noupdate(SLIM); local-update

其它对比算法: BPR; pureSVD; SLIM

进一步了解: ref https://mp.weixin.qq.com/s/LnV-Oq3pCCeMk9RRhha-Aw



留言

登录 请先登陆, 再留言!