2.7.1 了解你的问题
每个问题都是不相同。了解你的问题使你可以选择正确的工具。
问题的维数
优化问题的规模非常好的由问题的维数来决定,即,进行搜索的标量变量的数量。
2.7.1.1 凸优化 VS 非凸优化
凸函数:
- $f$ 在它的所有切线之上。
- 相应的, 对于两个点point A, B, f(C) 在线段[f(A), f(B])]之下, 如果 A < C < B
非凸函数
最优化凸函数简单。最优化非凸函数可能非常困难。
注意: 可以证明对于一个凸函数局部最小值也是全局最小值。然后,从某种意义上说,最小值是惟一的。
2.7.1.2 平滑和非平滑问题
平滑函数:
梯度无处不在,是一个连续函数
非平滑函数:
优化平滑函数更简单一些 (在黑盒最优化的前提是对的,此外线性编程是一个非常高效处理分段线性函数的例子)。
2.7.1.3 嘈杂 VS 精确成本函数
有噪音 (blue) 和无噪音 (green) 函数
噪音梯度
许多优化方法都依赖于目标函数的梯度。如果没有给出梯度函数,会从数值上计算他们,会产生误差。在这种情况下,即使目标函数没有噪音,基于梯度的最优化也可能是噪音最优化。
2.7.1.4 限制
基于限制的最优化
这里是:
$-1 < x_1 < 1$
$-1 < x_2 < 1$