次模函数
来源:互联网 发布:开淘宝的流程及费用 编辑:程序博客网 时间:2024/06/05 18:34
前言
本篇小记要介绍一个解析函数上面的概念——次模函数(Submodular Function)。
次模函数也称作“子模函数”或“亚模函数”,具有次模型(Submodularity),也称“子模性”或“亚模性”,它是经济学上的概念——边缘收益递减 的形式化描述。次模函数在现实世界中有非常广泛的应用。本篇小记要说的就是次模函数的概念以及相关的性质。
定义 次模函数
对于一个集合函数
说明:次模函数用来描述边缘效益递减现象(Diminishing Marginal Return),边缘效益递减现象广泛存在于现实世界中。举个例子:施肥,农民给作物施肥,开始时的施一定量的肥料可以产生效益:作物成长。以后每施一定量的肥料,作物就会生长一定的量,但是不能没有节制的生长,因此,当农民施到某一次肥料时,作物不再按照原先的长势生长,反而会逆势生长,这种现象就是边缘效益递减现象。(若函数二阶可导,那么边缘收益递减现象就是二阶导数小于零的意思。可以通俗地这么理解。)
次模函数的性质
通过我多方面的查阅文献,得到两种关于次模性在计算机领域应用时所具有的性质:
单调且非负的次模函数
首先介绍一个NP-Hard的问题:
对于一个次模函数
对于上述NP-Hard问题,可以采取贪心算法求得近似解,贪心算法的核心迭代过程可以试每次迭代地在解中加入增益最大且满足条件
其中,
单调且非负的次模函数的性质:如果一个次模函数是单调且非负的,即对于
这里的
非单调的次模函数
非单调的次模函数的性质:对于最大化一个非单调的次模函数使得其满足一个划分拟阵约束,存在一个局部搜索算法来解决这一问题,使得近似因子为:
至于拟阵约束在后面的文章中会有所介绍,参见下一篇文章《拟阵理论和贪心算法浅析》。
参考文献
[1] A Krause,C Guestrin, Beyond Convexity – Submodularity in Machine Learning,2008.
[2] J. Lee, V. S. Mirrokni, V. Nagarajan, and M. Sviridenko. Maximizing nonmonotone submodular functions under matroid or knapsack constraints. SIAM J. Discrete Math., 23(4):2053–2078, 2010.
[3] A Krause, Submodularity in Machine Learning and Vision, British Machine Vision Conference, 2013:2.1-2.1
- 次模函数
- 次幂函数取模算法
- 函数第四次练习
- 第四次实验 函数调用
- 第四次实验 函数调用
- 利用最小二乘法拟合任意次函数曲线
- 无数次转的母函数
- C++第7次实验-函数复习
- 第十次c++实验 函数的使用
- python实现二维函数高次拟合
- C++第六次实验-友元函数
- 最小二乘法拟合曲线:4次函数
- 利用最小二乘法拟合任意次函数曲线(C#)
- 第6次课Windows API绘图函数
- java实训第四次课后笔记—函数
- 利用最小二乘法拟合任意次函数曲线(C#)
- 中断处理函数返回值不对达到10万次
- C++第2次实验(函数题)
- ext4文件系统综述
- java.lang.ClassNotFoundException: org.apache.log4j.Logger from [Module "deployment.itoo-basic-cours
- 全排列 字典序排列
- 独善其身的胸怀被泯灭
- ext4的延迟分配
- 次模函数
- "让你的努力配得上你的梦想"书摘
- 数学建模算法总结(一)
- Algorithm理解用例:贪心法
- ext4的extent解析
- String和StringBuilder类知识小结
- 欧几里得算法与扩展欧几里得算法与逆元
- angularjs双向数据绑定原理
- hdu1085【母函数入门】