子/次模 (Submodular)、超模 (Supermodular)和模(Modular)函数
定义
子模 (Submodular)、超模 (Supermodular)和模(Modular)函数是组合优化中用到的集合函数概念。函数定义域为某个有限集$\Omega$的幂集$2^\Omega$,值域通常为$R$,即$f:2^\Omega\to R$。
子模函数:对于集合$A\subseteq B\subset \Omega$,元素$e\in \Omega-B$,子模函数$f(X)$满足
$f(A\cup\{e\})-f(A)\geq f(B\cup\{e\})-f(B)$
直观上看,随着集合$X$元素的增加,在新增某个元素时$f(X)$值的变化量不变或降低。或者说函数$f(X)$的边际效应逐渐降低。需要注意的是,子模函数并没有限制$f(A\cup\{e\})\geq f(A)$,因此元素的加入既有可能使$f(X)$变大,也有可能使其变小。
超模函数:对于集合$A\subseteq B\subset \Omega$,元素$e\in \Omega-B$,超模函数$f(X)$满足
$f(A\cup\{e\})-f(A)\leq f(B\cup\{e\})-f(B)$
直观上看,随着集合$X$元素的增加,在新增某个元素时$f(X)$值的变化量不变或增加。或者说函数$f(X)$的边际效应逐渐增加。此外,对于超模函数$f(X)$,可以证明$-f(X)$为子模函数。
模函数:对于集合$A\subseteq B\subset \Omega$,元素$e\in \Omega-B$,模函数$f(X)$满足
$f(A\cup\{e\})-f(A)=f(B\cup\{e\})-f(B)$
直观上看,在集合$X$加入元素时,$f(X)$值的变化量与集合中原有的元素无关,而仅与新加入的元素相关,从而有上面的等号。根据定义可以看出,模函数既是超模函数,又是子模函数。
应用
使用规则集举个例子,规则集$S\subseteq \Omega$中包含一系列的规则$R_i$,即$S=\{R_i\}_{i=1}^m, R_i\in \Omega$。每个规则都可以判断样本$x$是否满足该规则,如果规则集中有一个规则满足该样本,则说该规则集满足该样本。对于包含$n$个样本的数据集$X=\{x_i\}_{i=1}^n$,定义$X_{S}$为满足规则集$S$的样本的集合。
则我们可以发现子模函数:
$\displaystyle f(S)=|X_S|$
这是因为,当我们不断向$S$中加入新的规则时,$S$能满足的样本数量逐渐趋向$n$而饱和,函数收益递减。
还可以发现模函数:
$\displaystyle g(S)=\sum\limits_{R_i\in S} |X_{\{R_i\}}|$
这是因为,当我们不断向$S$中加入新的规则时,上式总是把新规则所满足的样本数量增加到函数值中,而与$S$中原有的规则无关。
子/次模 (Submodular)、超模 (Supermodular)和模(Modular)函数的更多相关文章
- (转)vivoxshot 精英版三模转五模模式切换操作方法
https://yunpan.cn/cPUBWc8vtKpID (提取码:de92) 本帖最后由 韩爱峰 于 2016-3-29 23:00 编辑 碰到不少机友在使用过程中操作不成功,现将我的方法跟大 ...
- MySQL Execution Plan--IN子查询包含超多值引发的查询异常1
======================================================================= SQL语句: SELECT wave_no, SUM(I ...
- MySQL Execution Plan--IN子查询包含超多值引发的查询异常
问题描述 版本:MySQL 5.7.24 SQL语句: SELECT wave_no, SUM(IF(picking_qty IS NULL, 0, picking_qty)) AS PICKED_Q ...
- SQL一对多取子表最新记录的所有字段(ROW_NUMBER()OVER()函数的应用)
ROW_NUMBER()OVER() 参数1:分组字段 PARTITION BY ..,..,.... 可选 参数2:排序字段 ORDER BY .. DESC 必须 实例: 根据Confir ...
- 模块度与Louvain社区发现算法
Louvain算法是基于模块度的社区发现算法,该算法在效率和效果上都表现较好,并且能够发现层次性的社区结构,其优化目标是最大化整个社区网络的模块度. 模块度(Modularity) 模块度是评估一个社 ...
- HDU1452Happy 2004(高次幂取模+积性函数+逆元)
题目意思:2004^x的所有正因数的和(S)对29求余:输出结果: 原题链接 题目解析:解析参照来源:点击打开链接 因子和 6的因子是1,2,3,6; 6的因子和是s(6)=1+2+3+6=12; 2 ...
- poj_2115C Looooops(模线性方程)
题目链接:http://poj.org/problem?id=2115 C Looooops Time Limit: 1000MS Memory Limit: 65536K Total Submi ...
- HDU1013,1163 ,2035九余数定理 快速幂取模
1.HDU1013求一个positive integer的digital root,即不停的求数位和,直到数位和为一位数即为数根. 一开始,以为integer嘛,指整型就行吧= =(too young ...
- 取模性质,快速幂,快速乘,gcd和最小公倍数
一.取模运算 取模(取余)运算法则: 1. (a+b)%p=(a%p+b%p)%p; 2.(a-b)%p=(a%p-b%p)%p; 3.(a*b)%p=(a%p * b%p)%p; 4.(a^b)%p ...
- PAM 認 證 模 組
作者:陳柏菁 E-mail 作用:限制哪些用户或者组可以从哪里登陆,或者可以建立/etc/nologin立即阻止一般用户登陆,限制 user可以使用的资源.例如cpu,文件,登陆数量,某些服务的登陆时 ...
随机推荐
- 阿里云【七天深入MySQL实战营】
阿里云[七天深入MySQL实战营] 最近报名了阿里云[七天深入MySQL实战营].不过一直没时间看[最主要还是自己懒],看了下课程及答疑信息,感觉应该还可以,分享出来和大家一起学习学习.现在课程已经 ...
- idea 的Tomcat 的简单配置
不限速网盘下载: https://kohler.lanzouv.com/iSSfc0akw3vc 官网下载: https://tomcat.apache.org/download-80.cgi 正常解 ...
- 给网站添加Let's Encrypt的免费ssl证书
概要 目前很多浏览器默认都会标记http访问的网站为不安全,https部署已经称为大趋势,我之前利用业余时间搭建了一个网站,本文就以这个域名为基础说明如何给网站加上证书.本文使用的操作系统centos ...
- Mongodb入门5
最近在用MongoDBKoa2做个小项目,记录一下: 首先,如何连接线上数据库: const url = `mongodb://user:pwd@ipaddr:27017/Blog`; const m ...
- tracking调研
常用框架有以下三种: Separate Detection and Embedding (SDE- 物体检测,特征提取与物体关联),JOINT Detection and Embeddin ...
- Asp.net core 学习笔记之 Microsoft Graph API
早年如果我们要读写用户得 outlook 内容是比较麻烦的, 要用许多 smtp 之类的方式. 现在终于是有了 http 级的 API 可以 call 了. 不仅仅是 outlook, calenda ...
- ASP.NET Core – Web API JSON Patch
前言 依据 Restful 的方式, 修改 resource 要用 PUT, 然后把完整的 resource 发出去, resource 的所有信息都将被更新. 但很多时候我们希望只做局部更新, 而且 ...
- C++中对象的延迟构造
本文并不讨论"延迟初始化"或者是"懒加载的单例"那样的东西,本文要讨论的是分配某一类型所需的空间后不对类型进行构造(即对象的lifetime没有开始),更通俗点 ...
- MyBatis——案例——查询-多条件查询-动态条件查询(关键字 if where)
动态条件查询 SQL语句会随着用户的输入或外部条件的变化而变化,我们称为 动态SQL MyBatis 对动态SQL有很强大的支撑: if choose(when,otherwise) ...
- socket close和shutdown的区别,TIME_WAIT和CLOSE_WAIT
TCP主动关闭连接 appl: close(), --> FIN FIN_WAIT_1 //主动关闭socket方,调用close关闭socket,发FIN < ...