📊 优化算法

Optimization Algorithms - 从极值到智能搜索

← 返回课件

🎯 极值问题与优化算法

在数学中,极值问题是寻找函数最大值或最小值的问题。这类问题广泛存在于工程实践中:如何设计结构使其最轻?如何分配资源使收益最大?如何调整参数使误差最小?

优化问题的标准形式:
min f(x) 或 max f(x)

其中 f(x) 为目标函数,x 为决策变量

📈 凸优化

当目标函数为凸函数(下凸)时,任何局部最小值都是全局最小值,梯度下降法可以保证收敛到最优解。

🌀 非凸优化

实际工程问题往往涉及非凸函数,存在多个局部极小值点,需要更智能的全局搜索算法。

⬇️ 梯度下降法

梯度下降法(Gradient Descent)是最基础也是最重要的优化算法。它源自一个直观的比喻:就像下山的路人,每次都沿着最陡峭的方向迈出一步,最终到达山谷。

核心公式:
x = x - α · ∇f(x)

其中 α 为学习率(步长),∇f(x) 为梯度

1
初始化:随机选择初始点 x₀,设置学习率 α
2
计算梯度:求目标函数在当前点的梯度 ∇f(x)
3
更新参数:沿梯度的反方向移动:x ← x - α∇f(x)
4
检查收敛:若梯度足够小或达到迭代次数,停止;否则返回步骤2

🎬 梯度下降可视化

梯度下降在抛物线上的迭代过程 - 点击下方按钮开始

批量梯度下降 (BGD)

每次迭代使用全部样本计算梯度。收敛稳定,但速度慢,适合小数据集。

随机梯度下降 (SGD)

每次迭代使用单个样本计算梯度。速度快但波动大,可能跳出局部最优。

小批量梯度下降 (MBGD)

每次使用一批样本(如32、64个)。兼顾速度和稳定性,是深度学习的默认选择。

❄️ 模拟退火算法

模拟退火算法(Simulated Annealing)灵感来自金属退火过程:先将金属加热至高温使其原子剧烈运动,然后缓慢冷却,原子逐渐趋于稳定排列。算法通过模拟这一过程,以一定概率接受较差解,从而跳出局部最优。

模拟退火原理 高温 → 低温 高温:接受差解 低温:拒绝差解 接受 拒绝
Metropolis接受准则:
P(接受) = exp(-ΔE / T)

ΔE:新解与当前解的能量差,T:当前温度

1
初始化:随机生成初始解,设置高温 T₀ 和降温系数 α
2
生成邻域解:在当前解附近随机生成一个新候选解
3
接受判断:若新解更优则接受;若更差则以概率 exp(-ΔE/T) 接受
4
降温:T ← α·T,重复步骤2-3直至温度足够低

🧬 其他智能优化算法

🧬 遗传算法 (Genetic Algorithm)

模拟自然界"自然选择、优胜劣汰"的进化规律。通过选择、交叉、变异三个算子,在种群中不断进化出更优秀的个体。

✓ 优点

  • 全局搜索能力强
  • 不依赖梯度信息
  • 可并行化计算

✗ 缺点

  • 收敛速度较慢
  • 参数敏感
  • 易陷入早熟收敛

🐜 蚁群算法 (Ant Colony Optimization)

模拟蚂蚁觅食行为。蚂蚁在路径上留下信息素,其他蚂蚁倾向于选择信息素浓度高的路径。短路径上的信息素积累更快,形成正反馈。

✓ 优点

  • 分布式并行搜索
  • 自组织能力强
  • 适合路径优化问题

✗ 缺点

  • 初期收敛慢
  • 易陷入局部最优
  • 参数调节复杂

粒子群优化 (PSO)

模拟鸟群觅食行为。每个"粒子"根据自身历史最优群体历史最优更新位置,在解空间中飞行搜索。

✓ 优点

  • 算法简单易实现
  • 收敛速度快
  • 参数少

✗ 缺点

  • 后期易陷入局部最优
  • 对多峰问题效果有限
  • 理论基础薄弱

📊 算法对比总结

算法 搜索策略 适用场景 复杂度
梯度下降 梯度导向 凸优化、深度学习
模拟退火 概率接受劣解 组合优化、TSP
遗传算法 种群进化 复杂函数优化 中高
蚁群算法 信息素反馈 路径规划问题
粒子群 群体智能 连续函数优化

📸 算法示意图

遗传算法流程

编码 初始化种群 评估适应度 选择 交叉 变异

梯度下降示意

梯度下降可视化

J(θ)=θ² 函数上的梯度下降迭代路径