微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Keras二元分类模型的AUC分数没有增加

如何解决Keras二元分类模型的AUC分数没有增加

我有一个不平衡的数据集,它有 57000 个零和 2500 个 1。我将类权重作为模型的输入,尝试更改优化器,尝试调整层和神经元的数量。最后我坚持;

enter image description here

因为它是唯一一个看起来很系统的方法,试图改变层权重正则化规则,但没有任何帮助。我不是在谈论我的验证 AUC 分数,即使训练成功率也不会令人满意。

这是我声明模型的方式,如果您认为问题在于层和节点大小,请不要介意。我想我尝试了所有听起来合理的方法

class_weight = {0: 23.59,1: 1.}

model=Sequential()
model.add(Dense(40,input_dim=x_train.shape[1],activation='relu'))
model.add(Dense(33,activation='relu',kernel_regularizer=regularizers.l1_l2(l1=1e-5,l2=1e-4),bias_regularizer=regularizers.l2(1e-4),activity_regularizer=regularizers.l2(1e-5)))
model.add(Dense(28,activation='relu'))
model.add(Dense(20,activation='relu'))
model.add(Dense(15,activation='relu'))
model.add(Dense(9,activation='relu'))
model.add(Dense(5,activation='relu'))
model.add(Dense(1,activation='sigmoid',activity_regularizer=regularizers.l2(1e-5)))

opt = keras.optimizers.SGD(learning_rate=0.1)

model.compile(loss='binary_crossentropy',optimizer=opt,metrics=['AUC'])

model.fit(x_train,y_train,epochs=600,verbose=1,validation_data=(x_test,y_test),class_weight=class_weight)

在大约 100 个 epoch 之后,它停留在 0.73-0.75 auc,不再上升。我什至不能过度拟合我的模型

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。