提高深度神经网络性能的方法?

数据挖掘 神经网络 分类 喀拉斯
2022-02-22 07:42:05

从事二进制分类任务,以识别具有 350,000 个标记样本、70 个特征的重复文档。大约有 10:1 的班级不平衡。到目前为止,我表现最好的模型是随机森林,但我想看看是否可以使用深度前馈神经网络来获得更好的结果。

我一直在玩层数和隐藏单元,并使用 5 折交叉验证来验证性能。以下是一种架构的示例:

for train_validation, test_validation in sfk.split(X_train,y_train):   
    model = Sequential()
    model.add(Dense(150, input_dim=X_train.shape[1], activation='relu')) 
    model.add(Dense(125, activation='relu'))
    model.add(Dense(100, activation='relu'))
    model.add(Dense(75, activation='relu'))
    model.add(Dense(50, activation='relu'))
    model.add(Dense(25, activation='relu'))
    model.add(Dense(1, activation='sigmoid'))
    model.compile(loss='binary_crossentropy', optimizer='adam',metrics=['accuracy'])

    model.fit(X_train.iloc[train_validation,:].values,
              y_train.iloc[train_validation].values.reshape([-1,1]),
              epochs=13,
              batch_size=64,
              verbose=2,
              validation_data=(X_train.iloc[test_validation ,:].values,y_train.iloc[val_test].values.reshape([-1,1])))

我运行它,得到准确性和误差的平均值/标准。然后尝试添加一个图层,删除一个图层,添加一些单元,删除一些。精度和误差存在变化(在 +/- 0.00x 范围内)。这种方法是不科学的,有什么更好的方法呢?

0个回答
没有发现任何回复~