0

有模型可以识别 2 类声音,即 A 类和 B 类。

如何将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

表现非常糟糕。

我应该怎么办 ?

4

1 回答 1

3

有两种看待这个问题的方法:作为分类问题,以及作为异常值检测问题。

分类

作为一个分类问题,可以引入在您的系统应用程序中可能遇到的外部声音,并使用它来创建第三类。对于这个第三类来说,拥有大量的声音是很重要的,而且可能是大量的声音。

有了这个,您可能想要使用对成本敏感的一个而不是全部,因此调整精度/召回以挑选 A 类和 B 类。

这种方法的好处是您不必为异常值/异常模型设置任意阈值。在这种情况下,距离可能很难测量,因此很难找到合适的阈值。

许多人,包括我自己在内,都在与你的问题类似的 kaggle 比赛中使用了这种技术。https://www.kaggle.com/c/axa-driver-telematics-analysis

异常值/异常检测

由于您使用的是神经网络,因此可以构建自动编码器。这将找到代表您尝试检测的声音的多种声音。您可以使用重建损失作为异常检测的距离度量。这仍然需要您确定一个阈值,并且最好使用一些现有的异常/异常数据来执行此操作。

于 2016-01-08T08:58:03.187 回答