关于机器学习:MindSpore跟着小Mi一起机器学习吧异常检测二

0次阅读

共计 2309 个字符,预计需要花费 6 分钟才能阅读完成。

一周未见,甚是惦记,明天小 Mi 带大家学习异样检测 (Anomaly detection) 的多元局部!废话不多说,咱们开始吧~

7 多元高斯分布
明天学习的内容是异样检测算法的更进一步,波及到多元高斯分布,它有一些劣势,也有一些劣势,它能捕捉到之前的算法检测不进去的异样,首先咱们来看一个例子。

假如有上图这些没有标签的数据,以数据监控核心监控机为例,两个特色变量别离是:CPU 的负载、内存使用量,右图上侧为特色变量的图,下侧为特色变量的图,如果用高斯分布来拟合,失去,参数为,同时也能够失去内存使用量的高斯分布,参数为,这就是异样检测算法给建模的办法。当初如果说,在测试集中,有一个这样的样本,在绿色 X 的地位,它的值是 0.4 左右,值是 1.5 左右,察看这些数据,看起来他们大部分都在蓝色椭圆圈起来的范畴内,而绿色 X 离椭圆内的任何数据都很远,因为会被当做一个异样数据。在好的样本数据中,CPU 负载和内存使用量是彼此线性增长的关系,所以如果有一台机器 CPU 使用量很高,那么内存使用量也会很高,然而绿色 X 的样本看起来 CPU 负载很低,但内存使用量却很高,跟训练集中的其余样本都不同,因而应该是异样样本。

然而这两个相干的特色,值域范畴比拟宽,这种状况下,个别的高斯分布模型可能不能很好地辨认异样数据,因为个别的高斯分布模型尝试的是去同时抓住两个特色的偏差,从而发明出一个比拟大的断定边界。

下图粉红色的线(依据的不同其范畴可大可小)是个别的高斯分布模型取得的断定边界,很显著绿色的 X 所代表的数据点很可能是异样值,然而其值却依然在失常范畴内。多元高斯分布将创立像图中蓝色曲线所示的断定边界。

在个别的高斯分布模型中,咱们计算的办法是:通过别离计算每个特色对应的几率而后将其累乘起来,而在多元高斯分布模型中,咱们将构建特色的协方差矩阵,用所有的特色一起来计算。

首先计算所有特色的平均值,而后再计算协方差矩阵:

注: 其中是一个向量,其每一个单元都是原特色矩阵中一行数据的均值。最初计算多元高斯分布的:

其中:

是定矩阵,能够用 det(sigma) 计算

是逆矩阵,上面咱们来看看协方差矩阵是如何影响模型的:

上图是 5 个不同的模型,从左往右顺次剖析:

1. 是一个个别的高斯分布模型

2. 通过协方差矩阵,令特色 1 领有较小的偏差,同时放弃特色 2 的偏差

3. 通过协方差矩阵,令特色 2 领有较大的偏差,同时放弃特色 1 的偏差

4. 通过协方差矩阵,在不扭转两个特色的原有偏差的根底上,减少两者之间的正相关性

5. 通过协方差矩阵,在不扭转两个特色的原有偏差的根底上,减少两者之间的负相关性

多元高斯分布模型与原高斯分布模型的关系:

能够证实的是,本来的高斯分布模型是多元高斯分布模型的一个子集,即像上图中的第 1、2、3,3 个例子所示,如果协方差矩阵只在对角线的单位上有非零的值时,即为本来的高斯分布模型了。

原高斯分布模型和多元高斯分布模型的比拟:

原高斯分布模型被宽泛应用着,如果特色之间在某种程度上存在互相关联的状况,能够通过结构新特色的办法来捕获这些相关性。

如果训练集不是太大,并且没有太多的特色,咱们就能够应用多元高斯分布模型啦。

8 应用多元高斯分布进行异样检测
那么本节咱们就应用上节中的思维开发一个不同的异样检测算法吧~

多元高斯分布和多元正态分布:

有两个参数,。其中是 n 维向量,而是协方差矩阵,尺寸大小为。而的大小能够通过扭转,失去一个范畴的不同散布。

那么上述的参数如何拟合呢?

假如有一组样本,这些样本每个都是 n 维向量,并且样本均遵从多元高斯分布。那么应该如何预计参数?

对于参数估计,有一个规范公式:

设置为训练样本的平均值。

同时设置:

这和之前给大家介绍主成分剖析算法(PCA 算法)时介绍的是一样的,因而在给定数据集之后,参数的预计问题便能够解决了,并将其带入到异样检测算法中。

这时候其实大家就会疑难了,为什么不把上述所有的操作综合起来,间接开发一个异样检测算法呢?

那么它来咯~

1. 首先用数据集来拟合模型,通过设定来拟合。

2. 接下来当有一个新的测试样本时,依据多元高斯分布的公式来计算,如果失去的很小,就标记该样本为异样,如果大于参数就不能进行异样标记。也就是说,如果将多元高斯分布拟合到数据集中。

也就是说,如果将多元高斯分布拟合到数据集中,红色 X 局部会失去一个高斯分布(不包含绿色 X),该散布在两头数据最多,越到里面的圈的范畴越小。从而最初会发现绿色 X 的确是一个异样样本。

那么原始模型与多元高斯模型又有什么样的关系呢?

下图中遵从高斯分布的三个样本都能够用原始模型进行拟合,而对于多元高斯分布而言,通过的多元高斯分布来定义的,因而模型中椭圆的散布轮廓总是轴对齐的。

而通过数学推导其实也能够证实原始模型就是某种非凡情景下的多元高斯分布,只须要设定协方差矩阵在非对角线上都是 0 就行了,有趣味的同学无妨有空试一试呀!

那么该如何在原始模型和多元高斯模型之间抉择呢?:

其实反而是原始模型被应用得更频繁一点,同时多元高斯模型又在捕获特色间的关系方面有着更大的劣势。

1. 如果想进行异样检测,有一些不同的特色等,能够通过异样的组合值来捕获异样样本,而多元高斯模型就能够主动捕捉到不同特色之间的关系。

2. 原始模型的一个微小劣势就是计算成本比拟低,能够适应微小规模数量的特色,但多元高斯模型须要计算各种矩阵,因而计算成本就比拟昂扬,适应特色比拟小的状况。

3. 对于原始模型,即便有一个小的有肯定相关性的训练集也能顺利运行;然而多元高斯模型算法就有一些数学性质须要留神,必须确保样本数量是特色数量的,不然无奈应用该模型。

好啦,对于异样检测的学习就先到这咯~ 下周小 Mi 给大家安顿举荐零碎!咱们,下周再见呦(挥手十分钟!)

正文完
 0