机器学习实验报告

  • 〇、实验报告pdf可在该网址下载
  • 一、实验目的与要求
  • 二、实验内容与方法
    • 2.1 深度神经网络的知识回顾
      • 2.1.1 神经元模型
      • 2.1.2 从感知机到神经网络
        • 1)二分类模型
      • 2.1.3 全连接神经网路(DNN)
        • 1)基本介绍
        • 2)基本结构
        • 3)DNN前向传播算法
        • 4)DNN反向传播算法
      • 2.1.4 卷积神经网络(CNN)
      • 2.1.5 DNN和CNN比较
        • 1) 异:
        • 2) 同:
  • 三、实验步骤与过程
    • 3.0 实验说明
    • 3.1 人脸识别案例
      • 3.1.0 数据集介绍
      • 3.1.1 数据处理与CNN网络设计
      • 3.1.2 训练、测试与结果展示:
    • 3.2 通用手写体识别案例
      • 3.2.0 数据集介绍
      • 3.2.1 数据处理与CNN网络设计
      • 3.2.2 训练、测试与结果展示:
        • 激活函数为:Softmax
        • 激活函数为:ReLU
  • 四、实验结论或体会
    • 4.1 实验结论
    • 4.2 实验体会

〇、实验报告pdf可在该网址下载

机器学习实验六:深度神经网络
这个需要积分下载(因为实验报告后台查重,不建议直接白嫖)。
建议看博客,博客里面会有很多实验报告小说明会用【…】加粗注释。

一、实验目的与要求

实验目的:

  1. 掌握神经元模型、全连接网络和CNN网络;
  2. 掌握前向传递和反向传递的原理以及推导。

实验要求:

  1. 全方面比较CNN与全连接网络的异同。
  2. 推导神经网络前向后向传播算法的优化迭代公式。
  3. 熟练掌握一种深度神经网络的算法与应用,并给出在人脸识别、身份证识别、通用手写体识别等方面的2个以上应用案例与效果(可在腾讯云上做,相关实验素材腾讯那边已准备,把相关东西搬到实验报告上来组织好即可)。
  4. 参考前人论文,另起一节,设计一个全新的深度神经网络,使其能在至少一个应用场景能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篇论文的整个过程,毫无疑问,都是我在大学这两年进步最快的时间段。所以我非常感谢赖老师这么尽心尽力去准备机器学习这门课,准备这些论文,也很感谢亲切的助教,分享了很多知识,给出了很多建议,能在大学四年遇到你们尤其幸运!这也是最后一次码让人“又爱又恨”的机器学习实验报告了,竟有些不舍,那就最后用赖神最喜欢(也是我最喜欢)的《生于忧患,死于安乐》结尾吧:

舜发于畎亩之中,傅说举于版筑之间,胶鬲举于鱼盐之中,管夷吾举于士,孙叔敖举于海,百里奚举于市。故天将降大任于是人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为,所以动心忍性,曾益其所不能。
人恒过,然后能改,困于心,衡于虑,而后作;征于色,发于声,而后喻。入则无法家拂士,出则无敌国外患者,国恒亡,然后知生于忧患而死于安乐也。

机器学习实验报告就此完结撒花★,°:.☆( ̄▽ ̄)/$:.°★ 。!!!

