前言
本篇小記要介紹一個解析函數上面的概念——次模函數(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