from:https://www.jianshu.com/p/d6c8ca915f69
還是對計算機的監測,我們發現CPU負載和占用內存之間,存在正相關關系。
CPU負負載增加的時候占用內存也會增加:

假如我們有一個數據,x1的值是在 0.4 和 0.6 之間,x2的值是在 1.6 和 1.8 之間,就是下圖中的綠點:

它明顯偏離了正常的范圍,所以是一個異常的數據。
但如果單獨從CPU負載和占用內存的角度來看,該數據卻是混雜正常數據之中,處於正常的范圍:


這個異常的數據會被認為是正常的,因為我們得到模型的輪廓圖是這樣的:

為了改良這樣的情況,我們需要把特征之間的相關性考慮進來。
第一種方式我們在上一篇筆記中有提到,就是增加一個新的特征 x3,把兩者的相關性考慮進去:

另一種方式:多元高斯分布(Multivariate Gaussian Distribution),自動捕捉特征之間的相關性,公式如下:
其中 μ 為特征的均值,是一個 n*1 的向量:
Σ 為 特征的協方差,是一個 n*n 的矩陣:
假設我們的均值與協方差的初始值和對應的三維圖形與輪廓圖如下:
μ 決定的是中心的位置,改變 μ 的值意味着中心的移動:
協方差矩陣控制的是對概率密度的敏感度。
例如某個方向的協方差越小,那么隨着在該方向上的水平位移,高度的變化就越大。
首先我們看看各個特征不相關(正交)的情況:
我們再看一下考慮特征相關性的情況,下面兩個圖片分別到正相關和負相關的變化:
你看之前的模型 p(x) 會把異常數據認定為正常,而到了多元高斯分布的模型中,就得到了很好的解決:
之前的模型:
其實是多元高斯分布的一種特例,就是協方差矩陣 Σ 為對角矩陣的情況:
進行一個簡單的推演你就明白了。
假設我們只有兩個特征:
那么均值和協方差矩陣分別是:
把它們代入到多元高斯分布的公式中,可以推演得到:
二元高斯分布的密度函數,其實就是兩個獨立的高斯分部密度的乘積,特征更多的情況也是類似的。
需要注意的是,這里的推導不是證明的過程,僅僅是為了讓你更好地理解兩者的關系。
我們知道有這么兩種方式可以處理特征之間的相關關系,那么應該如何選擇呢?
這個需要根據具體的現實條件進行選擇。
下表是兩者的對比: