当前位置:网站首页>机器学习深度神经网络——实验报告
机器学习深度神经网络——实验报告
2022-06-26 10:06:00 【显然易证】
〇、实验报告pdf可在该网址下载
机器学习实验六:深度神经网络
这个需要积分下载(因为实验报告后台查重,不建议直接白嫖)。
建议看博客,博客里面会有很多实验报告小说明会用【…】加粗注释。
一、实验目的与要求
实验目的:
- 掌握神经元模型、全连接网络和CNN网络;
- 掌握前向传递和反向传递的原理以及推导。
实验要求:
- 全方面比较CNN与全连接网络的异同。
- 推导神经网络前向后向传播算法的优化迭代公式。
- 熟练掌握一种深度神经网络的算法与应用,并给出在人脸识别、身份证识别、通用手写体识别等方面的2个以上应用案例与效果(可在腾讯云上做,相关实验素材腾讯那边已准备,把相关东西搬到实验报告上来组织好即可)。
- 参考前人论文,另起一节,设计一个全新的深度神经网络,使其能在至少一个应用场景能PK过经典的 CNN与全连接网络或现有论文中的算法 ;简要内容写在实验报告中,详细的可写成一篇论文提交到“论文提交处”。
二、实验内容与方法
2.1 深度神经网络的知识回顾
根据周志华老师的《机器学习》一书中,来阐述神经网络模型。
2.1.1 神经元模型
神经网络中最基本的成分是神经元模型。在生物神经网络中,每个神经元与其他神经元相连,当它“兴奋”时,就会向相连的神经元发送化学午直,从而改变这些神经元内的点位;如果某神经元的电位超过了一个“阈值”,那么它就会被激活,即“兴奋”起来,向其他神经元发送化学物质。
1943年,[McCulloch and Pitts,1943]将上述情形抽象为图一所示的简单模型,这就是一直沿用至今的“M-P神经元模型”。
在这个模型中,神经元接收到来自n个其他神经元传递过来的输入信号,这些输入信号通过权重的链接进行传递,神经元收到的总输入值将与神经元的阈值进行比较,然后通过激活函数处理以产生神经元的输出。
2.1.2 从感知机到神经网络
1)二分类模型
感知机的模型是一个有若干输入和一个输出的模型(图二)。
其中输出和输入之间学习到一个线性关系,得到中间输出结果(公式1),接着是一个神经元激活函数,得到输出结果为1或者-1(公式2).当然,这个模型只能用于二分类,且无法学习比较复杂的非线性模型。

2.1.3 全连接神经网路(DNN)
1)基本介绍
神经网络是基于感知机的扩展,而DNN可以理解为有很多隐藏层的神经网络。多层神经网络和深度神经网络DNN也是指的一个东西,DNN有时也叫做“多层感知机(Multi-Layer perceptron,MLP)”。
2)基本结构


3)DNN前向传播算法


4)DNN反向传播算法



2.1.4 卷积神经网络(CNN)



