【问题标题】:Neural networks for an imbalanced dataset不平衡数据集的神经网络
【发布时间】:2019-03-26 18:47:03
【问题描述】:

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

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

【问题讨论】:

  • 问题应该标记为matlab(添加),而与svmlibsvm无关(删除)。
  • 您最好进行异常检测。

标签: matlab machine-learning neural-network deep-learning


【解决方案1】:

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

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

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

【讨论】:

  • 感谢 Chris,我一直在使用增强二元回归树 (BBRT),但结果并不是我想要的那么好。我发现加权 SVM 用于极度不平衡的情况,但代码不起作用我刚开始使用 SVM。 mathworks.com/matlabcentral/fileexchange/…
猜你喜欢
  • 2016-12-04
  • 2017-11-14
  • 1970-01-01
  • 2012-05-15
  • 2019-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-04
相关资源
最近更新 更多