跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
编程语言AI算法

次模函数(Submodular Function)概念与机器学习应用

综述由AI生成综述了次模函数(Submodular Function)在机器学习和人工智能中的应用。核心概念是边际收益递减(Diminishing Returns),即集合中新增元素的贡献随集合增大而减小。它被视为离散优化中的凸函数,具有理论上的近似最优保证(如贪心算法可达 1-1/e)。主要应用于特征选择、数据集压缩、文本摘要、主动学习等离散优化问题,帮助在指数级搜索空间中高效求解。

DockerOne发布于 2026/4/6更新于 2026/5/2030 浏览
次模函数(Submodular Function)概念与机器学习应用

综述论文:Submodularity In Machine Learning and Artificial Intelligence

一、综述论文

本文是一篇综述论文,核心目标是介绍 Submodular functions(次模函数) 以及它们在 机器学习与人工智能中的应用。

作者强调一个重要的观点:很多机器学习问题其实是'离散优化问题'。

例如:

  • Feature Selection:属于数据预处理问题,旨在从原始特征中筛选出最相关、最有信息量的子集,以降低维度、提升模型性能与可解释性。
  • Dataset Subset Selection:属于数据采样或核心集选择问题,旨在从大规模数据中选取一个具有代表性的子集,以降低计算和存储成本,同时保持模型性能。
  • Active Learning:属于机器学习训练策略问题,通过让模型主动选择最有价值的数据进行标注,以最少的标注成本最大化模型性能。
  • Clustering:属于无监督学习问题,旨在根据数据的内在相似性,将未标记的数据自动分组为不同的类别或簇。
  • Data summarization:属于信息压缩与呈现问题,旨在通过生成简洁的摘要来捕捉大型数据集或复杂数据的核心信息。

这些问题的共同特点:决策变量是 集合 (set) 而不是连续变量。例如从 1000 个数据里选 100 个,组合数量是指数级的。

因此需要一种结构,使得 指数空间的问题仍然能高效优化。这就是 Submodular Function 的意义。

作者提出一个类比:

连续优化离散优化
convex functionsubmodular function

可以简单理解为:Submodular ≈ 离散版本的 convex/concave 结构,但其实更复杂。

二、什么是 Submodular Function(核心)

论文给出的正式定义是:对于集合函数 $f:2^V \rightarrow R$,即输入为集合的子集,输出为一个数值。满足:

$$f(A)+f(B) \ge f(A\cup B)+f(A\cap B)$$

对所有集合 A,B。这叫 Submodular inequality。

更直觉的理解

论文强调:Submodularity = Diminishing Returns(边际收益递减)。

数学表达:

$$f(A \cup {e}) - f(A) \ge f(B \cup {e}) - f(B)$$

当 $A \subseteq B$ 时。

意思是:同一个元素 e 加入 小集合 的价值 ≥ 加入 大集合 的价值。这就是 submodular 的核心思想。

可视化解释

文章配图

这张图表示:f(S) 为集合 S 的'价值',|S| 为集合大小。曲线特点是一开始增长很快,后面越来越平。

集合大小f(S)增长
0 → 10 → 1+1
1 → 21 → 1.41+0.41
2 → 31.41 → 1.73+0.32
......越来越小

这正是:边际收益递减(Diminishing Returns)。

文章配图

这张图直接画的是每增加一个元素带来的'新增价值' f(S ∪ {x}) − f(S)。 可以看到:第一个元素增益最大,后面越来越小。这张图就是 Submodular 的本质图像。

三、论文给出的例子

'朋友的价值'

设:f(S) = 朋友集合 S 的价值。 如果你已经有很多朋友,再增加一个朋友的价值会变小;如果你朋友很少,那么新朋友价值更大。 例如:第 1 个朋友价值 10,第 10 个朋友价值 1。 所以 f({}) → f({A}) 增量很大,f({A,B,C,D}) → f({A,B,C,D,E}) 增量较小。这就是传说中的:边际收益递减。

四、论文里的复杂例子(咖啡、牛奶、茶)

论文用一个比较复杂的例子说明物品之间可能存在三种关系:

1. Submodular(替代关系)

例如:coffee + tea 两者功能类似。 所以:f(coffee, tea) < f(coffee) + f(tea)。因为它们是 substitutes(替代品)。

2. Supermodular(互补关系)

例如:coffee + milk 组合更好。 所以:f(coffee, milk) > f(coffee) + f(milk)。叫:complementarity(互补者)。

3. Modular(独立)

例如:lemon + milk 互不影响。 f(A,B) = f(A) + f(B)。

所以:

类型数学
Submodulardiminishing returns
Supermodularincreasing returns
Modularlinear

五、信息论里的经典例子:Entropy

