假设数据都是labelled data。
label包含data是normal还是anomaly。
如果是normal,具体又是normal中的哪一类。
1. 训练
- 训练集:全部都是normal data,是normal类别的分类
把normal data当作多分类问题来训练,同时输出类别和对分类的置信度。 验证集:样本有normal和anomaly的data,并有label来区别是normal还是anomaly。
根据performance来决定以及其它超参数。测试集:输入样本,根据公式判断normal/anomaly
2. Evaluation
如何根据performance判断模型的好坏?是否能用准确率?
答:不能。
异常侦测问题中,异常数据可能非常少,属于极度偏斜的数据。这种情况下不适合使用正确率。
将数据制作成confusion matrix,例如:
||Anomaly|Normal|
|---|---|---|
|Detected| 1 | 1 |
|Not Detected| 4 | 99 |
左下角的数据为“异常data被判断为正常”的错误,又叫“missing”
右上角的数据为“正常data被判断为异常”的错误 ,又叫“false alarm”
取不同的值会得到不同的confusion matrix,哪种模型更好取决于对不同错误的cost的定义。