Можно ли обучить нейронную сеть бинарной классификации, только подпитывая ее данными только одного класса? - PullRequest
0 голосов
/ 05 июля 2018

Я в основном пытаюсь создать нейронную сеть, которая должна сообщать мне, является ли введенный мною ввод действительным или нет. Проблема в том, что у меня есть только верный ввод, с которым я могу его тренировать.

Сейчас я пытаюсь найти работающую плотную модель, которая проверяет только цифры mnist между 0 и 4. Все остальные цифры должны рассматриваться как недействительные. Первая попытка состояла в том, чтобы обучить его с действительными цифрами от 0 до 4 и недопустимыми изображениями со случайными пикселями (с таким же процентом черных пикселей, как у обычного изображения), но, к сожалению, это не работает. Когда я проверяю его с цифрами от 5 до 9, они считаются действительными.

Итак, я начинаю думать, возможно ли вообще обучить нейронную сеть таким образом.

Кроме того, я понимаю, что, возможно, есть лучшие способы сделать это, возможно, с помощью автоматического кодера или сети другого типа, но сейчас я хочу попробовать это только с плотными слоями.

Спасибо.

1 Ответ

0 голосов
/ 05 июля 2018

То, что вы ищете, это одноклассная классификация , также известная как унарная классификация или классовое моделирование.

Быстрый поиск в Google предлагает обучить автоэнкодер и определить объект как в вашем классе, если ошибка восстановления ниже определенного порога.

Но если вы начнете создавать что-то подобное, я бы посоветовал вам сначала использовать что-то вроде One-Class K-Nearest Neighbor или One-Class SVM, чтобы проверить, получаете ли вы приемлемые результаты. Если это так, вы можете улучшить свои результаты с помощью «чрезвычайно сложного в разработке» решения, использующего автоэнкодеры

...