2.1.5 DNN和CNN比较
1) 异:
- 问题范围:
· DNN 就是多层网络,只是用了很多技巧,让它能够 deep,所以解决问题比较广泛;
· CNN 专门解决图像问题的,可用把它看作特征提取层,放在输入层上,最后用MLP 做分类。 - 结构信息:
· DNN以向量形式输入,未考虑平面的结构信息,而在图像领域和自然语言处理领域,平面信息很重要。
· CNN最大的利用了图像的局部信息。因此CNN比DNN处理结果更好。
2) 同:
- 效率较低:
· 由于DNN、CNN的输入、输出长度固定,而自然语言处理中的语句长度通常不固定,所以DNN、CNN处理这种问题效率较低。 - 无法对时间序列上的变化进行建模:
· DNN和CNN都无法处理时序相关的序列问题。未来解决这些问题,出现了循环神经网络RNN。 - 局部最优:
· 随着神经网络的加深,优化函数更容易陷入局部最优,且偏离真正的全局最优,对于有限的训练数据,性能甚至不如浅层网络。
三、实验步骤与过程
3.0 实验说明
本次实验主要针对深度神经网络CNN在人脸识别案例和通用手写识别这两个案例进行实验,并展示其效果。本次实验也将进行调参,调整CNN卷积核大小、个数;池化层大小、步长等各个参数来探讨CNN网络在这些案例上的性能。
3.1 人脸识别案例
3.1.0 数据集介绍
(1) ORL56_46人脸数据集
该数据集共有40个人,每个人10张图片。每张图片像素大小为56×46。本次实验随机取每个类的80%作为训练样本集;每个类的10%作为验证集;每个类的10%作为测试集。
(2) Yale人脸数据集
Yale人脸数据库,其中有15人,每人11张图片。适用于模式识别领域,是人脸识别算法实验的不二之选,图片均为100*100尺寸。本次实验随机取每个类的9/11作为训练样本集;每个类的1/11作为验证集;每个类的1/11作为测试集。
(3) FERET人脸数据集
该数据集一共200人,每人7张,已分类,灰度图,80x80像素。第1幅为标准无变化图像,第2,5幅为大幅度姿态变化图像,第3,4幅为小幅度姿态变化图像。第7幅为光照变化图像。本次实验随机取每个类的5/7作为训练样本集;每个类的1/7作为验证集;每个类的1/7作为测试集。
3.1.1 数据处理与CNN网络设计
实验序号(1):定义CNN神经网络——输入为图像并给定图像大小;卷积核为3x3, 10个;采用5x5步长为2的最大池化。
实验序号(2):定义CNN神经网络——输入为图像并给定图像大小;卷积核为5x5, 10个;采用5x5步长为2的最大池化。
实验序号(3):定义CNN神经网络——输入为图像并给定图像大小;卷积核为3x3, 20个;采用5x5步长为2的最大池化。
实验序号(4):定义CNN神经网络——输入为图像并给定图像大小;卷积核为5x5, 20个;采用5x5步长为2的最大池化。
实验序号(5):定义CNN神经网络——输入为图像并给定图像大小;卷积核为3x3, 10个;采用2x2步长为2的最大池化。
实验序号(6):定义CNN神经网络——输入为图像并给定图像大小;卷积核为5x5, 10个;采用2x2步长为2的最大池化。
3.1.2 训练、测试与结果展示:
训练参数信息如下:
轮:共30轮
最大迭代次数:1170次 (训练结束状态:到达最后一次迭代)
硬件资源:单GPU
学习率调度:常数
学习率:0.01


3.2 通用手写体识别案例
3.2.0 数据集介绍
使用 digitTrain4DArrayData 和 digitTest4DArrayData 以四维数组的形式加载训练图像和验证图像。输出 YTrain 和 YValidation 是以度为单位的旋转角度。训练数据集和验证数据集各包含 5000 个图像。MATLAB自带该数据集,本次实验直接调用digitTrain4DarrayData和digitTest4DarrayData,可以直接通过以下方式导入训练数据和测试数据:
[XTrain, YTrain] = digitTrain4DArrayData;%导入训练数据
[XTest, YTest] = digitTest4DArrayData;%导入测试数据
在这一部分实验中,我将完善人脸识别模块没有考虑到的参数部分——“激活函数”。我主要考虑两个常用的激活函数:Softmax函数和ReLU函数。
3.2.1 数据处理与CNN网络设计
实验序号(1):定义CNN神经网络——输入为图像并给定图像大小;卷积核为3x3, 10个;采用2x2步长为2的最大池化。
实验序号(2):定义CNN神经网络——输入为图像并给定图像大小;卷积核为5x5, 10个;采用2x2步长为2的最大池化。
实验序号(3):定义CNN神经网络——输入为图像并给定图像大小;卷积核为3x3, 20个;采用2x2步长为2的最大池化。
实验序号(4):定义CNN神经网络——输入为图像并给定图像大小;卷积核为5x5, 20个;采用2x2步长为2的最大池化。
实验序号(5):定义CNN神经网络——输入为图像并给定图像大小;卷积核为3x3, 20个;采用5x5步长为2的最大池化。
实验序号(6):定义CNN神经网络——输入为图像并给定图像大小;卷积核为5x5, 20个;采用5x5步长为2的最大池化。
3.2.2 训练、测试与结果展示:
训练参数信息如下:
轮:共30轮
最大迭代次数:1170次 (训练结束状态:到达最后一次迭代)
硬件资源:单GPU
学习率调度:常数
学习率:0.01
激活函数为:Softmax

激活函数为:ReLU

