LSTM在MATLAB中的应用

训练一个长短期记忆网络,在预处理的语音数据上分类一个元音发音的说话人。然后使用测试集进行预测,并计算准确性。

[XTrain, YTrain] = japaneseVowelsTrainData;%导入训练数据
layers = [ ...
   sequenceInputLayer(12)
   lstmLayer(100, 'OutputMode', 'last')
   fullyConnectedLayer(9)
   softmaxLayer
   classificationLayer];%定义LSTM神经网络:输入为序列数据;该LSTM有100个隐藏神经元并输出最后一个时间步长的序列
options = trainingOptions('adam', 'Plots', 'training-progress');%采用‘adam'求解器并显示网络训练过程
net = trainNetwork(XTrain, YTrain, layers, options);
[XTest, YTest] = japaneseVowelsTestData;%导入测试数据集
YPred = classify(net, XTest);%通过训练好的网络对测试集分类
accuracy = sum(YTest == YPred)/numel(YTest)

accuracy =
    0.2973

LSTM在MATLAB中的应用_第1张图片

 

你可能感兴趣的:(lstm,matlab,深度学习)