Методы, чтобы сделать обнаружение выбросов в распознавании звука?

Существуют модели для распознавания звуков двух классов: класса А и класса В.

Как распознать звуки класса C как ненормальные звуки?

Я пытался установить порог при распознавании по кадрам.

above 70% -> class A or B
else      -> abnormal

Например,

Если звук имеет 10 кадров, и результат

frame 1 2 3 4 5 6 7 8 9 10
      A B A B A A A B A  A     A=7 B=3
-> class A

frame 1 2 3 4 5 6 7 8 9 10
      B B A B A A A B A  A     A=6 B=4
-> abnormal

Производительность очень плохая.

что я должен делать?

1 ответ

Решение

Есть два способа взглянуть на это: как на проблему классификации, так и на проблему обнаружения выбросов.

классификация

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

При этом вы можете использовать чувствительный к стоимости один против всех, поэтому отрегулируйте точность / отзыв для выбора классов A и B.

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

Многие люди, в том числе и я, использовали эту технику на соревнованиях по борьбе, которая похожа на вашу проблему. https://www.kaggle.com/c/axa-driver-telematics-analysis

Обнаружение выброса / аномалии

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

Другие вопросы по тегам