本文主要是介绍序列化推荐的图模型——Selecting Sequences of Items via Submodular Maximization(更新中),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本文介绍一种基于图模型的序列化推荐方法:OMEGA。文章来自AAAI-17,题目为《Selecting Sequences of Items via Submodular Maximization》,作者是来自苏黎世联邦理工学院的Sebastian Tschiatschek,Adish Singla 以及Andreas Krause。
背景
子集选择问题
首先,介绍一下子集选择问题,该问题的目标是优化一个集合函数 f(X) ,使得 |X|≤k 。例如,机器学习中的特征选择、模型选择,推荐中的目标用户选择,深度学习中的网络结构选择,都属于子集选择问题。一般来说,子集选择问题是NP难的,多项式时间内只能得到近似解。
对于子集选择问题,如果目标函数满足 单调Submodular 性质,贪心算法可以达到 1−e−1 的近似率,即,贪心方法得到的解与最优解的比值不小于 1−e−1 。
集合有一个性质,即“无序”,在上述问题中,我们没有考虑到元素顺序时会给目标函数带来的影响,但是实际中,有些问题,不同的选择次序,会影响到目标函数值的大小。
序列化选择问题
在推荐问题中,我们需要考虑用户历史观看记录,此时,它看的顺序会影响我们推荐的结果。
如下图,假设我们要进行视频推荐,用户A先观看了生活大爆炸第一集,然后看了生活大爆炸第二集,这时,我们可能会给A推荐生活大爆炸第三集。另外,A还看了IT狂人,不过,它是先看的第二集,再看的第一集,此时,如果给A推荐第三集,似乎此时推荐成功率就不如推荐生活大爆炸第三集的成功率高。
这个例子表明,在推荐的时候,历史信息的顺序也是很重要的。
此时,我们需要给这类问题下个定义:
模型
那么,如何给这类问题建模呢?
序列化基本概念:
那么,我们的优化目标变为:
注意到,考虑到集合的顺序关系,所以该模型的搜索空间是无序模型的 k! 倍。
本文研究一类特定的函数 f(σ) ,它假设选择的元素及其之间的关系构成了一个图结构 G=(V,E) ,如下图,节点代表元素,元素之间的联系用边来表示。边的含义:节点之间的相互影响。B1到B2有一条边,意思是,如果B1排在B2之前,则B1会对B2产生影响。B2到B1没有边,即如果B2排在B1之前,B2不会对B1产生影响。
edges(σ) 函数是有序集合到边的映射,对于一个有序集合 σ=(σ1,...,σk) ,对于每个
这篇关于序列化推荐的图模型——Selecting Sequences of Items via Submodular Maximization(更新中)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!