梯度下降严格说,它实际上不是机器学习算法,而是一种优化算法。目的是根据搜索最小损耗函数找到最佳解决方案。由于其简单而良好的效果,因此在机器学习算法中广泛使用。
假设在两个维空间平面上,有以下功能:
因此,我们必须找到最低点,我们可以定义一个公式:y = y-ηy'(y'是y的指南数)。当我们重复上述公式时,我们可以发现,随着点的逐渐减小,y'的值越来越小,直到找到最低点为0时的y'值,而y值将不再更改。最低点。
其中,我们称其为“学习效率”。不难找到较小的小,我们在公式上的次数越多,结果的速度就慢了。但是,η的值不能为实现了太多,否则最低点可能第一次结束,然后逐渐偏离:
梯度下降方法不仅可以应用于两个维数据,而且还适用于多维数据。当将其晋升为多维的时,如下所示:
适用于多维事务,我们可以使用以前学到的多线性回归算法来帮助我们计算结果,并将从线性性获得的公式转换为矩阵的形式,我们可以通过代码实现上述算法。
这是随机梯度下降方法的扩展(上述方法我们通常成为批处理梯度下降方法),目的是提高计算速度。由于上述方法我们需要计算所有数据,因此很多数据需要计算时间,并且通过实验,即使一个数据是随机计算的,我们仍然可以达到最低点(最后(我们可以达到最低点)(此处类似于使用精度的时间)。
好吧,这就是想法。接下来,我们可以通过Python代码实现上述算法:
原始:https://juejin.cn/post/7096315783583809550