跳转至

P2-6.1 最优化(optimization)到底在寻找什么

Section ID: P2-6.1 Version: v2026.09.15

最优化(optimization)是在指定条件下,寻找使目标函数(objective function)最小或最大的值。必须明确可调整的值、比较标准以及应遵守的约束,才能判断哪个选择更好。

学习时间与分数预测

假设四名学生的学习时间与测验分数如下。

学生 学习时间 x 测验分数 y
A 1 55
B 2 65
C 3 80
D 4 90

现在的问题是:如果输入学习时间,我们该怎样选择那条预测分数的直线 y = ax + b? 在这里,我们并不是把 a 和 b 直接写成答案,而是要去比较几条候选直线,再找出更好的那一条,这正是最优化。

这里,学习时间 x 和真实分数 y 是已经观测到的固定数据。要改变的是直线的斜率 a 和截距 b。a 表示学习时间增加 1 时预测分数的增量;b 表示学习时间为 0 时直线预测的分数。

  • a = 10, b = 45 是一个候选。
  • a = 12, b = 40 是另一个候选。
  • 什么更好,要靠一个标准来判断,例如它和真实分数是否更接近。
  • 将预测与真实分数的差距汇总成数字的标准,称为损失(loss)。

两个候选的预测值如下。

学习时间 真实分数 a = 10, b = 45 a = 12, b = 40
1 55 55 52
2 65 65 64
3 80 75 76
4 90 85 88

用预测误差平方的均值比较,第一个候选为 (0 + 0 + 25 + 25) / 4 = 12.5,第二个为 (9 + 1 + 16 + 4) / 4 = 7.5。第一个候选准确预测了两个点,但按此标准综合四个点,第二个候选更好。

flowchart TD
    accTitle: 比较两个候选直线
    P["1. 参数组合<br/>候选 1: a = 10, b = 45<br/>候选 2: a = 12, b = 40"]
    Y["2. x = 1, 2, 3, 4 时的预测<br/>候选 1: 55, 65, 75, 85<br/>候选 2: 52, 64, 76, 88"]
    L["3. 误差平方的均值<br/>候选 1: 12.5<br/>候选 2: 7.5"]
    S["4. 两个候选中更好的选择<br/>a = 12, b = 40<br/>7.5 &lt; 12.5"]
    P --> Y --> L --> S
    classDef selected fill:#f0fdf4,stroke:#16a34a,color:#14532d
    class S selected

图中将两组参数应用于相同数据,再比较损失。选择第二个候选,只表示它在所比较的两个候选中更好,并不表示它是所有可能直线中的最优解。

最优化问题的组成

要素 在直线预测例子中的含义
变量(variable) 可调整的参数 a, b
候选(candidate) 一组变量值,例如 a=10, b=45
目标函数(objective function) 四个点的预测误差平方的均值
最小化(minimization) 寻找平均损失更小的候选
约束(constraint) 此例中 a, b 为实数,没有额外限制

最优化问题也可以没有约束。但如果规定了广告预算等必须遵守的上限,即使目标函数值较好,超出上限的候选也不能被选择。

各领域的最优化问题

最优化不是只在 AI 里使用的思考方式。只要 我们想做出好选择,但同时存在标准与约束,类似的问题就会出现。

领域 想找到什么 标准 约束
物流 配送路径 距离、时间、成本 车辆数量、时间限制、配送顺序
制造 生产计划 产量、不良率、成本 设备容量、库存、交期
广告 预算分配 转化率、销售额、点击率 预算、曝光限制、政策
服务运营 服务器资源部署 响应速度、稳定性、成本 服务器费用、流量波动
搜索/推荐 结果排序 点击、满意度、相关性 多样性、安全性、政策
机器学习 模型参数 损失、准确率、评估分数 数据、计算量、时间

资源分配与线性规划

线性规划(linear programming)用变量的线性表达式表示目标函数和约束。各变量乘以固定系数后相加,不把变量相乘或平方。George Dantzig 的单纯形法(simplex method)是求解这类问题的代表方法。

假设两种液体产品的产量为 u, v 升。每升利润分别为 3 千韩元和 2 千韩元,所需原料分别为 2kg 和 1kg。可用原料共 8kg,第一种产品最多可销售 3 升。产量允许为小数升。

要素 表达式 含义
目标 最大化 3u + 2v 总利润,单位为千韩元
原料约束 2u + v ≤ 8 原料使用量不超过 8kg
销售约束 u ≤ 3 第一种产品最多 3 升
产量条件 u ≥ 0, v ≥ 0 产量不能为负数

u=3, v=2 使用 8kg 原料,利润为 13 千韩元。u=0, v=8 同样使用 8kg 原料,利润却为 16 千韩元。第一种产品每升利润虽高,但原料消耗是另一种的两倍,因此在原料上限下,第二个方案更有利。u=3, v=3 的利润为 15 千韩元,却需要 9kg 原料,因此被排除。

最小化与最大化

最优化问题通常会用两个方向来表达。值越小越好的问题,是 最小化(minimization);值越大越好的问题,是 最大化(maximization)。

例如,移动时间、成本、误差、损失,通常都是想减少的。

相反,准确率、收益、满意度,通常都是想增加的。

在 AI 学习里,经常有需要减小的值。把预测与真实值的差距表示为数字,再调整模型值以减小这个数字。这个标准就是损失函数(loss function)。

目标与范围决定的最优值

最优(optimal) 这个词要小心地读。光看字面,它很像完美答案,但在现实里往往不是这样。

全局最优解是在满足约束的全部候选中,目标函数值最好的候选。只比较部分候选后得到的最好结果是否为全局最优,还需另行确认。

