综述与背景
这是一篇关于 Submodular functions(次模函数) 及其在 机器学习与人工智能中应用 的综述论文。核心观点很明确:很多机器学习问题本质上是 离散优化问题。
比如特征选择、数据集子集选择、主动学习、聚类和数据摘要,这些问题的决策变量都是 集合 (set) 而非连续变量。从 1000 个数据里选 100 个,组合数量是指数级的。我们需要一种结构,使得指数空间的问题仍然能高效优化,这就是 Submodular Function 的意义。
可以简单理解为:Submodular ≈ 离散版本的 convex/concave 结构。虽然更复杂,但它在离散域的地位类似于凸函数在连续域的地位。
什么是 Submodular Function
数学定义
对于集合函数 $f: 2^V \rightarrow R$,输入是集合的子集,输出是一个数值。如果满足以下不等式对所有集合 $A, B$ 成立:
$$f(A) + f(B) \ge f(A \cup B) + f(A \cap B)$$
这就叫 Submodular inequality。
直观理解:边际收益递减
论文强调的核心直觉是:Submodularity = Diminishing Returns(边际收益递减)。
数学表达为:当 $A \subseteq B$ 时,
$$f(A \cup {e}) - f(A) \ge f(B \cup {e}) - f(B)$$
意思是:同一个元素 $e$ 加入 小集合 的价值 ≥ 加入 大集合 的价值。
这意味着随着集合变大,新增元素的贡献越来越小。曲线特点是一开始增长很快,后面越来越平。
| 集合大小 | f(S) | 增长 |
| 0 → 1 | 0 → 1 | +1 |
| 1 → 2 | 1 → 1.41 | +0.41 |
| 2 → 3 | 1.41 → 1.73 | +0.32 |
| ... | ... | 越来越小 |
这张图直接画的是每增加一个元素带来的'新增价值',可以看到第一个元素增益最大,后面越来越小。这就是 Submodular 的本质图像。
生活中的类比与例子
'朋友的价值'
设 $f(S)$ 为朋友集合 $S$ 的价值。如果你已经有很多朋友,再增加一个朋友的价值会变小;如果你朋友很少,那么新朋友价值更大。
第 1 个朋友价值可能是 10,第 10 个朋友价值可能只有 1。这就是典型的边际收益递减。
物品间的关系
论文用咖啡、牛奶、茶的例子说明了三种关系:
- Submodular(替代关系):例如 coffee + tea,两者功能类似。所以 $f(coffee, tea) < f(coffee) + f(tea)$,因为它们是替代品。
- Supermodular(互补关系):例如 coffee + milk,组合更好。所以 $f(coffee, milk) > f(coffee) + f(milk)$,这叫互补性。
- Modular(独立):例如 lemon + milk 互不影响,$f(A,B) = f(A) + f(B)$。


