我正在训练一个 CNN 模型来对二进制数据进行分类。当一个看不见的数据模式(它在训练期间从未见过的数据模式)通过时,它似乎强烈地偏向一个类。如果它为看不见的数据模式提供中性值(在两个类之间),那将是有意义的,但它似乎偏向于一个类。关于为什么会发生这种情况的任何想法?
我目前的模型如下,
def build_model(max_features, maxlen):
model = Sequential()
model.add(Embedding(max_features, 4, input_length=maxlen))
model.add(Convolution1D(64, 2, border_mode='same'))
model.add(Convolution1D(32, 3, border_mode='same'))
model.add(Convolution1D(16, 4, border_mode='same'))
model.add(Flatten())
model.add(Dropout(0.2))
#model.add(Dense(2,activation='sigmoid'))
#model.add(Dense(180,activation='sigmoid'))
#model.add(Dropout(0.2))
model.add(Dense(2,activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['categorical_accuracy'])
谢谢!