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

本文介绍了一种使用神经网络识别手写数字的方法,并详细探讨了如何通过梯度下降算法来最小化网络的代价函数,使得预测值尽可能接近实际值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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变化的太慢。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值