高级优先算法

梯度下降法回顾

我们有个代价函数J(θ)而我们想要使其最小化,那么我们需要做的是编写代码来当输入参数θ时,代码会计算出两杨对象,J(θ)以及J(θ)等于0到n时的偏导数项,假设我们以及完成了可以实现这两件事的代码,那么梯度下降法要做的就是反复执行更新迭代θ值

简单的讲就是我们需要写代码来计算出代价函数J(θ)以及J(θ)的各项偏导数。再带入到梯度下降法的θ迭代公式中,然后最小化代价函数。
如图:
机器学习 学习总结 第四章 提高逻辑回归梯度下降效率的高级优先算法

高级优先算法

先假设有一个例子:
有一个含有两个参数的问题,分别是θ1和θ2 。那么代价函数以及偏导数如图:
机器学习 学习总结 第四章 提高逻辑回归梯度下降效率的高级优先算法
可以用梯度下降法计算**J(θ)**的最小值,也可以用更高级的算法,不如调用一个函数,如下:

机器学习 学习总结 第四章 提高逻辑回归梯度下降效率的高级优先算法
这个函数会返回两个值,一个是jVal, gradient 第二个返回值返回的梯度值,是一个2*1的向量。分别对应了两个偏导数项。

然后就可以调用高级优先算法来计算。代码如下:
机器学习 学习总结 第四章 提高逻辑回归梯度下降效率的高级优先算法
GradObj 和on 设置梯度目标参数为打开(on)。 MaxIter 100为迭代次数。 @costFunction @表示的是一个指向costFunction的指针。
这个算法就可以自己选择学习效率α

在Octave中的代码如图所示:
机器学习 学习总结 第四章 提高逻辑回归梯度下降效率的高级优先算法
exitFlag = 1 表示已经收敛了,并且得到了θ值。

对于多元时的代价函数

只用吴恩达老师课上的一张图解释:
机器学习 学习总结 第四章 提高逻辑回归梯度下降效率的高级优先算法

关于本节的课程,建议观看吴恩达老师的课程:
https://www.bilibili.com/video/av9912938?p=38

————————————————

相关文章:

  • 2021-05-08
  • 2021-11-25
  • 2021-04-24
  • 2021-07-03
  • 2021-05-30
  • 2021-07-22
  • 2022-12-23
  • 2021-06-26
猜你喜欢
  • 2021-04-26
  • 2022-12-23
  • 2021-12-21
  • 2021-05-22
  • 2021-06-07
  • 2021-08-19
  • 2021-05-14
相关资源
相似解决方案