Могу ли я построить один класс CNN в Керасе? - PullRequest
0 голосов
/ 05 апреля 2020

Могу ли я построить CNN в керасе только с одним классом (класс - 0), чтобы он мог предсказать, принадлежит ли данная дата этому классу? Заранее спасибо

Edite: Спасибо за ответ и комментарии. Мои данные - это временные ряды ускорения из исправной структуры, но у меня нет доступа к сигналам ускорения поврежденного состояния, поэтому у меня есть только данные для класса 0.

1 Ответ

0 голосов
/ 06 апреля 2020

Я полагаю, что вы описываете модель обнаружения аномалий. Для этой цели существуют и другие модели ML, такие как машина опорных векторов одного класса (https://scikit-learn.org/stable/modules/generated/sklearn.svm.OneClassSVM.html) и лес изоляции (https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.IsolationForest.html). Можно реализовать нейронную сеть, но вам потребуется настраиваемая функция потерь - например, двоичная кросс-энтропия не имеет смысла для этого приложения. Один пример такой функции потерь описан здесь: https://arxiv.org/pdf/1802.06360.pdf, которая основана на одном классе SVM.

У меня есть реализация полностью подключенной сети одного класса здесь, в Керасе: https://github.com/danielenricocahall/One-Class-NeuralNetwork, которая использует функцию потерь, основанную на функции, описанной в этом документе, если это помогает.

Удачи!

...