本文主要是介绍坤哥笑侃跨域推荐(一) Cross-Domain Recommendation, An Embedding and Mapping Approach (IJCAI-17),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这是本人看的第一篇跨域推荐的文章,刚接触这一领域,有所错误,请多指正。
目录
跨域分类
面临挑战
模型
实验对比
总结
跨域分类
正如文章一开始说,跨域推荐是解决推荐领域数据稀疏性(sparsity)的一种方法。紧接着,文章介绍了两种跨域的方式以及缺点:
1)非对称方式,利用源领域知识降低目标领域知识的稀疏性。这时源领域的知识在目标领域充当先验或正则化项的作用(不是我说的,我负责翻译哈,错了别打我)。作者说方法的核心是确定哪些知识可以被迁移过去,但笔者觉得还有一个重点就是如何迁移。
2)第二种方式就是对称方式,将两领域同等看待,互为补充。他们有自己独立的特征(factor)以及共享的特征。作者认为这些过多的特征会加剧稀疏性(作者的解释哈)。
其实笔者认为,两种分类的区别在于:非对称方式中源域的知识足够多而目标域知识相对少,,换句话说,源域需要的知识目标域无法提供,而目标域需要源域的知识,,formally ,源域知识与目标域知识的交集为目标域知识(交集符号太好看了), 这样目标域的知识没必要迁移或迁移过去没多大作用;而对称方式中源域和目标域知识都不太多,有一定交集,也有各自的部分,需要互为补充提高精度。作者说他们的方法属于第二种。
面临挑战
接着作者就摆明面临的挑战。一是源域与目标域的映射函数的格式,作者认为线性和非线性是个问题,因为他觉得,非线性映射需要的数据量大,容易过拟合,但笔者认为应该考虑两者有什么内部联系使得可以映射,如何利用内部联系构造映射(但会局限于一类数据集哦),另一篇后来的文章中直接用神经网络(DNN)映射,解释上也只能说效果好了。二是哪一部分知识可以映射过去,因为有些知识本身不够精确,迁移过去就是误人子弟嘛。
模型
然后就是模型了。三步走。
1)求隐含参数(latent factor modeling),即两个域的(四个矩阵,谢谢), s上标为源域(source),t上标为目标域(target)。了解过推荐的应该知道rating矩阵 其中是K*U维的,是K*V维的,K为隐含参数的维数,U为用户user数,V为item数。方法为MF(Matrix Factorization)和BPR。
2)潜在空间映射(latent space mapping),即在 和 某一部分(都有,且隐含参数都比较精确的部分)之间找个映射使得f() = ,item中同理。作者采用的映射方法为线性映射(LM Linear Mapping)和非线性多层感知器映射(MLP-based Nonlinear Mapping)。
3)推荐。简单的说吧,就是在源域目标域都充足的知识(笔者理解,例如用户相同时,知识就是用户的latent factor,一些由于rating矩阵相应部分信息少(rating数少,嘿嘿)而导致求得的latent factor不精确,个人认为这就是知识不足吧)部分之间建立映射,在源域中充足、目标域不充足的知识之间利用映射得到目标域的隐含参数,并作推荐。
实验对比
接着就是实验的对比,由于求潜在参数以及映射函数的多样性,自身的模型有许多不同的实现,与基本的baseline对比展示优越性,并调整自身模型参数说明参数的作用,这是对比实验的常规操作。数据集用的是Netflix-Movielens和Douban(自己爬的),训练集测试集的划分是对目标域rating矩阵随机采样,即sample(以user举例)U * i% 行作为测试,剩下的rating信息和源域rating矩阵作为训练。
最后的结论就是把一件事分成几部分说,如本文把模型三部分重新说了一遍以及实验效果好。
总结
总结一下,这篇文章中,作者成功地将跨域推荐分为两类,实际是数据集本身问题采取的不同应对策略(能互相促进,干嘛单方面提供帮助呀呢);说明了两大挑战,是因为其他关键点现有方法基本都ok了,就剩俩了;提出了模型三步走,知识提取、知识映射、(用)知识推荐,没看过之前的跨域论文,不知道之前的模型长啥样,不做评价;实验和总结嘛,常规formal喽。所以我们学到的就是这个three part的model啦。
这篇关于坤哥笑侃跨域推荐(一) Cross-Domain Recommendation, An Embedding and Mapping Approach (IJCAI-17)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!