寻找最小值的算法:从确定性到随机性的探索
在优化问题中,寻找函数的最小值是一个核心任务。不同的算法适用于不同的场景,各有其优缺点。下面将详细介绍几种常见的寻找最小值的算法。
1. 学习率与二次近似
在某些算法中,学习率的选择至关重要。对于校正项,存在如下误差范围:
[0 < \frac{1}{2}\delta^2\lambda_{min}|\nabla f(x_n)|^2 \leq \frac{1}{2}\delta^2\langle H_f(x_n)\nabla f(x_n), \nabla f(x_n)\rangle \leq \frac{1}{2}\delta^2\lambda_{max}|\nabla f(x_n)|^2]
如果校正项过大,不等式 (f(x_{n + 1}) < f(x_n)) 可能不成立。考虑最坏情况,当校正项取最大值时,需要满足:
[f(x_n) - \delta|\nabla f(x_n)|^2 + \frac{1}{2}\delta^2\lambda_{max}|\nabla f(x_n)|^2 < f(x_n)]
这等价于学习率 (\delta) 满足:
[\delta < \frac{2}{\lambda_{max}}]
若学习率满足上述条件,二次近似为 (f(x_{n + 1})) 提供的值将低于 (f(x_n))。
2. 牛顿法
假设 (f: \mathbb{R}^n \to \mathbb{R}) 是 (C^2) 类函数,(x_0 \in \mathbb{R}^n) 是 (f) 最小值的初始猜测点,且 (f) 在 (x_0) 的邻域
超级会员免费看
订阅专栏 解锁全文
5万+

被折叠的 条评论
为什么被折叠?



