Sto lavorando sulla ricerca, in cui necessità di una classificare dei WINNER tre eventi = ( 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
Il mio modello attuale è:
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
- Non sono sicuro che sia quello corretto per la classificazione multi-classe
- Qual è la migliore configurazione per la classificazione binaria?
EDIT: # 2 - Come quello?
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
lo più degli strati. Qualche consiglio per la mia domanda n. 2?
activation='sigmoid'
eloss='binary_crossentropy'
activation='sigmoid'
nel livello di output . Il livello nascosto può rimanere come 'relu'
piace a te (anche se probabilmente vorrei iniziare con 'tanh'
questo problema, questa è la preferenza personale con pochissimo supporto dalla teoria)
activation='softmax'
e compila la scelta diloss='categorical_crossentropy'
? IMO, le tue scelte per quelle sono buone per un modello per prevedere più classi reciprocamente esclusive. Se vuoi un consiglio sull'intero modello, questo è abbastanza diverso, e dovresti spiegare di più su quali sono le tue preoccupazioni, altrimenti c'è troppo da spiegare in una singola risposta.