【发布时间】:2018-04-09 11:35:40
【问题描述】:
谁能帮我更好地理解这个问题。
我必须训练一个神经网络,它应该输出 200 个相互独立的类别,每个类别都是从 0 到 1 的百分比。对我来说,这似乎是一个 binary_crossentropy 问题,但我在互联网上看到的每个示例都使用 @ 987654322@ 单输出。由于我的输出应该是 200,如果我申请 binary_crossentropy,那是否正确?
这是我的想法,这是一个正确的方法还是我应该改变它?
inputs = Input(shape=(input_shape,))
hidden = Dense(2048, activation='relu')(inputs)
hidden = Dense(2048, activation='relu')(hidden)
output = Dense(200, name='output_cat', activation='sigmoid')(hidden)
model = Model(inputs=inputs, outputs=[output])
loss_map = {'output_cat': 'binary_crossentropy'}
model.compile(loss=loss_map, optimizer="sgd", metrics=['mae', 'accuracy'])
【问题讨论】:
-
我认为您的方法还可以。您可以搜索多标签示例而不是二进制分类示例。
标签: neural-network deep-learning keras