原料分配例子还可以确定所有可行候选的利润上限。把总利润改写为 3u+2v = 2(2u+v)−u,由 2u+v≤8 和 u≥0 可知,利润不超过 16 千韩元。u=0, v=8 确实达到这一利润,因此是这些条件下的全局最优解。最优解是产量组合 (0, 8),最优值是对应的目标函数值 16。

所以,当我们看一个最优化结果时,还要一起问下面这些问题。

  • 它是按什么标准被称为最优的?
  • 它是在什么候选范围里找到的?
  • 它考虑了哪些约束?
  • 现实中的其他条件有没有被漏掉?

这个视角会原样延续到 AI 模型评估中。某个模型即使在某个基准上得分很高,也不表示它在所有现实问题里都是最优。我们必须不断追问:它到底是在什么标准下更好?

参数改变如何影响损失

第二个候选 a=12, b=40 的预测值为 52, 64, 76, 88,分别比真实分数低 3, 1, 4, 2。四个预测值都偏低,因此可以固定斜率 a=12,提高截距 b。截距增加 2,四个预测值也都增加 2。

固定斜率 a 调整后的截距 b 预测值 误差平方的均值
12 40 52, 64, 76, 88 7.5
12 42 54, 66, 78, 90 1.5
12 42.5 54.5, 66.5, 78.5, 90.5 1.25
12 43 55, 67, 79, 91 1.5
12 45 57, 69, 81, 93 7.5

b=42.5 时,真实值减去预测值的误差为 0.5, −1.5, 1.5, −0.5,平方均值为 (0.25 + 2.25 + 2.25 + 0.25)/4 = 1.25。提高截距起初使损失降低,但继续提高又会使损失增大。最优化并不意味着一味增大数值,或始终朝同一方向改变。

这里的 a, b 是通过学习调整的模型参数(parameter)。观测数据保持不变,改变参数后重新计算预测值与损失。候选表呈现比较结果,但没有给出自动选择下一个候选的规则。应区分规定寻找什么的最优化问题与执行搜索的最优化算法。

此处减小的是这四名学生数据上的损失。对新学生的预测是否也有改善,需要用另外的数据检查。模型参数这一用法,应与描述总体均值等性质的统计参数(parameter)区分语境。

广告预算与转化数

假设目标为 最大化预期转化数,约束为 总成本不超过 1,000 万韩元。其他条件相同,且可选方案只有以下三个。

方案 总成本 预期转化数 是否满足预算约束
A 980 万韩元 1,200 次 满足
B 900 万韩元 1,150 次 满足
C 1,050 万韩元 1,260 次 不满足

C 的预期转化数最多,但超出预算,因此排除。A 与 B 相比,A 的转化数更多,因此选择 A。

如果目标改为 最小化每次转化的成本,A 约为 8,167 韩元/次,B 约为 7,826 韩元/次,因此选择 B。即使候选与预算相同,目标改变也会使最优选择改变。此比较使用自行构造的预期数值,不保证实际转化效果。

改变条件后重新选择

在以下条件改变后,重新计算或选择候选。预算或销售上限改变时,需要检查原来的选择是否仍然可行。

  1. 固定直线的 a=12,将 b 改为 41,预测值与平均损失分别是多少?是否比 b=40 更好?
  2. 若第二种液体产品也有销售上限 v≤4,在原料为 8kg 时,什么产量组合的利润最大?
  3. 若广告预算降至 900 万韩元,应选择哪个方案?再降至 850 万韩元时,还有可行方案吗?候选仅限正文中的三个方案。

解答: ① 预测值为 53, 65, 77, 89,平均损失为 (4+0+9+1)/4=3.5,小于 7.5。② u=2, v=4 时利润为 14 千韩元。由 3u+2v = 1.5(2u+v)+0.5v ≤ 12+2=14 可知,不可能取得更高利润。③ 预算为 900 万韩元时仅 B 可行;850 万韩元时没有可行方案。没有候选满足约束时,不能把“超出上限最少”的候选选为最优解。

检查清单

  • 能把最优化解释成不是直接写答案,而是寻找更好候选的过程。
  • 能区分 候选(candidate)、标准(criterion)、约束(constraint)。
  • 能用例子解释 最小化(minimization) 与 最大化(maximization)。
  • 能说明 最优(optimal) 并不总是现实中的完美答案。
  • 能把 AI 学习解释成通过调整模型参数来改进标准的过程。
  • 能把学习重新读成不是单纯计算,而是 寻找更好值 的问题。

  • 当候选、标准与约束混在一起时,能区分应比较什么、应遵守什么。

  • 能区分固定数据与可调整参数,并计算候选的预测值与损失。

  • 能改变条件,区分最优解、最优值与没有可行候选的情况。

来源与参考资料

  • Stephen Boyd, Lieven Vandenberghe, Convex Optimization, Cambridge University Press, 2004, 确认日期: 2026-09-15。依据 §1.1–1.2 核对最优化问题形式、线性目标与约束及单纯形法。液体产品原料分配的数值为自行构造的例子。
  • SciPy Developers, Optimization and root finding, SciPy API Reference, 确认日期: 2026-07-20。用于确认最优化工具会最小化或最大化目标函数,并可能包含约束的实际 API 语境。
  • Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, Chapter 8: Optimization for Training Deep Models, MIT Press, 2016, 确认日期: 2026-07-20。用于确认深度学习中通过降低成本函数(cost function)来调整参数的语境。
  • Gary Wolf, The Optimizer, Wired, 2001-12-01, 确认日期: 2026-07-20。用于确认 George Dantzig 和 simplex method 与物流、排程、网络优化等实际问题相连的历史语境。