首页 > 解决方案 > 不平衡数据集的神经网络

问题描述

我有一个非常不平衡的数据集,由 6 个维度的 186219 行数据组成,包括 132 个真阳性和 186087 个假阳性,您建议尝试哪种类型的神经网络?我的谷歌驱动器IPDC_algorithm_training_dataset中的这个电子表格包含我的训练数据集。如果输出选项卡中的值为 100,则该特征为真阳性,如果某个特征的值为 0,则该特征为假阳性。

我现在与 MATLAB 捆绑在一起,所以如果我使用 MATLAB 来解决这个问题对我来说会更方便。

标签: matlabmachine-learningneural-networkdeep-learning

解决方案


对于不平衡的数据集,您的选择有限。如果你在整个数据集上训练一个神经网络,只要总是预测误报,它就可以达到 99.9% 的准确率。您需要以某种方式处理这种不平衡,例如丢弃(大量)误报样本或加权损失函数以解决不平衡问题。由于不平衡如此极端,您可能需要同时应用两者(以及正则化以防止过度拟合剩余数据)。

至于要使用什么网络类型,您可以只尝试一个基本的 MLP(多层感知器),至少作为基线 - 构建一个复杂的架构是没有意义的,需要训练更多的参数,数据集非常有限。

实际上,您最好使用浅层学习算法,例如增强树或朴素贝叶斯,或者获取更多数据以启用神经网络。如果新数据可能保持不平衡状态,则您需要大量额外数据。


推荐阅读