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

조회 수: 3 (최근 30일)
Dany
Dany 2019년 2월 12일
댓글: Dany 2019년 2월 21일
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
Pruthvi Muppavarapu 2019년 2월 20일
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일
편집: 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