序列化推荐的图模型——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

相关文章

Java整合Protocol Buffers实现高效数据序列化实践

《Java整合ProtocolBuffers实现高效数据序列化实践》ProtocolBuffers是Google开发的一种语言中立、平台中立、可扩展的结构化数据序列化机制,类似于XML但更小、更快... 目录一、Protocol Buffers简介1.1 什么是Protocol Buffers1.2 Pro

MySQL 数据库表操作完全指南:创建、读取、更新与删除实战

《MySQL数据库表操作完全指南:创建、读取、更新与删除实战》本文系统讲解MySQL表的增删查改(CURD)操作,涵盖创建、更新、查询、删除及插入查询结果,也是贯穿各类项目开发全流程的基础数据交互原... 目录mysql系列前言一、Create(创建)并插入数据1.1 单行数据 + 全列插入1.2 多行数据

linux安装、更新、卸载anaconda实践

《linux安装、更新、卸载anaconda实践》Anaconda是基于conda的科学计算环境,集成1400+包及依赖,安装需下载脚本、接受协议、设置路径、配置环境变量,更新与卸载通过conda命令... 目录随意找一个目录下载安装脚本检查许可证协议,ENTER就可以安装完毕之后激活anaconda安装更

Linux中的自定义协议+序列反序列化用法

《Linux中的自定义协议+序列反序列化用法》文章探讨网络程序在应用层的实现,涉及TCP协议的数据传输机制、结构化数据的序列化与反序列化方法,以及通过JSON和自定义协议构建网络计算器的思路,强调分层... 目录一,再次理解协议二,序列化和反序列化三,实现网络计算器3.1 日志文件3.2Socket.hpp

Nginx进行平滑升级的实战指南(不中断服务版本更新)

《Nginx进行平滑升级的实战指南(不中断服务版本更新)》Nginx的平滑升级(也称为热升级)是一种在不停止服务的情况下更新Nginx版本或添加模块的方法,这种升级方式确保了服务的高可用性,避免了因升... 目录一.下载并编译新版Nginx1.下载解压2.编译二.替换可执行文件,并平滑升级1.替换可执行文件

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录

Olingo分析和实践之EDM 辅助序列化器详解(最佳实践)

《Olingo分析和实践之EDM辅助序列化器详解(最佳实践)》EDM辅助序列化器是ApacheOlingoOData框架中无需完整EDM模型的智能序列化工具,通过运行时类型推断实现灵活数据转换,适用... 目录概念与定义什么是 EDM 辅助序列化器?核心概念设计目标核心特点1. EDM 信息可选2. 智能类

SpringBoot中六种批量更新Mysql的方式效率对比分析

《SpringBoot中六种批量更新Mysql的方式效率对比分析》文章比较了MySQL大数据量批量更新的多种方法,指出REPLACEINTO和ONDUPLICATEKEY效率最高但存在数据风险,MyB... 目录效率比较测试结构数据库初始化测试数据批量修改方案第一种 for第二种 case when第三种

SpringSecurity整合redission序列化问题小结(最新整理)

《SpringSecurity整合redission序列化问题小结(最新整理)》文章详解SpringSecurity整合Redisson时的序列化问题,指出需排除官方Jackson依赖,通过自定义反序... 目录1. 前言2. Redission配置2.1 RedissonProperties2.2 Red

Spring Boot spring-boot-maven-plugin 参数配置详解(最新推荐)

《SpringBootspring-boot-maven-plugin参数配置详解(最新推荐)》文章介绍了SpringBootMaven插件的5个核心目标(repackage、run、start... 目录一 spring-boot-maven-plugin 插件的5个Goals二 应用场景1 重新打包应用