MATLAB Answers

Custom use of Softmax activation function in LSTM MAtlab for Solar forecasting

9 views (last 30 days)
NN on 14 Nov 2020
Edited: Mahesh Taparia on 19 Nov 2020
How can i use softmax activation function in the below code?What changes should i make?
With this code i am getting RMSE 8.6.How can i reduce it further ?
Kindly advice.
%Creating LSTM regression network
numFeatures = 1;
numResponses = 1;
numHiddenUnits = 200;
layers = [sequenceInputLayer(numFeatures),lstmLayer(numHiddenUnits),fullyConnectedLayer(numResponses),regressionLayer];
% Specifying the training options
options = trainingOptions('adam','MaxEpochs',250,'GradientThreshold',1,'InitialLearnRate',0.005,'LearnRateSchedule','piecewise','LearnRateDropPeriod',125,'LearnRateDropFactor',0.2,'Verbose',0, 'Plots','training-progress');
%Train LSTM Network
net = trainNetwork(XTrain,YTrain,layers,options);

Answers (1)

Mahesh Taparia
Mahesh Taparia on 19 Nov 2020
Edited: Mahesh Taparia on 19 Nov 2020
Softmax layer bounds the output between [0,1] and usually it is used while training a classification network. In your case, it seems a regression problem. To reduce the RMSE, you can change the network architecture/ increase the network depth by increasing the hidden layers/ follow the existing solution from the literature related to the problem statement. Also try with different learning rate, optimizer etc.
Hope it will help!

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by