Ich arbeite an der Forschung, wo Bedarf zum Klassifizieren eines von drei Ereignisse WINNER = ( win
, draw
, lose
)
WINNER LEAGUE HOME AWAY MATCH_HOME MATCH_DRAW MATCH_AWAY MATCH_U2_50 MATCH_O2_50
3 13 550 571 1.86 3.34 4.23 1.66 2.11
3 7 322 334 7.55 4.1 1.4 2.17 1.61
Mein aktuelles Modell ist:
def build_model(input_dim, output_classes):
model = Sequential()
model.add(Dense(input_dim=input_dim, output_dim=12, activation=relu))
model.add(Dropout(0.5))
model.add(Dense(output_dim=output_classes, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adadelta')
return model
- Ich bin mir nicht sicher, ob das die richtige für die Mehrklasseneinteilung ist
- Was ist das beste Setup für die binäre Klassifizierung?
EDIT: # 2 - Wie das?
model.add(Dense(input_dim=input_dim, output_dim=12, activation='sigmoid'))
model.add(Dropout(0.5))
model.add(Dense(output_dim=output_classes, activation='softmax'))
model.compile(loss='binary_crossentropy', optimizer='adadelta')
architecture
meistens von Schichten. Irgendwelche Ratschläge für meine Frage # 2?
activation='sigmoid'
undloss='binary_crossentropy'
activation='sigmoid'
in der Ausgabeebene . Die verborgene Schicht kann bleiben, als 'relu'
ob Sie möchten (obwohl ich wahrscheinlich 'tanh'
für dieses Problem beginnen würde, das ist persönliche Präferenz mit sehr wenig Unterstützung von der Theorie)
activation='softmax'
und kompilieren Sie die Auswahl vonloss='categorical_crossentropy'
? IMO, Ihre Auswahl ist gut für ein Modell, um mehrere sich gegenseitig ausschließende Klassen vorherzusagen. Wenn Sie sich für das gesamte Modell beraten lassen möchten, ist das ganz anders, und Sie sollten mehr über Ihre Bedenken erklären, ansonsten gibt es zu viel, um es in einer einzigen Antwort zu erklären.