在数学中,极值问题是寻找函数最大值或最小值的问题。这类问题广泛存在于工程实践中:如何设计结构使其最轻?如何分配资源使收益最大?如何调整参数使误差最小?
其中 f(x) 为目标函数,x 为决策变量
当目标函数为凸函数(下凸)时,任何局部最小值都是全局最小值,梯度下降法可以保证收敛到最优解。
实际工程问题往往涉及非凸函数,存在多个局部极小值点,需要更智能的全局搜索算法。
梯度下降法(Gradient Descent)是最基础也是最重要的优化算法。它源自一个直观的比喻:就像下山的路人,每次都沿着最陡峭的方向迈出一步,最终到达山谷。
其中 α 为学习率(步长),∇f(x) 为梯度
梯度下降在抛物线上的迭代过程 - 点击下方按钮开始
每次迭代使用全部样本计算梯度。收敛稳定,但速度慢,适合小数据集。
每次迭代使用单个样本计算梯度。速度快但波动大,可能跳出局部最优。
每次使用一批样本(如32、64个)。兼顾速度和稳定性,是深度学习的默认选择。
模拟退火算法(Simulated Annealing)灵感来自金属退火过程:先将金属加热至高温使其原子剧烈运动,然后缓慢冷却,原子逐渐趋于稳定排列。算法通过模拟这一过程,以一定概率接受较差解,从而跳出局部最优。
ΔE:新解与当前解的能量差,T:当前温度
模拟自然界"自然选择、优胜劣汰"的进化规律。通过选择、交叉、变异三个算子,在种群中不断进化出更优秀的个体。
模拟蚂蚁觅食行为。蚂蚁在路径上留下信息素,其他蚂蚁倾向于选择信息素浓度高的路径。短路径上的信息素积累更快,形成正反馈。
模拟鸟群觅食行为。每个"粒子"根据自身历史最优和群体历史最优更新位置,在解空间中飞行搜索。
| 算法 | 搜索策略 | 适用场景 | 复杂度 |
|---|---|---|---|
| 梯度下降 | 梯度导向 | 凸优化、深度学习 | 低 |
| 模拟退火 | 概率接受劣解 | 组合优化、TSP | 中 |
| 遗传算法 | 种群进化 | 复杂函数优化 | 中高 |
| 蚁群算法 | 信息素反馈 | 路径规划问题 | 中 |
| 粒子群 | 群体智能 | 连续函数优化 | 低 |
J(θ)=θ² 函数上的梯度下降迭代路径