MNIST数字识别(2):网络引出的一些问题

朋友,沉下心来阅读你才会有收获,不要对长篇文字和代码感到畏惧,他们是你走向成功的伙伴

在上一篇的文章中,我们觉得该网络还可以进行优化,因为该简单网络的效果并不是很优秀。主要是准确率不够,我们也提出了改进的方向,包括:

  1. 初始化不同的权值和偏置值
  2. 增加网络的隐藏层的层数
  3. 隐藏层的神经元数
  4. 选择不同的代价函数
  5. 改变batch size的大小
  6. 改变训练的次数
  7. 改变激活函数的类型
  8. 改变梯度下降的学习率或者采用其他的优化方法。

1.代价函数的选择以及其中的数学原理推导的过程

在这些方法中,作者详细的介绍了一下增加神经网络隐藏层的层数,和代价函数的选择的问题。
关于代价函数的选择是一个很重要的调试神经网络的方法,这一点是我们要牢记的,这一点你以后会在很多的论文中看到。
(但是这个问题的完整的描述好像应该是神经元激活函数和代价函数的搭配????而不仅仅是代价函数的选择吧)

问题分析
在代价函数的选择中,我们一开始选择的是二次代价函数,也就是均方误差函数。

上式即为二次代价函数,该函数来源于最小二乘法。

在MNIST例子中使用该代价函数,主要的问题在于
在这里插入图片描述
在该代价函数中,W和b的梯度和激活函数的梯度成正相关,激活函数的梯度越大,W,b调整的越大,激活函数的梯度越小,W,b调整的越小。但是当我们使用sigmoid函数时,

在这里插入图片描述
假定我们的目标是要收敛到0,当位于A点时,梯度大 调整步伐大(正确)。位于B点时,梯度小,调整步伐小(此时不合理性显现出来了)

交叉熵损失函数

我们改用交叉熵损失函数,公式如下:
在这里插入图片描述
对该函数求梯度
在这里插入图片描述
可以看出损失函数关于W,b的梯度,都是与预测值和真实值之间的误差成正相关的,这样的话,无论处在什么样的位置,调整方案都应该是合理的。

由此可以看出代价函数和激活函数的搭配必须合理,这些问题都是有理论支撑的,科学不存在那么多约定俗成。

在更换了更加合理的代价函数之后,再次运行该模型,可以看到模型的收敛的速度明显的提升了,虽然精度提升的并不多。

从其中的数学原理的推导过程的学习反思了一下:自己去探讨问题的积极性还不够,你看到了这个问题也许你能够学明白这个问题。但是你自己很难产生新的问题,所以思维能力一直上不去。

2.过拟合问题及其解决的措施

在改善该神经网络的时候,我们还采用了另外一种,增加神经网络隐藏层层数的方法,该方法也能够提高模型的精度。但是在神经网络层数和神经元个数过于复杂的时候,出现了过拟合现象。

2.1过拟合现象如何产生的

在我们的机器学习任务中,我们希望得到的模型是具有足够泛化能力的模型。
而过拟合则是指,过度拟合了训练集的数据,导致泛化能力不足。也可以说是从训练数据中学到了太多的信息,把那些不代表数据一般性的信息也纳入了模型之中,而这些信息对模型的判断产生了误导。

我们可以这样理解,一个学生平时学习太过于注重书本上的知识,通篇课本事无巨细,背诵的一字不差,然而考试时不会出现原题,他的脑子里全是课本上的知识,没有足够的分析推理能力,因此他获得了很差的成绩。

2.1.1 过拟合的一个疑问:
在吴恩达老师的课程中,回归问题的过拟合现象被这样描述:
在这里插入图片描述
在这个问题中我们可能会产生如下的疑问:
为什么过拟合情况下就不能正确的预测呢?数据的分布也可能是和过拟合现象刚好吻合的啊!你看它如此的精确的学习训练集。

事实上,这里涉及到机器学习的一个最基本的概念,在我们的机器学习的任务中,我们通常都是事先有一个假定的,这个假定被称为归纳偏好。在这里,我们想要的模型的归纳偏好是拟合情况,因为我们要解决的问题在拟合情况下得到更优秀的解(这是一个假定,别问为什么)。而按照你的疑问的思路,如果你的归纳偏好是过拟合情况,也就是你所说的,数据的分布刚好和过拟合情况吻合,那么过拟合才是优秀的解,此时的这里的拟合,变成你的欠拟合情况。
总的来说,机器学习模型的优秀与否不是绝对的,它取决于你所要解决的问题。

2.2过拟合现象出现场景

在数据量较少的时候,模型较大的时候,比如说我们用Google Net,AlexNet来训练一个只有一万张图片的训练集,此时的过拟合情况就会非常的严重。

2.3过拟合现象的解决措施

过拟合现象的解决措施主要有三
1.增加训连数据集的尺寸,采用大量数据进行训练
2.采用正则化的方法
3.Dropout

这三种解决措施目前还没有详细了解,之后再添加。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值