论文给了一个非常重要的结论:Entropy 是 submodular 函数。

设:f(S) = H(X_S),即某个变量集合的 entropy。 满足:f(A)+f(B) \ge f(A\cup B)+f(A\cap B)。 原因:互信息非负。这在信息论里叫:Shannon inequality(香农不等式)。

六、常见 Submodular Function 类型

论文列了一些机器学习里常见的:

1. concave over cardinality

例如:f(S)=\sqrt{|S|}。因为 \sqrt{x} 是 concave,所以边际增长递减。

2. Feature-based function

形式:f(S)=\sum_i g_i(\sum_{j\in S}w_{ij})。其中 g_i 是 concave。 常见于 NLP、document summarization。

3. Facility Location(重要)

定义:f(S)=\sum_{i\in V}\max_{j\in S} sim(i,j)。 含义:每个点 i,找 S 中最像的点。 用于:data summarization、clustering、representative subset。

4. Set Cover

f(S)=|\cup_{i\in S}C_i|。 含义:S 覆盖的元素数量。 常见:document summarization、sensor placement。

七、Submodular 为什么重要

因为它有 优化保证。

对于 Submodular Maximization(子模最大化),例如 max f(S), s.t. |S| ≤ k。 使用 Greedy algorithm(贪心算法) 可以保证:(1 - 1/e) \approx 0.63 近似最优。这是一个 非常强的理论保证。

八、机器学习中的应用

论文后半部分主要讲应用:

1. 文本摘要

从 100 句新闻选 5 句。目标是覆盖尽量多信息,避免重复。这种目标函数很适合 submodular。

2. 数据集压缩

例如:100 万训练样本,选 1 万代表样本。目标:覆盖整个数据分布。

3. 特征选择

例如:1000 个特征,选 50 个。目标:信息最多,冗余最少。

4. Active Learning

有 100 万未标注数据。选择:最有信息的 1000 个去标注。

九、总结

Submodular function 的本质:一种具有'边际收益递减'性质的集合函数,使得许多指数级的离散优化问题可以高效近似求解。

它在机器学习中的作用类似于:convex function 在连续优化中的作用。

很多 AI 问题都是'从一堆东西里选一个子集',例如:选数据、选句子、选特征、选代表点。如果目标函数是 submodular,那么用 greedy 算法就能得到接近最优的解。所以:submodular = 让组合优化变得可解。

目录

  1. 综述论文:Submodularity In Machine Learning and Artificial Intelligence
  2. 一、综述论文
  3. 二、什么是 Submodular Function(核心)
  4. 更直觉的理解
  5. 可视化解释
  6. 三、论文给出的例子
  7. “朋友的价值”
  8. 四、论文里的复杂例子(咖啡、牛奶、茶)
  9. 1. Submodular(替代关系)
  10. 2. Supermodular(互补关系)
  11. 3. Modular(独立)
  12. 五、信息论里的经典例子:Entropy
  13. 六、常见 Submodular Function 类型
  14. 1. concave over cardinality
  15. 2. Feature-based function
  16. 3. Facility Location(重要)
  17. 4. Set Cover
  18. 七、Submodular 为什么重要
  19. 八、机器学习中的应用
  20. 1. 文本摘要
  21. 2. 数据集压缩
  22. 3. 特征选择
  23. 4. Active Learning
  24. 九、总结
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • LeetCode Top 100 面试高频题完整指南
  • MySQL 和 Navicat 在 Windows 上的安装与连接教程
  • Linux 部署 RocketMQ:内网穿透实现公网访问
  • Python 实现消消乐小游戏
  • HarmonyOS 6.0 应用开发:V2 装饰器@Local 的使用
  • LeetCode 92 链表区间反转:递归与哨兵节点实战
  • GFPGAN 跨平台部署与人脸图像修复应用指南
  • Spring Boot 前后端分离教室信息管理系统
  • Python 简单 AI 应用开发指南
  • FPGA 加速 CNN:Winograd 算法原理与计算优化
  • VS Code 远程连接服务器同步代码到 GitHub
  • 前端核心面试题详解:ES6、跨域、Vue 原理与性能优化
  • PyTorch 镜像环境下运行 Stable Diffusion 生成图像
  • DeepSeek R1 与 GPT 的区别及实战应用技巧
  • Java 并发锁核心分类与机制解析
  • AI 大模型高质量代码数据集构建:代理抓取与 API 工具实战
  • VSCode AI Copilot 代码补全优化配置指南
  • Cogito-v1-preview-llama-3B 混合推理模式延迟与质量权衡
  • 实战:手写通用 Web 层鉴权注解,解决水平权限漏洞
  • Google GenAI Toolbox:企业级 AI 数据库中间件与 LLM-SQL 安全互联实践

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online