不同优化器下BP神经网络与LR的MNIST识别情况比较

本文对比了不同优化器在BP神经网络和LR识别MNIST数据集的效果,包括GradientDescent、Adadelta和Adam。实验表明,Adam优化器在BP神经网络中表现出色,能快速收敛并达到高识别率,而在LR中,各优化器差异不明显,识别率均在90%左右。BP网络在优化器的支持下,优势更为明显。

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

引言

最近在上模式识别的课,期末的作业是对MNIST库进行两种手段的识别并且比较两者之间的差异,这个是我最终的论文,放到优快云上供大家学习参考使用。当然有很多话是比较客套的,想要直接使用的同学可以删掉。
源码以及排版好的报告已经放到了我的优快云下载链接:
BP网络识别MNIST三种优化器
markdown报告文档
当中。

Back Propagation神经网络Logistic Regression在各类模式识别以及算法当中应用十分广泛,同时这两种识别算法需要一定的优化器来使得算法能够更加逼近最优解并且还能够加快收敛速度;同时手写数字识别由于书写较为随意,所以有一定的识别难度,尤其是在以追求完全正确识别率为目标的识别中各种优化算法有着很高的价值。

各类优化器(Optimizer)介绍:

优化器是智能识别中重要组成部分,由于算法本身收敛速度和对全局最优解的搜索能力有较大差异,所以需要优化器来加快算法本身的收敛并且脱离局部最优解以缩短算法所需要的时间并且提高准确率。

常见的优化器如下:

1.Batch Gradient Descent(BGD)

更新梯度的规则:对整个训练集的数据计算 cost function 对参数的梯度:
θ = θ − η ⋅ ∇ θ J ( θ ) \theta=\theta-\eta \cdot \nabla_{\theta} J(\theta) θ=θηθJ(θ)

​ 由于这种方法仅仅在一次更新里,就要对整个数据集计算梯度,所以计算时间很长,当遇到大量的数据集时会非常棘手,并且这种优化器不能让新数据实时 更新模型。

2.Mini-Batch Gradient Descent(MBGD)

更新梯度的规则:每一次仅仅利用一小批的样本,即 n 个样本进行计算,每一次循环作用于该批次的样本数据:
θ = θ − η ⋅ ∇ θ J ( θ ; x ( i : i + n ) ; y ( i : i + n ) ) \theta=\theta-\eta \cdot \nabla_{\theta} J\left(\theta ; x^{(i : i+n)} ; y^{(i : i+n)}\right) θ=θηθJ(θ;x(i:i+n);y(i:i+n))
Momentum通过对梯度mean的估计,使得梯度在纵向上的正负步长逐步抵消,横向上的步长逐步累积,从而减少了震荡,加快了学习速率。

3.Momentum

更新梯度的规则:引入参数 γ v t − 1 \gamma v_{t-1} γvt1
v t = γ v t − 1 + η ∇ θ J ( θ ) θ = θ − v t \begin{array}{l}{v_{t}=\gamma v_{t-1}+\eta \nabla_{\theta} J(\theta)} \\ {\theta=\theta-v_{t}}\end{array} vt=γvt1+ηθJ(θ)θ=θvt

4. Adadelta

Adadelta优化算法会对低频的参数做的更新会比较大,同时对高频的做的更新会比较小,所以对于稀疏的数据Adadelta优化器的表现很好,能够比较好地提高 SGD 的鲁棒性。
梯度更新规则:
θ t + 1 , i = θ t , i − η Δ θ t + ϵ ⋅ g t , i \theta_{t+1, i}=\theta_{t, i}-\frac{\eta}{\sqrt{\Delta \theta_{t}+\epsilon}} \cdot g_{t, i} θt+1,i=θt,iΔθt+ϵ η

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值