我有非常小的数据属于正类,而大量的数据来自负类。根据教授的说法。Andrew Ng (anomaly detection vs supervised learning),我应该使用异常检测而不是监督学习,因为数据高度倾斜。
如果我错了,请纠正我,但这两种技术在我看来是一样的,即在(监督)异常检测和标准监督学习中,我们用正常和异常样本训练数据,并对未知数据进行测试。有什么不同吗?
我应该只执行负类的欠采样还是正类的过采样,以获得相同大小的两种类型的数据?它会影响整体的准确性吗?
发布于 2016-04-06 08:45:40
实际上,在监督学习中,你有标记的数据集(例如,好的,坏的),并且你在训练模型时传递标签值,以便它学习区分“好”和“坏”结果的参数。
在异常检测中,它是无监督的,因为您不会传递任何标记值()。你所要做的就是只使用“非异常”数据进行训练。然后选择epsilon值并使用数值(如F1分数)进行评估,以便您的模型将获得真正积极的良好平衡。
关于尝试过采样/欠采样,以便您的数据不会倾斜,有两件事。
发布于 2014-04-28 05:59:04
在异常检测中,您将从得到良好支持的数据部分确定模型参数(正如Andrew所解释的那样)。由于您的负面类有许多实例,因此您将使用这些数据进行“学习”。核密度估计或GMM是通常使用的方法的示例。因此,可以学习“常态”的模型,并且可以使用阈值来检测相对于您的派生模型被认为是异常的实例。这种方法与传统监督学习的不同之处在于,您只使用了一部分数据(在您的案例中为负类)进行训练。您可能希望在训练后将积极的实例标识为异常。
至于你的第二个问题,对负类进行欠采样将导致信息丢失,而对正类进行过采样不会增加信息。我不认为遵循这条路线是可取的。
https://stackoverflow.com/questions/23298692
复制相似问题