每天五分钟机器学习:实际编程中如何完成梯度下降算法?

梯度下降

假设我们现在有一个代价函数J(θ),而我们想要使用梯度下降算法使其最小化,我们需要编写一个代码,这个代码就是,当我们输入θ时,它会计算两样东西:

第一个:计算此时参数θ对应的损失J(θ)

第二个:此时J(θ)对此时参数θ的偏导数
每天五分钟机器学习:实际编程中如何完成梯度下降算法?_第1张图片

假如我们已经完成了这两项,那么梯度下降算法就是反复执行下面参数更新
每天五分钟机器学习:实际编程中如何完成梯度下降算法?_第2张图片

其实,就上图而言,对于梯度下降来说,其实我们并不需要编写代码来计算代价函数J(θ)。我们只需要编写代码来计算偏导数项。

但是如果你希望使用代码监控的梯度下降的收敛性,那么我们就需要自己编写代码来计算代价函数 J(θ),并且画出J(θ)的图像就可以监控梯度下降的过程了。

你可能感兴趣的:(每天五分钟玩转机器学习算法)