我正在研究,如果需求三个赛事冠军的分类一个=( ,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
我当前的模型是:
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
- 我不确定这是否适用于多类别分类
- 二进制分类的最佳设置是什么?
编辑:#2-那样吗?
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')
我的意思
—
SpanishBoy '16
architecture
主要是关于层。对我的第二个问题有什么建议吗?
很少有一种“正确”的方法来构建体系结构,应该使用不同的元参数来测试该结构,并且应该以结果为导向(包括培训时间/内存使用等对资源使用的任何限制)。对于#2,您可以只具有两个具有与现在类似的softmax的输出,也可以具有一个输出带有一个输出层,
—
Neil Slater
activation='sigmoid'
并且loss='binary_crossentropy'
activation='sigmoid'
在输出层中。隐藏的层可以像'relu'
您喜欢的一样保留(尽管我可能会从'tanh'
这个问题开始,这是个人喜好,理论上很少提供支持)
activation='softmax'
选择和编译选择loss='categorical_crossentropy'
?IMO,您的选择对于一个模型可以预测多个互斥的类很有用。如果您需要有关整个模型的建议,那就大不相同了,您应该对自己所关注的问题进行更多的解释,否则,在一个答案中就无法解释太多。