Hi.
I am a complete newbie here so I do hope I am not asking this in a wrong place (I am not an avid forum user). Now that the formalities are out of the way - i need some guidelines. It should also be noted I am new with deep learning so do bare with me if there is any incorrect terminology.
I am creating a neural network with about 400 classes for the model to choose from as the right one (only one is class is the right one).
There are also about 400 attributes. The first model I had was rather simple compiled from different tutorials and guidelines I read while researching the topic:
model = Sequential()
model.add(Dense(750, input_dim=337, activation='relu'))
model.add(Dropout(0.185))
model.add(Dense(530, activation='relu'))
model.add(Dense(400, activation='softmax'))
The current best performance wise is:
model = Sequential()
model.add(Dense(430, input_dim=337, activation='softsign'))
model.add(Dropout(0.185))
model.add(Dense(415, activation='softplus'))
model.add(Dense(400, activation='softmax'))
Why I came here to call upon you, dear reader, is to get some general help with how to improve the model - or even better understand what each layer adds to the whole (I saw someone ask a similar question on this very forum and the answer someone gave was so well written I just had to come and post my own query).
The current precision with 250 epochs is about 35%. I intend to train it with up to 1200 epochs, I just didn’t have time to do so yet.
I suppose the following is also relevant:
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
model.fit(X[train], Y_train, epochs=250, batch_size=32, verbose=0)
Thank you for your time.
Yours truly, Nac.