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 (将#修改为@)