Python3入门机器学习之4.2模拟实现梯度下降法

Python3入门机器学习

4.2 模拟实现梯度下降法

怎样判断当前的theta或θ是否达到最小值了呢?
理论上来到了最小点,其实是导数为0。不过在这里在具体编程实现时,有一些问题需要注意。我们的可能设置的η不合适,或者我们在求导时有各种浮点精度的问题,使得我们求得的最小值点达不到导数正好等于0。
既然是梯度下降,理论上我们每一次求得新的θ,它对应损失函数的值都应该比上一个θ对应的损失函数的值还要小。如果小的这部分已经达到了我们的精度要求,那么我们就可以说基本上来到了最小值。

1.首先准备模拟的数据,我们以一元二次函数为例:
Python3入门机器学习之4.2模拟实现梯度下降法
Python3入门机器学习之4.2模拟实现梯度下降法
2.找最小值点的过程:
Python3入门机器学习之4.2模拟实现梯度下降法
3.绘制梯度下降的过程图:
Python3入门机器学习之4.2模拟实现梯度下降法