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) 會把異常數據認定爲正常,而到了多元高斯分佈的模型中,就獲得了很好的解決:
以前的模型:
實際上是多元高斯分佈的一種特例,就是協方差矩陣 Σ 爲對角矩陣的狀況:
進行一個簡單的推演你就明白了。
假設咱們只有兩個特徵:
那麼均值和協方差矩陣分別是:
把它們代入到多元高斯分佈的公式中,能夠推演獲得:
二元高斯分佈的密度函數,其實就是兩個獨立的高斯分部密度的乘積,特徵更多的狀況也是相似的。
須要注意的是,這裏的推導不是證實的過程,僅僅是爲了讓你更好地理解二者的關係。
咱們知道有這麼兩種方式能夠處理特徵之間的相關關係,那麼應該如何選擇呢?
這個須要根據具體的現實條件進行選擇。
下表是二者的對比: