优化算法:从理论到实践的全面解析
1. 优化简介
优化是指通过一系列计算步骤,确定一个或多个变量的函数的最大值或最小值。无论是符号学习还是数值学习,优化过程都可以被视为一种搜索。符号学习通过归纳生成规则,而数值学习则是逐步调整模型参数以最小化误差或最大化适应度。优化的目标是找到能够使目标函数最优的参数组合。
优化问题通常被认为是寻找最小值的问题,被最小化的函数称为成本函数。成本函数可以是期望输出与实际输出之间的差异,或称为误差。有时优化被视为最大化函数的值,此时称为适应度函数。实际上,这两种方法是等价的,因为适应度可以简单地看作是成本的否定,反之亦然。
2. 搜索空间
搜索问题的潜在解决方案构成了搜索空间或参数空间。如果正在寻找单个变量或参数的值,搜索空间是一维的。如果同时寻找 ( n ) 个变量的值,搜索空间是 ( n ) 维的。参数值的无效组合可以明确地从搜索空间中排除,或者假设它们将被优化算法拒绝而包含在内。
在组合问题中,搜索空间包括值的组合,其顺序没有特定的重要性,只要每个值的含义是已知的。例如,在一个钢轧机中,描述轧辊轮廓的参数组合可以优化,以最大化制造的钢的平整度。这里,每个可能的参数值组合代表搜索空间中的一个点。搜索空间的范围受到适用于变量的任何限制的约束。
相比之下,排列问题涉及某些属性的排序。最著名的例子之一是旅行商问题,他或她必须找到已知位置的城市之间的最短路线,每个城市只访问一次。对于每个城市的排列,称为一次旅行,我们可以将成本函数评估为旅行距离之和。每个可能的旅行代表搜索空间中的一个点。
2.1 适应度景观
我们可以为搜索空间中的每个点关联一个适应