页面树结构

2017-11-09 ApacheCN 开源组织,第二期邀请成员活动,一起走的更远 : http://www.apachecn.org/member/209.html


MachineLearning 优酷地址 : http://i.youku.com/apachecn

转至元数据结尾
转至元数据起始

许多应用需要能够决定新观测是否属于与现有观测相同的分布(它是一个 非线性的),或者应该被认为是不同的(这是一个异常值)。通常,这种能力用于清理实际的数据集。必须做出两个重要的区别:

新奇检测:
 培训数据不被异常值污染,我们有兴趣检测新观察中的异常情况。
异常值检测:
 培训数据包含异常值,我们需要适应培训数据的中心模式,忽略偏差观察值。

scikit学习项目提供了一套可用于新颖性或异常值检测的机器学习工具。该策略是通过数据从无监督的方式学习的对象来实现的:

估计量适合X_train 

然后可以使用预测方法将新观察值作为内在值或异常值进行排序 :

估计量预测X_test 

内标为1,异常值为-1。

 

新奇检测

ñp特征描述的相同分布考虑观测数据集。现在考虑,我们再添加一个观察数据集。新的观察与其他观察是不同的,我们可以怀疑它是正常的吗?(即是否来自相同的分布?)或者相反,它是否与另一个相似,我们无法将其与原始观察结果区分开来?这是新奇检测工具和方法所解决的问题。

一般来说,它将要学习一个粗略的,紧密的边界,界定初始观测分布的轮廓,并绘制在嵌入p维空间中。那么,如果进一步的观察在边界划分的子空间内,则它们被认为来自与初始观测相同的群体。否则,如果他们在边界之外,我们可以说他们在我们的评估中有一定的信心是异常的。

一级SVM由Schölkopf等人介绍 为此目的并在对象中的支持向量机模块中实现 svm.OneClassSVM。它需要选择内核和标量参数来定义边界。通常选择RBF内核,尽管没有确切的公式或算法来设置其带宽参数。这是scikit学习实现中的默认值。该参数也称为一级SVM的边缘,对应于在边界之外找到新的但规则的观察的概率。

参考文献:

例子:

异常值检测

异常值检测与新奇检测类似,其意义在于将定期观察的核心与一些被称为“异常值”的污染物进行分离。然而,在异常值检测的情况下,我们没有一个干净的数据集表示可用于训练任何工具的常规观察值的群体。

装配椭圆形信封

执行异常值检测的一种常见方法是假设常规数据来自已知分布(例如数据是高斯分布的)。从这个假设,我们通常试图定义数据的“形状”,并且可以将外部观察定义为足够远离拟合形状的观测值。

scikit学习提供了一个covariance.EllipticEnvelope符合稳健协方差估计数据的对象 ,从而将椭圆适合中央数据点,忽略了中央模式之外的点。

例如,假设异构数据是高斯分布的,它将以鲁棒的方式估计非线性位置和协方差(即不受异常值影响)。从该估计得到的马氏距离距离用于得出偏离度量。这个策略如下图所示。

例子:

参考文献:

[RD1999]

Rousseeuw,PJ,Van Driessen,K.“A fast algorithm for the minimum covariance determinant estimator”Technometrics 41(3),212(1999)

 

隔离林

在高维数据集中执行异常值检测的一种有效方式是使用随机森林。所述ensemble.IsolationForest“分离的观察通过随机选择一个功能,然后随机选择所选择的特征的最大值和最小值之间的分割值。

由于递归分区可以由树结构表示,因此隔离样本所需的分裂数量等同于从根节点到终止节点的路径长度。

在这样的随机树的森林中平均的这个路径长度是正态性和我们的决策函数的量度。

随机分区产生明显较短的异常路径。因此,当随机树林共同为特定样品产生较短的路径长度时,它们很有可能是异常现象。

这个策略如下图所示。

例子:

参考文献:

[LTZ2008]刘飞飞,Tony,Ting,Kai Ming,Zhou,Zhi-Hua。“隔离森林”。数据挖掘,2008年。第八届IEEE国际会议。

 

一维SVM与椭圆包络与隔离林

严格来说,一级SVM不是异常检测方法,而是一种新颖性检测方法:其训练集不应该被异常值污染,因为它可能适合它们。也就是说,高维度的异常值检测或对内容数据的分布没有任何假设是非常具有挑战性的,一类SVM在这些情况下给出了有用的结果。

下面的例子说明了covariance.EllipticEnvelope当数据越来越少的单峰时,降解的性能如何 。在svm.OneClassSVM与多模式数据更好地工作,并ensemble.IsolationForest在每一个情况下表现良好。

比较一类SVM方法和椭圆包络
对于以心脏为中心和椭圆形的非线性模式,svm.OneClassSVM无法从原始群体的旋转对称性中受益。此外,它适合训练集中存在的异常值。相反,基于拟合的决策规则covariance.EllipticEnvelope学习一个椭圆,这很好地适合了分布。的ensemble.IsolationForest 执行也是如此。
由于随机分布变得双峰,covariance.EllipticEnvelope所以不能很好地适应这些内在因素。但是,我们可以看到,无论ensemble.IsolationForestsvm.OneClassSVM有困难,检测两种模式,并且svm.OneClassSVM 倾向于过度拟合:因为它不是正常值的模型,它解释其中,偶然有些异常聚集的区域,为正常值。
如果非线性分布非常高, svm.OneClassSVM则能够恢复合理的近似ensemble.IsolationForest,而covariance.EllipticEnvelope完全失败。

例子:

 

  • 无标签