四、实验结论或体会
4.1 实验结论
本次实验的实验结论如下:
人脸识别案例实验结论:
在数据集方面,当卷积神经网络模型面对不同数据集时,模型性能表现不同,当数据集规模较小时有着优秀的分类性能,但数据集较大时会出现准确率下降问题,这是由于图像种类、形状和颜色相差较大。
当数据集规模较大时,模型所需要计算的资源会提高,训练效果会受到计算机配置影响,因此,在模型训练过程中只能降低参数要求,延长模型训练时间来完成模型的训练,同样导致准确率下降。
参数设置不好容易造成过拟合的情况,比如FERET数据集的结果呈现,在训练集中的准确率接近100%,而在测试集中只有60%左右。
手写数字识别案例实验结论:
对比了Softmax和ReLU激活函数,其中ReLU激活函数无疑更胜一筹,作为AlexNet提出的激活函数,非常优秀,在很长一段时间内是设计CNN网络的默认激活函数,为网络带来稀疏性。
Softmax激活函数的范围很大,而大脑神经元的状态仅处于抑制或兴奋两种状态,不需要(-∞,∞)这么大的范围来描述它,Softmax函数会在某种程度上造成梯度消失的情况。
4.2 实验体会
本次实验报告对深度神经网络的模型,以及它们的正向传播算法、反向传播算法有了更加深刻的了解,并比较了全连接网络和卷积神经网络CNN两种网络的异同。在采用CNN在人脸识别案例和手写数据集案例的实验上,对神经网络的调参又有了一次深刻的体会。对于CNN网络模型(卷积层、池化层、全连接层),每个层所涉及的参数其实还是相对来说比较多的。实验中主要考虑了卷积核的大小、个数、池化步长和激活函数的设置,并采用了多次多种实验的方式,测得分类任务的识别率和效率。
本次实验也是机器学习这门课的最后一次实验报告,我也认认真真码完了7700+,以表示我对这门课由衷的热爱。不论是大一的计算机导论课,还是这学期我们正式系统地学习机器学习,阅读了近50篇论文的整个过程,毫无疑问,都是我在大学这两年进步最快的时间段。所以我非常感谢赖老师这么尽心尽力去准备机器学习这门课,准备这些论文,也很感谢亲切的助教,分享了很多知识,给出了很多建议,能在大学四年遇到你们尤其幸运!这也是最后一次码让人“又爱又恨”的机器学习实验报告了,竟有些不舍,那就最后用赖神最喜欢(也是我最喜欢)的《生于忧患,死于安乐》结尾吧:
舜发于畎亩之中,傅说举于版筑之间,胶鬲举于鱼盐之中,管夷吾举于士,孙叔敖举于海,百里奚举于市。故天将降大任于是人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为,所以动心忍性,曾益其所不能。
人恒过,然后能改,困于心,衡于虑,而后作;征于色,发于声,而后喻。入则无法家拂士,出则无敌国外患者,国恒亡,然后知生于忧患而死于安乐也。
机器学习实验报告就此完结撒花*,°:.*( ̄▽ ̄)/$:.°* 。!!!
边栏推荐
- Quantitative investment learning - Introduction to classic books
- Progressive Web 应用程序PWA是应用程序开发的未来
- Is it safe to use flush mobile phones to speculate in stocks? How to fry stocks with flush
- Linux下安裝Mysql【詳細】
- Notes - simple but adequate series_ KVM quick start
- Character sets and comparison rules
- Win10 start FTP service and set login authentication
- Huawei secoclient reports an error "accept return code timeout" [svn adapter v1.0 exclamation point]
- RDB持久化验证测试
- See how I store integer data in the map < string, string > set
猜你喜欢

That is to say, "live broadcast" is launched! One stop live broadcast service with full link upgrade

Concise course of probability theory and statistics in engineering mathematics second edition review outline

Developers, what is the microservice architecture?

2、 Linear table

【北邮果园微处理器设计】10 Serial Communication 串口通信笔记

April 13, 2021 interview with beaver family

ACK攻击是什么意思?ACK攻击怎么防御?

Fabric.js 上划线、中划线(删除线)、下划线

9、 Beautify tables, forms, and hyperlinks

Développeur, quelle est l'architecture des microservices?
随机推荐
Opencv image processing - grayscale processing
Progressive web application PWA is the future of application development
mysql性能監控和sql語句
Matrix fast power notes
MySQL 12th job - Application of stored procedure
The sixth MySQL job - query data - multiple conditions
即构「畅直播」上线!提供全链路升级的一站式直播服务
nacos2.x.x启动报错信息Error creating bean with name ‘grpcClusterServer‘;
UDP Flood攻击防御原理
[Beiyou orchard microprocessor design] 10 serial communication serial communication notes
laravel 安装报错 Uncaught ReflectionException: Class view does not exist
MySQL backup and restore command
最强swarm集群一键部署+氢弹级容器管理工具介绍
laravel-admin 非自增ID获取, 及提交隐藏表单
3、 Linked list exercise
Linux下安装Mysql【详细】
See how I store integer data in the map < string, string > set
laravel-admin隐藏按钮, 及设置按钮显示, 默认序列, form 表单的不可修改值
laravel中使用group by分组并查询数量
2、 Linear table