主要内容

使用一维卷积序列分类

这个例子展示了如何使用一维卷积神经网络分类序列数据。

训练一个深层神经网络分类序列数据,您可以使用一个一维卷积神经网络。一层一维卷积学特性将滑动卷积过滤器应用于一维输入。使用一维卷积层可以使用周期性层因为卷积的层速度比可以用单个操作过程的输入。相比之下,复发性层必须遍历输入的时间步长。然而,根据网络体系结构和滤波器尺寸,一维卷积层可能不会执行以及复发性层,可以学习长期时间步长之间的依赖关系。

下面的例子使用了日本元音中描述数据集[1]和[2]。这个例子火车一个一维卷积神经网络识别演讲者给定时间序列数据代表连续两艘日本口语元音。训练数据时间序列数据包含九个扬声器。每个序列都有12个特性和不同长度。数据集包含270个训练观察和370个测试观察。

加载序列数据

日本元音训练数据加载。预测数据包含可变长度的序列12单元阵列的特性。目标数据是一个分类向量的标签“1”,“2”,……“9”,对应于九个扬声器。12的预测序列矩阵行(每个功能一行)和不同数量的列(每个时间步一列)。

[XTrain, TTrain] = japaneseVowelsTrainData;[XValidation, TValidation] = japaneseVowelsTestData;

查看前几训练序列。

XTrain (1:5)
ans =5×1单元阵列{12 x20的双重}{12 x26双}{12将双}{12 x20的双重}{12 x21双}

可视化系列第一次在一个阴谋。每一行对应一个功能。

图绘制(XTrain{1}”)包含(“时间步”)标题(“训练观察1”)numFeatures =大小(XTrain {1}, 1);传奇(“特性”+字符串(1:numFeatures),位置=“northeastoutside”)

图包含一个坐标轴对象。坐标轴对象标题训练观察1,包含时间步包含12线类型的对象。这些对象代表功能1、功能2、特性3功能4、5功能,特性,特性7,特性,功能,功能特性特性11日12。

在训练数据视图类的数量。

类=类别(TTrain);numClasses =元素个数(类)
numClasses = 9

定义一维卷积网络体系结构

定义一维卷积神经网络架构。

  • 指定输入的大小随着特征数量的输入数据。

  • ReLU指定两个街区的一维卷积,卷积层和层归一化层,有一个过滤器的大小3。为第一和第二指定32和64过滤器卷积层,分别。对卷积层,left-pad输入,输出有相同的长度(因果填充)。

  • 减少卷积层单一的输出向量,用一个一维全球平均池层。

  • 输出映射到一个向量的概率,指定一个完全连接层和一个输出大小匹配的类的数量,其次是softmax层和一层分类。

filterSize = 3;numFilters = 32;层= [sequenceInputLayer numFeatures convolution1dLayer (filterSize numFilters,填充=“因果”)reluLayer layerNormalizationLayer convolution1dLayer (2 * numFilters filterSize,填充=“因果”)reluLayer layerNormalizationLayer globalAveragePooling1dLayer fullyConnectedLayer (numClasses) softmaxLayer classificationLayer];

指定培训选项

指定培训选项:

  • 火车用亚当优化器。

  • 火车mini-batch 27 15世纪的大小。

  • Left-pad序列。

  • 验证网络使用验证数据。

  • 监控培训进展情节和抑制详细的输出。

miniBatchSize = 27个;选择= trainingOptions (“亚当”,MiniBatchSize = MiniBatchSize,MaxEpochs = 15,SequencePaddingDirection =“左”,ValidationData = {XValidation, TValidation},情节=“训练进步”,Verbose = 0);

列车网络的

列车网络使用指定的培训使用的选项trainNetwork函数。

网= trainNetwork (XTrain、TTrain层,选择);

图培训进展(03 - mar - 2023 09:03:23)包含2轴uigridlayout类型的对象和另一个对象。轴与包含迭代对象1,ylabel损失包含8块类型的对象,文本行。轴与包含迭代对象2,ylabel精度(%)包含8块类型的对象,文本行。

测试网络

验证数据使用同一个mini-batch大小进行分类和顺序填充选项用于培训。

XValidation YPred =分类(净,MiniBatchSize = MiniBatchSize,SequencePaddingDirection =“左”);

计算预测的分类精度。

acc =意味着(YPred = = TValidation)
acc = 0.9514

可视化预测混淆矩阵。

confusionchart (TValidation YPred)

图包含一个ConfusionMatrixChart类型的对象。

引用

[1]奖赏,Mineichi,小君富山,学者Shimbo。“多维曲线分类使用通过区域。“模式识别字母20,不。11 - 13日(1999年11月):1103 - 11所示。https://doi.org/10.1016/s0167 - 8655 (99) 00077 - x

[2]奖赏,Mineichi,小君富山,学者Shimbo。“日本元音数据集。”Distributed by UCI Machine Learning Repository.https://archive.ics.uci.edu/ml/datasets/Japanese +元音

另请参阅

|||||||

相关的话题