from:https://www.jianshu.com/p/d6c8ca915f69函数
仍是对计算机的监测,咱们发现CPU负载和占用内存之间,存在正相关关系。3d
CPU负负载增长的时候占用内存也会增长:blog
假如咱们有一个数据,x1的值是在 0.4 和 0.6 之间,x2的值是在 1.6 和 1.8 之间,就是下图中的绿点:图片
它明显偏离了正常的范围,因此是一个异常的数据。内存
但若是单独从CPU负载和占用内存的角度来看,该数据倒是混杂正常数据之中,处于正常的范围:get
这个异常的数据会被认为是正常的,由于咱们获得模型的轮廓图是这样的:io
为了改良这样的状况,咱们须要把特征之间的相关性考虑进来。class
第一种方式咱们在上一篇笔记中有提到,就是增长一个新的特征 x3,把二者的相关性考虑进去:im
另外一种方式:多元高斯分布(Multivariate Gaussian Distribution),自动捕捉特征之间的相关性,公式以下:d3
其中 μ 为特征的均值,是一个 n*1 的向量:
Σ 为 特征的协方差,是一个 n*n 的矩阵:
假设咱们的均值与协方差的初始值和对应的三维图形与轮廓图以下:
μ 决定的是中心的位置,改变 μ 的值意味着中心的移动:
协方差矩阵控制的是对几率密度的敏感度。
例如某个方向的协方差越小,那么随着在该方向上的水平位移,高度的变化就越大。
首先咱们看看各个特征不相关(正交)的状况:
咱们再看一下考虑特征相关性的状况,下面两个图片分别到正相关和负相关的变化:
你看以前的模型 p(x) 会把异常数据认定为正常,而到了多元高斯分布的模型中,就获得了很好的解决:
以前的模型:
实际上是多元高斯分布的一种特例,就是协方差矩阵 Σ 为对角矩阵的状况:
进行一个简单的推演你就明白了。
假设咱们只有两个特征:
那么均值和协方差矩阵分别是:
把它们代入到多元高斯分布的公式中,能够推演获得:
二元高斯分布的密度函数,其实就是两个独立的高斯分部密度的乘积,特征更多的状况也是相似的。
须要注意的是,这里的推导不是证实的过程,仅仅是为了让你更好地理解二者的关系。
咱们知道有这么两种方式能够处理特征之间的相关关系,那么应该如何选择呢?
这个须要根据具体的现实条件进行选择。
下表是二者的对比: