梯度下降法是一种致力于找到函数极值点的算法。

所谓“学习”便是改进模型参数,以便通过大量训练步骤将损失最小化。

将梯度下降法应用于寻找损失函数的极值点便构成了依据输入数据的模型学习。

梯度的输出是一个由若干偏导数构成的向量,它的每个分量对应于函数对输入向量的相应分量的偏导:
在这里插入图片描述梯度的输出向量表明了在每个位置损失函数增长最快的方向,可将它视为表示了在函数的每个位置向哪个方向移动函数值
可以增长。

在这里插入图片描述
可以将梯度下降简单理解为寻找函数最小值得过程,这个过程大概可以理解为如上图所示,在函数上随机取一个点,然后向函数的导数为零得方向移动

在这里插入图片描述
如何处理上面这种有多个导数为零的点呢?它的过程是随机初始化多个点,在函数上移动,找到倒数为零的点,然后进行比较,找到最小值的点。移动的距离称为学习速率,学习速率不能太小或太大,如果太大,可能会在极值点附近来回跳动,太小需要迭代很多次,tensorflow中adam算法的默认学习速率为0.01

三个变量的模型

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