Saya bekerja pada penelitian, di mana kebutuhan untuk satu mengklasifikasikan tiga acara 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
Model saya saat ini adalah:
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
- Saya tidak yakin itu yang benar untuk klasifikasi multi-kelas
- Apa pengaturan terbaik untuk klasifikasi biner?
EDIT: # 2 - Seperti itu?
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
lapisan kebanyakan. Adakah saran untuk pertanyaan saya # 2?
activation='sigmoid'
danloss='binary_crossentropy'
activation='sigmoid'
di lapisan output . Lapisan tersembunyi dapat tetap seolah- 'relu'
olah Anda suka (walaupun saya mungkin akan mulai dengan 'tanh'
untuk masalah ini, yaitu preferensi pribadi dengan sangat sedikit dukungan dari teori)
activation='softmax'
dan kompilasi pilihanloss='categorical_crossentropy'
? IMO, pilihan Anda untuk itu bagus untuk model untuk memprediksi beberapa kelas yang saling eksklusif. Jika Anda ingin saran tentang keseluruhan model, itu sangat berbeda, dan Anda harus menjelaskan lebih banyak tentang apa yang menjadi perhatian Anda, jika tidak ada terlalu banyak untuk dijelaskan dalam satu jawaban.