神经网络的梯度下降法

论坛 期权论坛 脚本     
匿名技术用户   2020-12-22 15:17   30   0

常用的神经网络如BP神经网络、RBF神经网络等都有三层神经元,即输入层、隐藏层和输出层。我们知道通过不断的修改神经元之间的权值和偏置使网络的输出能够拟合所有的训练输入,为了量化这个目标,引入一个代价函数:

这里写图片描述
其中w表示所有网络中权值集合,b是所有的偏置,n是训练输入数据的个数,a表示当输入为x时输出的向量。此代价函数是非负的,且值相当小,当a接近y(x)时,C(w,b)约等于0,此时网络可以很好的工作。因此梯度下降法的目标就是找到一系统能让代价尽可能下的权重和偏置。
对于变量w,b,当我们分别改变很小的量w,b时,由微积分可得C将会有如下变化:
这里写图片描述
我们要寻找一种选择w,b使得C为负,这样每次改变w,b的值,C都在不断变小直到接近于0。定义这里写图片描述,T是转置符号,用C梯度向量定义偏导数的向量这里写图片描述,即:这里写图片描述
这里写图片描述
假设取(w,b)等于-nC,其中n为很小的正数称为学习速率。则这里写图片描述,保证了C≤0。因此,只要我们按照上式的规则去改变C,那么C会一直减小,C就是所需要的梯度。每次改变w和b的值:这里写图片描述,然后用它再次更新规则计算下一次移动,反复持续这样做,将持续减小C直到获得全局的最小值。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP