【机器学习(五)】高级优化

声明:本文是以吴恩达机器学习系列课程为学习对象而作的学习笔记。本文对应P37。

回顾梯度下降算法

我们有一个代价函数J,而我们想要使它最小化。所以我们需要做的是,我们需要编写代码,当输入参数θ时,它们会计算出两样东西:J(θ)以及J等于0,1直到n时的偏导数项。
【机器学习(五)】高级优化_第1张图片
梯度下降所做的就是反复执行这些更新,所以给出我们用于计算这些的偏导数的代码,梯度下降法将其代入至下式,从而更新参数θ:
【机器学习(五)】高级优化_第2张图片

高级优化算法举例

梯度下降算法并非是我们可以使用的唯一算法,还有一些更高级更复杂的算法。我们可以用这些方法来计算J(θ)以及J等于0,1直到n时的偏导数项。

  1. 共轭梯度法
  2. BFGS
  3. L-BFGS

以上三种算法的优点是:

  • 不需要手动选择学习率α
    这些算法拥有一个智能内循环,成为线搜索算法,它可以尝试不同的学习速率α并自动选择一个好的学习速率α,甚至可以为每次迭代选择不同的学习速率
  • 收敛远远快于梯度下降

但是,这些算法远比梯度下降复杂得多。

你可能感兴趣的:(机器学习,人工智能,深度学习)