Machine learning 异常检测与监督学习

Machine learning 异常检测与监督学习,machine-learning,supervised-learning,Machine Learning,Supervised Learning,我有非常小的数据属于正类,有大量的数据来自负类。根据Andrew Ng教授(),由于高度歪斜的数据,我应该使用异常检测代替监督学习。p> 如果我错了,请纠正我,但这两种技术对我来说都是一样的,即在(监督)异常检测和标准监督学习中,我们使用正常和异常样本训练数据,并对未知数据进行测试。有什么区别吗 我应该只对负类进行欠采样还是对正类进行过采样,以获得大小相同的两个类型数据?它是否会影响整体精度 在异常检测中,您将根据得到良好支持的数据部分确定模型参数(如Andrew解释的)。因为你的负面类有很多实

我有非常小的数据属于正类,有大量的数据来自负类。根据Andrew Ng教授(),由于高度歪斜的数据,我应该使用异常检测代替监督学习。p> 如果我错了,请纠正我,但这两种技术对我来说都是一样的,即在(监督)异常检测和标准监督学习中,我们使用正常和异常样本训练数据,并对未知数据进行测试。有什么区别吗


我应该只对负类进行欠采样还是对正类进行过采样,以获得大小相同的两个类型数据?它是否会影响整体精度

在异常检测中,您将根据得到良好支持的数据部分确定模型参数(如Andrew解释的)。因为你的负面类有很多实例,你会用这些数据来“学习”。核密度估计或GMM是通常使用的方法的示例。因此,可以学习“正常”模型,并且可以使用阈值来检测相对于导出模型被视为异常的实例。这种方法与传统的监督学习的区别在于,您只使用了一部分数据(在您的案例中是负面类)进行培训。你希望你的积极事例在培训后被认定为异常


至于你的第二个问题,抽样不足的负面类会导致信息丢失,而抽样过多的正面类不会增加信息。我不认为遵循这一路线是可取的。

实际上,在监督学习中,您将数据集标记为(例如好的、坏的),并在训练模型时传递标记的值,以便它学习将“好”与“坏”结果分开的参数

在异常检测中,它是无监督的,因为不传递任何标记值。。你要做的是只使用“非异常”数据进行训练。然后选择epsilon值,并使用数值(如F1分数)进行计算,以便模型能够很好地平衡真正的正值

关于尝试过多/过少采样,以使数据不失真,有两件事

  • Ng教授提到,如果您的正类只有10k或100k中的10个,那么您需要使用异常检测,因为您的数据是高度倾斜的
  • 如果你知道什么是“坏”价值观,那么监督学习是有意义的。如果你只知道什么是“正常的”/“好的”,但是你的“坏的”值每次都会非常不同,那么这是异常检测的一个很好的例子
    有几种类型的监督学习分类器。你具体指的是哪一个?例如,神经网络与逻辑回归有很大不同。我不是很具体,但如果我使用神经网络呢。