机器学习深度神经网络——实验报告相关推荐

  1. bp神经网络实验报告郑航_bp神经网络实验报告

    bp神经网络实验报告 深 圳 大 学 实 验 报 告 实验课程名称: 人工神经网络技术 实验项目名称: BP 神经网络对蝴蝶花分类 学院: 专业: 软件工程 报告人: 学号: 班级: 同组人: 无 指 ...

  2. BP神经网络实验报告

    BP神经网络实验报告 实验要求 构造一个三层的BP神经网络,完成手写0-9数字的识别 实验步骤 1. 从网上下载MNIST数据集 从官网上得到的数据集有4个,以IDX3-UBYTE的文件类型保存 tr ...

  3. 人工神经网络实验报告,生成数据的神经网络

    神经网络算法 实验报告 C++ . BP算法数值实验一.实验目的1.熟悉Matlab软件神经网络工具箱的使用:2.熟悉BP神经网络的基本工作原理:3.掌握BP神经网络的基本应用4.熟悉Matlab程序 ...

  4. 可视化神经网络实验报告,训练图像识别神经网络

    如何训练神经网络 1.先别着急写代码训练神经网络前,别管代码,先从预处理数据集开始.我们先花几个小时的时间,了解数据的分布并找出其中的规律. Andrej有一次在整理数据时发现了重复的样本,还有一次发 ...

  5. 【机器学习】决策树实验报告

    三.实验目的 利用决策树算法对数据进行训练建模,并实现输入一组数据就能预测出结果. 四.实验内容 1.实验背景与问题提出 决策树是一种非参数化监督学习方法,用于分类和回归.目标是创建一个模型,通过学习 ...

  6. bp神经网络实验报告结论,bp神经网络实验报告

    bp神经网络 BP(Back Propagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络 ...

  7. 机器学习线性回归算法实验报告_机器学习之简单线性回归

    为了利用机器学习进行简单的线性回归,先理解机器学习和线性回归的概念,然后通过案例进行机器学习.本文主要目录如下: 一.机器学习的概念 二.线性回归的概念 三.机器学习线性回归模型 (一)导入数据集 ( ...

  8. 机器学习线性回归算法实验报告_从零实现机器学习算法(九)线性回归

    1. 回归简介 在客观世界中普遍存在着变量与变量之间的关系.变量之间的关系一般可以分为确定关系和不确定关系.确定关系是指变量之间的关系可以通过函数关系来表达.非确定关系即所谓的相关关系.而回归分析是研 ...

  9. 机器学习线性回归算法实验报告_机器学习笔记 线性回归

    一.线性回归找到最佳拟合直线 1. 定义 线性回归是通过现有数据,让训练模型生成一个拟合公式,从而计算目标数据的预测值. 在统计学中,线性回归(Linear Regression)是利用称为" ...

  10. 深度学习实验总结:PR-曲线、线性回归、卷积神经网络、GAN生成式对抗神经网络

    目录 0.前言 1.实验一:环境配置 (1)本机 1.Jupyter 2.Pycharm (2)云端 2.实验二:特征数据集制作和PR曲线 一.实验目的 二.实验环境 三.实验内容及实验步骤 3.实验 ...

最新文章

  1. LINQ via C# 系列文章
  2. python交互式绘图库_一个交互式可视化Python库——Bokeh
  3. Element属性:scrollHeight,clientHeight,offsetHeight区别
  4. 刘奇:当今一切都要更实时、更弹性、更简单,TiDB 就是这样的基础设施 | TiDB DevCon 2020
  5. 研究生数学建模大赛多久出结果_商学院研究生参加中国研究生数学建模竞赛获得重大突破...
  6. smith圆图重要性_数学之美:浅谈Smith圆图
  7. 3-1 Aruba交换机实用配置-VSF 2020
  8. 文档型数据库Mongodb
  9. 如何批量将 png 图片转换为 jpg 格式
  10. Unity Shader 一 激光特效Shader
  11. 计算机怎么显示正确,电脑显示器怎么正确设置
  12. 【端午安康SXY】Python正则表达式进阶用法(以批量修改Markdown英文字体为例)
  13. 播布客的视频讲座-下载(持续更新2011-12-31)
  14. 杭电oj 2081 手机短号(C++)
  15. bim综合建模插件 进行碰撞检查只需六步!
  16. RPG手机游戏道具、物品、装备表设计
  17. 英国名校TOP10对Alevel成绩要求汇总
  18. 上dj是什么意思_彩超上显示“乳腺结节”到底是什么意思?
  19. 26岁从计算机视觉界“黄埔军校”博士毕业,他想为车打造一双慧眼
  20. 有趣的网站:河蟹娱乐

热门文章

  1. Markdown中在线编辑公式LaTex
  2. 卖计算机英语对话,买电脑英语情景对话
  3. linux 7 开机启动脚本,centos7 超简单实现开机自动启动多脚本管理
  4. Arcgis专题制图流程
  5. 阿里云域名解析详细步骤讲解
  6. MK808 vs Raspberry Pi
  7. latex公式符号大全
  8. matlab怎么画碎石图,R语言学习笔记-主成分分析(PCA)
  9. 段码液晶屏实现原理和需要注意的事项
  10. vulhub学习(1) ActiveMQ反序列化漏洞(CVE-2015-5254)复现