How do I do classification from feature vector with Deep Network Designer

1 次查看(过去 30 天)
I want to use Deep Network Designer to design a network which inputs a feature vector and outputs a classification. Simple case:
Data: 10000 labeled observations each with 5 features i.e. available
data matrix: X = [observations , features] -> size(X) = [ 10000 , 5 ]
and
label vector: y = [label] -> size(y) = [ 10000 , 1 ].
Classes: A binary classification problem, say class 'A' and class 'B'
What I strugle with is how to use the Deep Network Designer to setup; correct input for the feature vector (only image and sequence input layers are available) and a trainable network with correct output.
Thank you for your time
\P
  2 个评论
Pruthvi Muppavarapu
My understanding is that you want to know how the Deep Network Designer can be used to create a network.
The following documentation might help you understand how the said app works:
Dany
Dany 2019-2-20
@Pruthvi
Thank you for your answer.
Yes, but more specific I want to know how Deep Network Designer can be used to create networks with a vector of features as an input. The designer only has images and sequences as input layers. Maybe the solution is trivial, but it is not for me:).
The image input layer takes inputs of e.g. 28x28x3 - a 28 by 28 RGB image. I have tried to change this input to be 1x1x5 (in correspondance with the example given above), but this gives input/output erros.
\P

请先登录,再进行评论。

回答(1 个)

Pruthvi Muppavarapu
编辑:Pruthvi Muppavarapu 2019-2-21
You can use the ImageInputLayer when you have multi dimensional vector of features and the SequenceInputLayer when the vector of features is of single dimension (preferably a row vector).
And it gives error when you try to change the dimensions of a pre-trained model. Otherwise it should work as intended.
Hope this answers your question.
  1 个评论
Dany
Dany 2019-2-21
Again, thank you for your answers!
I have tried to do a small network, but I think that when using the sequenceInputLayer it relates the order of the observations as if they are a time-sequence. at least it wants an LSTM layer after the input layer.
I made this work by setting the output of the LSTM layer to 'last', but I feel this is a hack to make it run, not the actual network I want to build, as this makes it recurrent?.
But as my "sequence" only has one datapoint for each of the 5 features for each observation it might do what I want but it is unclear to me. To make it more clear my input is a
10000X1 cell with each of the 10000 cells containing a
5x1 column vector.
This matches the input in the sequenceInputLayer documentation only there each cell contain a 5x20 cell where the '20' corresponds to 20 timepoints.
If the network is correctly constructed I'm having trouble to get the learning going. When training my network it just stays at 75% accuracy which corresponds to assigning everything to the one class containing 75% of the data.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Image Data Workflows 的更多信息

产品


版本

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by