Нейронные сети для несбалансированного набора данных - PullRequest
0 голосов
/ 22 октября 2018

У меня очень несбалансированный набор данных, состоящий из 186219 строк данных по 6 измерениям, в том числе 132 истинных положительных и 186087 ложных положительных. Какие типы нейронных сетей вы бы порекомендовали попробовать?Эта электронная таблица на моем диске Google IPDC_algorithm_training_dataset содержит мой обучающий набор данных.Если значение на вкладке вывода имеет значение 100, этот признак является истинно положительным, а если признак имеет значение 0, это значит, что признак является ложноположительным.

Теперь я связан с MATLAB,поэтому для меня было бы удобнее, если бы я использовал MATLAB для этой проблемы.

1 Ответ

0 голосов
/ 22 октября 2018

С несбалансированным набором данных у вас ограниченные возможности.Если вы обучите нейронную сеть всему набору данных, она достигнет точности 99,9%, просто прогнозируя ложные срабатывания.Вам необходимо каким-то образом справиться с этим дисбалансом, например, отбрасывать (обширные ряды) ложноположительных выборок или взвесить функцию потерь для учета дисбаланса.С таким экстремальным дисбалансом вам, вероятно, потребуется применить оба варианта (наряду с регуляризацией, чтобы предотвратить перерасход оставшихся данных).

Что касается типа используемой сети, вы можете попробовать просто базовый MLP(Multi-Layer Perceptron), по крайней мере, в качестве базовой линии - нет смысла строить сложную архитектуру с большим количеством параметров для обучения и очень ограниченным набором данных.

На самом деле, вам, вероятно, будет лучшеиспользование алгоритма поверхностного обучения, такого как ускоренные деревья или наивный байесовский алгоритм, или получение большего объема данных для использования нейронной сети.Если новые данные, скорее всего, останутся несбалансированными, вам потребуется очень большое количество дополнительных данных.

...