主要内容

蟹的分类

这个例子演示了使用神经网络作为分类器识别性别的蟹蟹的物理尺寸。

问题:分类的螃蟹

在这个例子中,我们试图建立一个分类器,可以识别性别的一只螃蟹从其物理测量。六个蟹的物理特性是:物种,frontallip, rearwidth、长度、宽度和深度。手头的问题是识别性的蟹鉴于这些观测值6物理特性。

神经网络的原因吗?

已经证明了自己是精通分类器和神经网络特别适合解决非线性问题。鉴于现实世界现象的非线性性质,像蟹分类、神经网络当然是适合解决这个问题。

六个物理特征作为神经网络的输入和性的蟹将目标。给定一个输入,构成了六个观测值的物理特性蟹,预计该神经网络识别如果蟹是男性或女性。

这是通过把先前记录的输入神经网络,然后调优它生产所需的目标输出。这个过程称为神经网络训练。

准备数据

数据分类问题建立了一个神经网络通过将数据组织成两个矩阵,输入矩阵X和目标矩阵T。

每个i列输入矩阵将有六个元素代表一只螃蟹物种,frontallip, rearwidth,长度、宽度和深度。

每个目标矩阵的对应的列将有两个元素。女螃蟹用的第一个元素表示,男蟹在第二个元素。(所有其他元素为零)。

这里的数据集加载。

[x, t] = crab_dataset;大小(x)
ans =1×2200年6
大小(t)
ans =1×22 200年

构建神经网络分类器

下一步是创建一个将学习的神经网络识别性的螃蟹。

由于神经网络从随机初始权重,这个例子的结果会略有不同,每次运行。随机种子将避免这种随机性。然而这并不是您自己的应用程序所必需的。

setdemorandstream (491218382)

两层(即one-hidden-layer)前馈神经网络可以学习任何给予足够的隐层神经元的输入-输出关系。层不输出层被称为隐藏层。

我们将尝试一个单隐层神经元10这个例子。一般来说,更困难的问题需要更多的神经元,或许更多的层。简单的问题需要较少的神经元。

输入和输出大小为0,因为网络尚未配置匹配我们的输入和目标数据。这将发生在网络训练。

网= patternnet (10);视图(净)

现在网络已经准备好被训练。样品会自动分成训练,验证集和测试集。训练集用于教网络。培训持续只要网络持续改进验证集。网络的测试集提供了一个完全独立的测量精度。

(净,tr) =火车(净,x, t);

数字神经网络训练(03 - mar - 2023 09:03:38)包含一个uigridlayout类型的对象。

看看网络的性能改进的培训期间,点击“性能”按钮在训练工具,或者叫PLOTPERFORM。

性能测量的均方误差,并显示在对数尺度。它迅速减少网络训练。

显示性能的每个训练,验证集和测试集。

plotperform (tr)

图的性能(plotperform)包含一个坐标轴对象。坐标轴对象和标题最好的验证性能0.023041时代21日包含27个时代,ylabel交叉熵(crossentropy)包含6行类型的对象。一个或多个行显示的值只使用这些对象标记代表训练,验证,测试,最好的。

测试分类器

经过训练的神经网络可以被测试的测试样本。这将给我们的网络将如何当应用于现实世界的数据。

网络输出范围在0到1,所以我们可以使用vec2ind函数的类指数最高的元素的位置每个输出向量。

testX = x (:, tr.testInd);testT = t (:, tr.testInd);暴躁的=净(testX);testIndices = vec2ind(暴躁的)
testIndices =1×302 2 2 1 2 2 2 1 2 2 2 2 1 1 2 2 2 1 2 2 1 2 1 1 1 1 1 2 2 1

一个测量的神经网络具有适应数据的混乱。这里的混淆矩阵是绘制在所有样本。

混淆矩阵显示正确的和不正确的分类的百分比。正确的分类矩阵对角线上的绿色广场。不正确的分类形式红色的方块。

如果网络已经学会正确分类,红色方块的百分比应该很小,表明一些误分类。

如果情况不是这样,那么进一步的培训,或培训网络有更多隐藏的神经元,将是明智的。

plotconfusion (testT暴躁的)

图混乱(plotconfusion)包含一个坐标轴对象。坐标轴对象标题混淆矩阵,包含目标类,ylabel输出类包含29块类型的对象,文本行。

这里的总体百分比是正确的和不正确的分类。

(c cm) =混乱(testT,暴躁的)
c = 0.0333
厘米=2×212 1 0 17
流(的正确分类:百分比% f % % \ n ',100 * (1 - c));
正确的分类比例:96.666667%
流(的比例不正确的分类:% f % % \ n ',100 * c);
不正确的分类比例:3.333333%

另一个测量的神经网络具有适合数据接受者操作特征图。这显示了假阳性和真阳性率与输出不同的阈值从0到1。

越远,线,减少假阳性需要接受为了得到一个真阳性率高。最好的分类器将有一条线从左下角,左上角,右上角,或接近。

plotroc (testT暴躁的)

接受者操作特征图(plotroc)包含一个坐标轴对象。坐标轴对象标题中华民国,包含假阳性,ylabel真阳性率包含4线类型的对象。这些对象代表一班,二班。

这个例子说明了使用神经网络分类螃蟹。

探索其他的例子和文档了解神经网络及其应用。