在声音识别中进行异常值检测的方法?
Methods to do outlier detection in sound recognition?
有识别2-class种声音的模型,分别是class-A和class-B。
如何识别class-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
表现很差
我该怎么办?
有两种方式来看待这个问题:作为一个class化问题,以及作为一个异常值检测问题。
分类
作为一个 class化问题,可以引入系统应用程序中可能遇到的外部声音,并使用它来创建第三个 class。对于这第三个 class 来说,拥有种类繁多的声音很重要,而且数量可能很大。
有了这个,你可能想使用对成本敏感的 one vs all 所以调整精确度/召回率来挑选出 classes A 和 B。
此方法的好处是您不必为离群值/异常模型设置任意阈值。在这种情况下,距离可能很难测量,因此找到合适的阈值可能很困难。
包括我在内的很多人在与您的问题类似的 kaggle 比赛中使用了这种技术。 https://www.kaggle.com/c/axa-driver-telematics-analysis
异常值/异常检测
由于您使用的是神经网络,因此可以构建一个自动编码器。这将找到代表您要检测的声音的多种声音。您可以使用重建损失作为异常检测的距离度量。这仍然需要您确定一个阈值,最好使用一些现有的异常/离群数据来执行此操作。
有识别2-class种声音的模型,分别是class-A和class-B。
如何识别class-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
表现很差
我该怎么办?
有两种方式来看待这个问题:作为一个class化问题,以及作为一个异常值检测问题。
分类
作为一个 class化问题,可以引入系统应用程序中可能遇到的外部声音,并使用它来创建第三个 class。对于这第三个 class 来说,拥有种类繁多的声音很重要,而且数量可能很大。
有了这个,你可能想使用对成本敏感的 one vs all 所以调整精确度/召回率来挑选出 classes A 和 B。
此方法的好处是您不必为离群值/异常模型设置任意阈值。在这种情况下,距离可能很难测量,因此找到合适的阈值可能很困难。
包括我在内的很多人在与您的问题类似的 kaggle 比赛中使用了这种技术。 https://www.kaggle.com/c/axa-driver-telematics-analysis
异常值/异常检测
由于您使用的是神经网络,因此可以构建一个自动编码器。这将找到代表您要检测的声音的多种声音。您可以使用重建损失作为异常检测的距离度量。这仍然需要您确定一个阈值,最好使用一些现有的异常/离群数据来执行此操作。