本文主要是介绍深度学习:优化算法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1 梯度下降
为什么梯度下降算法可以优化目标函数?
考虑一类连续可微实值函数\(f: \mathbb{R} \rightarrow \mathbb{R}\),
利用泰勒展开,我们可以得到
\[f(x + \epsilon) = f(x) + \epsilon f'(x) + \mathcal{O}(\epsilon^2).
\]
\[f(x - \eta f'(x)) = f(x) - \eta f'^2(x) + \mathcal{O}(\eta^2 f'^2(x)).
\]
\[f(x - \eta f'(x)) \lessapprox f(x).
\]
这意味着,如果我们使用
\[x \leftarrow x - \eta f'(x)
\]
来迭代\(x\),函数\(f(x)\)的值可能会下降。
因此,在梯度下降中,我们首先选择初始值\(x\)和常数\(\eta > 0\),
然后使用它们连续迭代\(x\),直到停止条件达成。
例如,当梯度\(|f'(x)|\)的幅度足够小或迭代次数达到某个值时。
这篇关于深度学习:优化算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!