Multi-Label Classification with 1-D Convolutional Neural Network

Hello,
I am currently running the following 1-dimensional convolutional neural network.
layers = [imageInputLayer([501 1 1])
convolution2dLayer([25 1],20)
reluLayer
maxPooling2dLayer([4 1],'Stride',2)
fullyConnectedLayer(2)
softmaxLayer
classificationLayer()]
opts = trainingOptions('sgdm','MaxEpochs',2, ...
'InitialLearnRate',0.001);
[convnet, info] = trainNetwork(data,labels,layers,opts);
However, I want some output to be able to be classified as several sorts of signals (i.e. my classes are not mutually exclusive). For example, input could be a parabola, a gaussian, or a gaussian inside a parabola (as well as "none of the above" as a class; this would be a simplified form of my problem). I know the problem is with softmax but I do not understand how to replace it with a layer of logistic sigmoids in a SeriesNetwork, if this is still what is wanted in a SeriesNetwork, if I should train with softmax then switch to logsig, etc.
Thanks

3 Comments

Dear Jacobus, Were you able to find a way to do it?
hello, i'm facing the same issue, and right now i'm studying how to make a logsigLayer.... and see if that works with the training function....
I am also looking for the same. If anyone has a solution, please share.

Sign in to comment.

Answers (0)

Categories

Find more on Deep Learning Toolbox in Help Center and File Exchange

Asked:

on 19 Jun 2017

Commented:

on 17 Jan 2019

Community Treasure Hunt

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

Start Hunting!