- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
(p1)
在本节课开始,我们将进行手写数字识别任务的实践操作。
手写数字识别是一项重要的机器学习任务,它可以帮助我们识别和分类手写的数字字符。
在这个任务中,神经网络的训练是关键步骤,它能够自动学习并获取最优的权重参数。
神经网络的训练过程可以分为两个主要阶段。
首先是前向传播算法,它通过输入数据和当前的权重参数计算神经网络的输出结果,也就是预测值。
然后,我们使用损失函数来衡量预测值与真实值之间的差距。
损失函数通常采用均方误差或交叉熵等形式,帮助我们评估神经网络的性能。
接下来,是反向传播算法的应用。
反向传播算法通过计算损失函数对每个参数的梯度,
来确定每个参数对损失函数的影响程度。
这个过程可以看作是一种反向的信息传递,通过梯度的计算,
我们可以知道在当前权重参数下,损失函数的变化情况。
最后,我们使用合适的梯度下降算法对权重进行更新,以使损失函数最小化。
梯度下降算法根据梯度的方向和大小,沿着损失函数的负梯度方向进行参数的更新。
通过不断地迭代和更新权重,我们可以逐渐优化神经网络的性能,使其在手写数字识别任务中达到最佳状态。
为了评估神经网络的性能,我们通常会将数据集分成训练集和测试集。
训练集用于训练神经网络,通过不断地调整权重参数,
使得神经网络能够更好地适应训练数据。
而测试集则用于评估神经网络在未见过的数据上的表现,
帮助我们判断模型的泛化能力。
(p2)
神经网络的训练及参数更新的过程如图所示。
我们先进行参数初始化。
然后获取Bach数据,进行前向传播算法,然后计算预测值。
我们来确认它是否达到训练要求,
如果能达到,那就训练结束,
如果达不到训练要求,那么就通过损失函数进行计算,
进行反向传播算法,然后更新参数,
再进入batch参数,然后前向传播计算预测值,
再来进行判断,一直到达可以达到训练要求为止
(p3)
好,那首先进行我们实践任务的第一个阶段:MNIST数据处理。
在手写数字识别任务中,我们使用MNIST数据集进行训练。
MNIST是由YannLeCun等人创建的手写数字识别数据集,
该数据集包含了大量的手写数字图片及其对应的标签。
这个数据集被广泛应用于手写数字识别神经网络的建模中,
因为它可以很好地训练和评估模型的性能。
MNIST数据集中的图片共有10类,对应的阿拉伯数字为0~9。
每张图片都是28x28的灰度图像,像素值的范围在0~255之间。
我们需要将这些图像数据进行预处理,以便于神经网络的训练。
具体来说,我们需要将像素值进行归一化处理,将其缩放到0~1之间。
在实践中,我们通常会采用交叉验证等方法来评估模型的性能,
以确保模型的泛化能力和稳定性。
(p4)
那首先我们第一步要做的操作,
就是了解一下这个数据集,
这个数据集呢,我们需要去MINIST的官网,
把这个对应的四个类型的文件下载下来。
分别是训练集图像、训练集标签,
测试集图像以及测试集标签,
我们可以去官网看一下,这是它的官网地址。
进来之后,就是这样的四个数据集,
分别有不同大小的字节,把这几个文件分别下载下来
(p5)
那下一步呢,就是我们导入数据集。
在PyTorch中,有一个非常重要并且好用的包是torchvision,
该包主要由3个子包组成,分别是models、datasets和transforms。
models定义了许多用来完成图像方面深度学习的任务模型。
datasets中包含MINIST、FakeData、COCO、ImageFolder、DatasetFolder、ImageNet、CIFAR等一些常用的数据集,
并且提供了数据集设置的一些重要参数,
可以通过简单数据集设置来进行数据集的调用。
transforms用来对数据进行预处理,
预处理会加快神经网络的训练,常见的预处理包括从数组转成张量(tensor)、归一化等。
(p6)
在正式导入数据集之前,
我们先将过程中所需的python包进行导入
包括了numpytorchtorchvision
torchvision中的datasets模块transforms模块
以及画图所需要的matplotlib.pyplot
(p7)
完成导包的操作后,我们先进行MNIST训练集的导入
我们来分析一下这段代码的结构
首先在使用torch.utils.data.DataLoader()导入数据集时
需要传递root,train,download,transform,batch_size,shuffle
这6个参数,我们分别来解释一下这6个参数
root指定了数据集存放的文件夹地址,也就是我们前面下载的MNIST数据集存放的位置
train用来确定加载的数据集类型,取True表示加载为训练集,
您可能关注的文档
- 深度学习案例教程 教案全套 钱月钟 第1--9章 深度学习简介--语音识别.docx
- 深度学习案例教程 教案1.3 深度学习的发展.docx
- 深度学习案例教程 教案1.1 人工智能与机器学习.docx
- 深度学习案例教程 教案1.6 深度学习的应用领域-自然语言的处理.docx
- 深度学习案例教程 教案1.2 深度学习定义及分类.docx
- 深度学习案例教程 教案1.5 深度学习的应用领域-计算机视觉.docx
- 深度学习案例教程 教案1.4 深度学习的应用领域-语音识别.docx
- 深度学习案例教程 教案1.8 深度学习框架介绍.docx
- 深度学习案例教程 教案1.7 深度学习的特点.docx
- 深度学习案例教程 教案2.2PyTorch安装和Pycharm安装.docx
- 苏教版8年级上册数学全册教学课件(2021年10月修订).pptx
- 比师大版数学4年级下册全册教学课件.pptx
- 冀教版5年级上册数学全册教学课件.pptx
- 办公室普通党员2024年组织生活会个人对照检查发言材料供参考.docx
- 领导班子成员2025年组织生活会“四个带头”对照检查材料范文.docx
- 2024年度专题组织生活会个人“四个带头”对照检查材料范文.docx
- 党支部领导班子2025年民主生活会“四个带头”个人对照检查材料范文.docx
- 2024年抓基层党建工作述职报告参考范文.docx
- 2024年度民主生活会征求意见情况的报告范文2篇.docx
- 普通党员2024年组织生活会个人“四个带头”对照检查发言材料2篇.docx
文档评论(0)