序列化推荐的图模型——Selecting Sequences of Items via Submodular Maximization(更新中)

本文主要是介绍序列化推荐的图模型——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 性质,贪心算法可以达到 1e1 的近似率,即,贪心方法得到的解与最优解的比值不小于 1e1
集合有一个性质,即“无序”,在上述问题中,我们没有考虑到元素顺序时会给目标函数带来的影响,但是实际中,有些问题,不同的选择次序,会影响到目标函数值的大小。

序列化选择问题

在推荐问题中,我们需要考虑用户历史观看记录,此时,它看的顺序会影响我们推荐的结果。
如下图,假设我们要进行视频推荐,用户A先观看了生活大爆炸第一集,然后看了生活大爆炸第二集,这时,我们可能会给A推荐生活大爆炸第三集。另外,A还看了IT狂人,不过,它是先看的第二集,再看的第一集,此时,如果给A推荐第三集,似乎此时推荐成功率就不如推荐生活大爆炸第三集的成功率高。



这个例子表明,在推荐的时候,历史信息的顺序也是很重要的。

此时,我们需要给这类问题下个定义:

模型

那么,如何给这类问题建模呢?
序列化基本概念:



那么,我们的优化目标变为:
maxσΣ,|σ|<kf(σ)

注意到,考虑到集合的顺序关系,所以该模型的搜索空间是无序模型的 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(更新中)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1055803

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

poj3468(线段树成段更新模板题)

题意:包括两个操作:1、将[a.b]上的数字加上v;2、查询区间[a,b]上的和 下面的介绍是下解题思路: 首先介绍  lazy-tag思想:用一个变量记录每一个线段树节点的变化值,当这部分线段的一致性被破坏我们就将这个变化值传递给子区间,大大增加了线段树的效率。 比如现在需要对[a,b]区间值进行加c操作,那么就从根节点[1,n]开始调用update函数进行操作,如果刚好执行到一个子节点,

hdu1394(线段树点更新的应用)

题意:求一个序列经过一定的操作得到的序列的最小逆序数 这题会用到逆序数的一个性质,在0到n-1这些数字组成的乱序排列,将第一个数字A移到最后一位,得到的逆序数为res-a+(n-a-1) 知道上面的知识点后,可以用暴力来解 代码如下: #include<iostream>#include<algorithm>#include<cstring>#include<stack>#in

hdu1689(线段树成段更新)

两种操作:1、set区间[a,b]上数字为v;2、查询[ 1 , n ]上的sum 代码如下: #include<iostream>#include<algorithm>#include<cstring>#include<stack>#include<queue>#include<set>#include<map>#include<stdio.h>#include<stdl

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

hdu 1754 I Hate It(线段树,单点更新,区间最值)

题意是求一个线段中的最大数。 线段树的模板题,试用了一下交大的模板。效率有点略低。 代码: #include <stdio.h>#include <string.h>#define TREE_SIZE (1 << (20))//const int TREE_SIZE = 200000 + 10;int max(int a, int b){return a > b ? a :

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验