Я использую структуру LSTM:
layers = [ ...
sequenceInputLayer(1)
bilstmLayer(100,'OutputMode','last')
fullyConnectedLayer(2)
softmaxLayer
classificationLayer
];
options = trainingOptions('adam', ...
'MaxEpochs',30, ...
'MiniBatchSize', 150, ...
'InitialLearnRate', 0.01, ...
'GradientThreshold', 1, ...
'plots','training-progress', ...
'Verbose',false);
и net = trainNetwork(XTrain,Ytrain,layers,options);
, где
Xtrain
- массив ячеек 1x100 (Xtrain{1,1}
дает массив данных размером 1000x1, Xtrain{1,2}
- еще один набор данных массива размером 1000x1 и т. Д.).Это означает, что у меня есть 100 примеров векторов признаков, каждый из которых имеет размерность 1000.
Ytrain
- это переменная ответа 0/1 и массив размером 100x1.Ответ имеет тип double.
Я просто принял параметр MiniBatchSize
равным 150. Я пробовал и с другими значениями, скажем, 50,60,70 ... кажется, ничего не влияетпроизводительность.Поэтому я не совсем понимаю, что обозначает этот параметр и как найти значение для него.Может кто-нибудь помочь объяснить, что это значит и в идеале, что это должно быть?спасибо