《Neural network and deep learning》学习笔记(一)

Using neural nets to recognize handwritten digits


Learning with gradient descent

对于一个网络,它的代价函数:

C(w,b)12nxy(x)a2

其中,w和b为权重和偏置,n为输入样本总数,y(x)为输入样本x所属的类别,也就是groundtruth,a为经过网络计算后得到的向量。另外,C可以称作是二次代价函数,或者均方误差(MSE)。
我们要做的就是尽可能找到一组权重和偏置(w,b)来最小化代价函数,也就是说让预测值越接近groundtruth越好。训练算法采用梯度下降法(gradient descent)。
最小化 C(v) ,而 v=v1,v2, ,其中用 v 来表示w和b。假设代价函数C有两个分量,v1v2
这里写图片描述
我们要做的就是找到曲面的最低点,因此要得到C的梯度信息。
ΔCCv1Δv1+Cv2Δv2

注意啊,这里是变化值,不是梯度啊!
然后将上式中的导数部分提出来作为一个向量有: (Cv1,Cv2)T ,那么有:
C(Cv1,Cv2)T
注意这里就是梯度信息了啊! 然后 v1v2 也提出来作为一个向量: Δv(Δv1,Δv2)T ,然后见证奇迹的时刻到了!
ΔCCΔv
再然后令 Δv=ηC ,得到:
ΔCηCC=η|C|2
其中, η 就是所谓的学习率啦(learning rate)。这样,由于 C20 ,而且 η 为正数,那么就保证了 ΔC0
vv=vηC
按照这种方式逼近全局最小值。
关于learning rate的选取,如果过大会导致 ΔC>0 ,如果过小就会导致 Δv 变化的太慢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值