1

我正在训练一个 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'])

谢谢!

4

0 回答 0