返回目录

第三节课作业:优化问题与NFL定理

作业问题

  1. 在优化问题和机器学习中什么是问题,什么是实例?
  2. 对于没有免费的午餐(No Free Lunch)定理,其在优化问题和机器学习中是什么意思,如何理解?如果各类算法在全部问题上的平均性能是一样的,那么对于做科研来讲,不断研发更快更好的算法有什么意义?

问题1:什么是问题,什么是实例

1.1 问题(Problem)的定义

核心定义

问题是一类具有相同结构和性质的任务的抽象描述,定义了输入空间、输出空间和目标函数。

在优化问题中

问题是一个数学框架,通常表示为:

$\min_{x \in \mathcal{X}} f(x)$

其中:

例子

在机器学习中

问题是一类学习任务的抽象,定义了:

例子

1.2 实例(Instance)的定义

核心定义

实例是问题的具体化,包含了具体的输入数据和参数,是问题的一个特定案例。

在优化问题中

实例是问题的具体参数化版本:

例子

TSP问题的实例

在机器学习中

实例是具体的数据集和学习任务:

例子

图像分类问题的实例

1.3 问题与实例的关系

维度 问题(Problem) 实例(Instance)
抽象程度 高度抽象,通用定义 具体化,特定数据
数量 一个问题类 无限多个实例
描述方式 数学框架、算法框架 具体数据、参数
例子 TSP、图像分类 5城市TSP、MNIST数据集

类比理解

问题就像是"做菜"这个概念,定义了烹饪的一般流程和目标。

实例就像是"做宫保鸡丁",具体指定了食材、调料和份量。

问题2:No Free Lunch定理

2.1 NFL定理的定义

核心定理

没有免费的午餐定理(No Free Lunch Theorem, NFL):对于所有可能的优化问题,任何两个优化算法在所有问题上的平均性能是相同的。

2.2 数学表述

设有算法集合 $\mathcal{A} = \{a_1, a_2, ..., a_m\}$ 和问题集合 $\mathcal{P} = \{p_1, p_2, ..., p_n\}$,对于任意两个算法 $a_i$ 和 $a_j$:

$\frac{1}{|\mathcal{P}|} \sum_{p \in \mathcal{P}} \text{Performance}(a_i, p) = \frac{1}{|\mathcal{P}|} \sum_{p \in \mathcal{P}} \text{Performance}(a_j, p)$

即:在所有问题上的平均性能相同。

2.3 在优化问题中的意义

核心含义

直观理解

性能平衡

想象有两个算法:

如果考虑所有可能的优化问题(包括凸、非凸、离散、连续等),两个算法的平均性能是相同的。

2.4 在机器学习中的意义

核心含义

实际例子

算法 擅长的问题 不擅长的问题
线性回归 线性关系数据 非线性关系数据
决策树 非线性、可解释性要求高 高维稀疏数据
神经网络 大规模、复杂模式 小样本、需要可解释性
SVM 中小规模、高维数据 超大规模数据

2.5 如何理解NFL定理

关键点1:前提条件

重要前提

NFL定理的前提是考虑所有可能的问题,包括:

这是一个极其宽泛的假设,在实际应用中很少遇到。

关键点2:实际问题的局限性

在现实世界中:

实际意义

NFL定理告诉我们:没有万能算法,但在特定问题域内,某些算法确实优于其他算法。

2.6 研发更好算法的意义

核心答案

虽然NFL定理表明算法在所有问题上的平均性能相同,但这并不意味着研发新算法没有意义,原因如下:

1. 实际问题的有限性

例子

在图像识别领域:

2. 问题域的特殊性

不同领域的问题具有不同的特性:

领域 问题特性 适合的算法
计算机视觉 局部相关性、层次结构 CNN、Transformer
自然语言处理 序列依赖、长距离依赖 RNN、Transformer
推荐系统 稀疏性、协同效应 矩阵分解、深度学习
时间序列 时间依赖、周期性 ARIMA、LSTM

3. 算法的专门化

4. 多维度的性能指标

算法性能不仅仅是准确率,还包括:

例子:Transformer的成功

Transformer在NLP领域取得巨大成功,原因包括:

这些优势在特定的NLP问题域内非常显著,虽然在所有可能的问题上平均性能可能相同。

5. 科研的实际价值

2.7 总结

核心结论

NFL定理的启示

  1. 没有万能算法,算法的优劣是问题依赖
  2. 在设计算法时,应该针对特定问题域,利用先验知识
  3. 研发新算法的意义在于:在实际关心的问题子集上获得更好的性能
  4. 科研的价值不在于找到"最好"的算法,而在于找到最适合特定问题的算法

名言

"All models are wrong, but some are useful." - George Box

所有模型都是错的,但有些是有用的。

同样地:所有算法在所有问题上的平均性能相同,但在特定问题上,某些算法确实更有用。