次模性在机器学习和人工智能中的应用
Bilmes, J. (2022). Submodularity in machine learning and artificial intelligence. arXiv preprint arXiv:2202.00132.
本文的核心内容概述:
- **次模函数的基本概念**:
-
次模函数是定义在有限集合上的集合函数,具有减少回报(diminishing returns)的特性。
-
次模函数可以是单调的,也可以是非单调的,但它们必须满足特定的次模性质。
-
次模函数在组合优化问题中非常有用,因为它们允许在多项式时间内找到近似最优解。
- **次模函数的性质和优化**:
-
次模函数具有多种等价的定义,包括减少回报性质和四点性质。
-
次模函数的优化问题,包括最大化和最小化问题,可以通过贪婪算法等方法有效求解。
-
次模函数的连续扩展和多面体结构也被讨论,这些扩展有助于在连续空间中处理次模优化问题。
- **次模函数在机器学习和人工智能中的应用**:
-
次模函数在数据总结、特征选择、聚类、主动学习和概率建模等领域有广泛应用。
-
次模函数可以用于设计核心集(coresets)和简化数据集,以便更有效地训练机器学习模型。
-
次模优化可以用于提高算法的鲁棒性和减少数据的冗余性。
- **历史应用和算法**:
-
次模函数在经济学、博弈论、组合优化等领域有悠久的应用历史。
-
文章讨论了多种次模优化算法,包括贪婪算法、Frank-Wolfe算法和Fujishige-Wolfe算法等。
-
次模函数的学习和近似方法也被探讨,包括如何从数据中学习和构造次模函数。
- **结论**:
-
次模函数为机器学习领域提供了一种强大的工具,可以用于多种复杂问题的优化。
-
次模优化的研究成果不断涌现,预示着这一领域未来将有更多的发展和应用。
正文:
0. 摘要
在本文中,我们提供了次模性和超模性及其属性的简要回顾。我们提供了大量次模性定义;许多示例次模函数及其推广的完整描述;离散约束的示例;基本算法的讨论,包括最大化、最小化和其他操作;对连续次模扩展的简要概述;以及一些历史应用。然后我们转向次模性在机器学习和人工智能中的用途,包括总结,我们提供了在自然语言处理中的抽取式和抽象式总结、数据蒸馏和凝聚、数据子集和特征选择之间的差异和共性的完整说明。我们讨论了多种生成次模函数的方法,包括启发式手工制作、学习或近似学习次模函数或其部分,并讨论了使用次模函数作为核心集生产者的一些优势。我们讨论了次模组合信息函数,以及次模性在聚类、数据划分、并行机器学习、主动和半监督学习、概率建模和结构化范数和损失函数中的用途。
1. 引言
机器学习中的许多(如果不是大多数)问题都涉及某种形式的优化。 "学习"本身的问题可以简单地看作是一个在一组参数上优化指定目标的问题,其中目标也由数据参数化。 典型的例子是 ,其中是一个连续值参数向量,是一个采样(训练)数据集。众所周知,凸优化是机器学习理论和许多机器学习应用中使用的重要数学策略。 许多看似不同的优化问题,如非线性分类[SS02],聚类[LG07]和降维[WPS 05]可以转换为凸规划。 当最小化凸损失函数时,我们可以保证有效地找到最优解,即使是对于大问题,也是可行的。 凸优化是内在连续优化问题空间中目标的结构性质。然而,有许多机器学习问题本质上是离散的,优化必须在离散参数空间上进行,而不是在连续参数空间上。
然而,机器学习中有许多问题本质上是离散的,其中优化必须发生在离散参数空间而不是连续参数空间上。 在这种情况下,目标提供了一个值超过可数或有限(虽然往往是指数大)的可能性。 例如,给定一组可能用作分类器输入的特征,应该如何选择有用的子集? 如果有100个特征,那么就有200个可能的子集,太多了,无法在穷举搜索中考虑所有子集。 这是机器学习中的标准特征选择问题,有许多可能的解决方案。 我们可能希望选择训练数据的一个子集,而不是选择特征。这样做的原因有很多:训练数据可能太大,或者可能是冗余的,因此使用所有数据会产生不必要的成本。一种选择是选择一个随机子集,但这可能会错过角落案例。 也许有一种更好的方法来选择在某种程度上是好的子集,即, 它保证忠实地表示所有数据。 另一个例子是人工标记和注释训练数据集,这一过程通常是昂贵,耗时,繁琐且容易出错的。 与其对所有数据进行标记,人们或许可以选择一个好的子集,在该子集上具有标签与在整体上具有标签一样好。 批量主动学习就是一个例子。