【MATLAB深度学习工具箱】学习笔记--螃蟹公母分类Crab Classification
介绍
本示例展示如何把神经网络设计为一个分类器来根据螃蟹各特征尺寸的鉴别螃蟹的公母。
问题定义
对螃蟹进行分类。本示例将设计一个分类器,用于根据螃蟹的各特征尺寸对螃蟹的公母进行区分。
本示例选取了六个特征,如下所示:【注:具体的特征是什么对认识问题并不重要】
species
frontallip
rearwidth
length
width
depth
为何采用神经网络?
与之前文章中的描述类似,神经网络可以有效处理分类问题,尤其是非线性问题。
输入:螃蟹的六种特征尺寸;
输出:螃蟹的公母。
数据准备
与之前文章中的描述类似,输入矩阵为X,输出为矩阵T。
[x,t] = crab_dataset;
size(x)
size(t)
ans =
6 200
ans =
2 200
数据分析
因素1,因素2如下图
因素3,因素4如下图
因素5,因素6如下图
从上述图无法直观看出6个因素与螃蟹公母的关系,需要进行神经网络进行分辨。
神经网络分类器构建
与上一个例子相同,为了实现每次仿真分析过程一致,在仿真开始对随机数种子进行了设置。如下所示。
setdemorandstream(491218382)
在隐藏层神经网络足够多的情况下,两层前向型神经网络(其中一层为隐藏层)可以拟合任意的输入-输出关系。非输出层的各层称为隐藏层。
本示例中隐藏层神经元个数为10个。一般而言,问题越复杂,需要的神经元个数越多,层数也可能越多。
输入层和输出层的sizes为0,因为网络还没有得到配置去匹配本例子中的输入和输出数据。在网络训练好之后,将会进行配置。
net = patternnet(10);
view(net)
目前的网络已经可以进行训练。在本示例中,会自动对训练集training set、验证集validation set和测试集test set进行划分。其中,训练集的目的是对网络进行训练。训练的结果将使得网络对验证集的数据可以进行拟合。测试集独立地对训练后的网络拟合精度进行评估。
[net,tr] = train(net,x,t);
nntraintool
性能分析
运行后得到:
performance:
为了显示在训练过程中网络拟合能力是如何得到提高的,点击“Performance”按钮,得到下图。
误差的测度是均方误差mean squared error(MSE),用对数作图。训练初期,MSE迅速下降。【注:由于采用的是和MATLAB帮助文件中相同的随机数种子,得到的图片与帮助文件中的图片完全一致。】
最终得到的网络是在验证集中表现最好的网络,如图中绿色线最低点处圆圈位置。
Training State:
Error Histogram:误差直方图
Confusion:混淆矩阵
confusion matrix混淆矩阵用于表示分类正误的百分比。
正确的分类采用绿色标识;
错误的分类采用红色标识。从图中可以看出整体错误率很低,在2%~3%之间。
Receiver Operating Characteristic(ROC):
ROC曲线能够很好的描述分类器对于不均衡分布的样本的分类性能。
对于一个分类器的分类结果,一般有以下四种情况:
1. 真阳性(TP):判断为1,实际上也为1。
2. 伪阳性(FP):判断为1,实际上为0。
3. 真阴性(TN):判断为0,实际上也为0。
4. 伪阴性(FN):判断为0,实际上为1。
ROC空间将伪阳性率(FPR)定义为 X 轴,真阳性率(TPR)定义为 Y 轴。
TPR:在所有实际为阳性的样本中,被正确地判断为阳性之比率。
FPR:在所有实际为阴性的样本中,被错误地判断为阳性之比率。
【MATLAB深度学习工具箱】学习笔记--螃蟹公母分类Crab Classification相关推荐
- s matlab toolbox,Matlab Robotic Toolbox工具箱学习笔记(一 )
Matlab Robotic Toolbox工具箱学习笔记(一) 软件:matlab2013a 工具箱:Matlab Robotic Toolbox v9.8 Matlab Robotic Toolb ...
- 2019斯坦福CS224n深度学习自然语言处理笔记(3)——分类模型与神经网络
文章目录 1. 什么是分类? 1.1 logist(二分类) 1.2 softmax(多分类) 1.2.1 softmax函数 1.2.2 独热编码 1.2.3 交叉熵 1.2.4 反向传播 2.神经 ...
- 【matlab】强化/深度学习工具箱例程调用汇总及编程实例
前言 前段时间帮导师申请项目时涉及到了智能化,因为行文过于天马行空导师要求将大致思路仿真出来试试,于是就又找到了强大的MATLAB,在网上一顿搜索后发现最新的强化学习以及深度学习的工具箱只有2019年 ...
- 【MATLAB深度学习工具箱】学习笔记--体脂估计算例再分析:拟合神经网络fitnet里面的数据结构】
原文链接如下 [MATLAB深度学习工具箱]学习笔记--体脂估计Body Fat Estimation_bear_miao的博客-CSDN博客介绍本示例展示一个函数拟合神经网络如何根据解剖学测量结果估 ...
- 【MATLAB深度学习工具箱】学习笔记--体脂估计算例再分析:拟合神经网络fitnet里面的函数】
介绍 上一篇 [MATLAB深度学习工具箱]学习笔记--体脂估计算例再分析:拟合神经网络fitnet里面的数据结构]_bear_miao的博客-CSDN博客原文链接如下[MATLAB深度学习工具箱]学 ...
- 【MATLAB强化学习工具箱】学习笔记--actor网络和critic网络的结果放在哪里?
原算例见 [MATLAB强化学习工具箱]学习笔记--在Simulink环境中训练智能体Create Simulink Environment and Train Agent_bear_miao的博客- ...
- matlab机器人工具箱学习笔记——ikine函数
matlab机器人工具箱学习笔记--ikine函数 ikine函数用法 使用实例 链接: https://blog.csdn.net/weixin_42596724/article/details/8 ...
- 机器学习 matlab工具箱,[matlab]机器学习及SVM工具箱学习笔记
机器学习与神经网络的关系: 机器学习是目的,神经网络是算法.神经网络是实现机器学习的一种方法,平行于SVM. 常用的两种工具:svm tool.libsvm SVM分为SVC和SVR,svc是专门用来 ...
- 为MATLAB添加深度学习工具箱
深度学习工具箱下载地址:https://github.com/rasmusbergpalm/DeepLearnToolbox. 一.配置 1. 下载后解压,把解压后的文件夹复制到MATLAB工具箱文件 ...
- 【Matlab 机器人工具箱 学习笔记】双旋转台5轴数控机床 运动学模型02
参考: [1]何永红, 齐乐华, 赵宝林. 双转台五轴数控机床后置处理算法研究[J]. 制造技术与机床, 2006(1). [2]李永桥, 陈强, 谌永祥. 双转台五轴数控机床运动变换及求解方法的研究 ...
最新文章
- 什么是信度分析(Reliability)?有哪些信度分析方法?那什么又是效度?
- xilinx的FPGA动态局部重配置(DPR)
- 语言 蜗牛爬树问题_一年级语文《小蜗牛》课文解析及测试题,感觉最难的是口语交际题...
- mysql 分页有数据没了_mysql分页丢数据的分析
- lua-resty-iputils, 在Openresty中,用于处理IP地址的实用程序函数
- 微软开源InnerEye:让医学影像AI普及化
- 磁盘碎片整理工具:Diskeeper 2010简体中文专业豪华版+有效激活
- 如何在ecshop订单中显示客户给商家的留言
- Java SE 原生数据类型
- 功率是电压电流乘积的波形在一个周期内积分后除以周期。
- 笔记本电脑只能外放,插上耳机还是外放
- Fabric官方教程(release 2.2)翻译及总结——使用CouchDB
- 进安全模式提示”Press ENTER to continue loading SPTD.sys”
- 数据库ALTER语句使用
- 薛非《品悟C-抛弃C程序设计中的谬误与恶习》读后感part1【转】
- Unity---Shader
- 超详细Redis入门教程——Redis命令(上)
- Google advertiser api开发概述——入门指南
- Python热门吗 前景怎么样
- 不用火绒,从源头去除 WinRAR 的弹窗广告