異常檢測: 多元高斯分布


多元高斯分布(multivariate gaussian distribution)有一些優勢也有一些劣勢,它能捕獲一些之前算法檢測不出來的異常

一個例子:為什么要引入多元高斯分布

使用數據中心監控機器的例子,有兩個features,x1:CUP Load, x2:Memory Use.將這兩個features當做高斯分布來進行建模,如上圖所示。

假如在測試集中有一個如圖上方的綠色的樣本,它的x1的值約為0.4,x2的值約為1.5。看起來它應該被當成一個異常的數據,因為它遠離藍色線框里面的大部分的數據,這個數據的memory use很大,但是CPU load卻小,這在訓練集中是沒有出現的情況,一般來說memory use與CPU Load是呈線性增長的,所以這個數據應該是異常的。但是我們的異常檢測算法會將它判斷為異常嗎?在x1與x2的高斯分布圖上,p(x1)與p(x2)並不是很小,值都還一般大,比它們值小的點存在一些,所以異常檢測算法不會將這個點判斷為異常點,這與我們的期望不符合。

實際上我們的異常檢測算法並不能檢測我們那個藍色的樣本范圍,檢測的是粉色的樣本范圍(在粉色圈圈上的p(x)的值相同),圖中兩個綠色的點在同一個粉色圈圈上,我們的異常檢測算法判定它們的概率相同,實際上上面一個綠色點的p(x)要比下面一個綠色點的p(x)要大,所以我們需要對我們的異常檢測算法進行改進,所以會使用多元高斯分布。

多元高斯(正態)分布

 

多元高斯分布不是將x1,x2.....分別進行建模,而是將它們做為一個整體一起來建模求p(x),其中它的參數為u(u為一個n維向量),∑為一個n*n維的矩陣,p(x)的公式如上圖所示,其中|∑|為∑的行列式(deteminant)

一些多元高斯分布的例子:分布圖

 

第一個多元高斯分布,它在(0,0)的位置取最大值,∑為協方差矩陣,圖中為一個單位矩陣,描述的是x1與x2的方差(即變化率),下面的是一個俯視圖,表示在圖中暗紅色部分取值最大,向外面擴張取值逐漸變小。

第二個多元高斯分布較第一個∑變小了,即方差變小了,表示x1,x2的變化范圍變小了,則圖形更高更尖了(因為那個鼓包面下面的體積為1),映射到平面上的圖形x1,x2的變化率變小了,即圓圈的面積變小了。

第三個多元高斯分布∑變大了,即方差變大了,表示x1,x2的變化范圍變大了,則圖形更扁平了,映射到平面上的圓圈的范圍面積變大了,因為x1,x2的變化率變大了。

上面圖中第一個多元高斯分布,將x1的方差減小到0.6,x2的方差仍為1,則表示在x1的范圍變小了,x2比x1的范圍大

第二個圖中x1的方差為2,表示x1的范圍變大了,即隨着x1遠離0,x1的下降緩慢,x2的下降快。

上圖第一個圖中的高斯分布,x2的方差變小了,即x2的取值范圍變小了,較x1的取值范圍,映射到平面上是一個橢圓。

第二個圖的高斯分布,x2的方差為2,即x2的取值范圍變大了,較x1的取值范圍,映射到平面上也是一個橢圓。

 

可以利用多元高斯分布對數據的相關性進行建模,改變協方差矩陣非主對角線上的元素,

這時可以建立x1與x2相減性高的模型,上圖第一幅圖x1與x2同時大或者同時小

當將非主對角線上的元素由0.5增大到0.8時,圖像變窄變尖,映射到平面上的圖變窄(橢圓圖變窄)

當非主對角線上的元素為負數時,表示x1與x2呈現負相關性,當數值由-0.5變為-0.8時,圖形變窄變尖

當改變u值時,會改變整個高斯分布的峰值點,隨着u值的改變,峰值點會移動。

總結

1>多元高斯分布能夠描述兩個變量之間的關系,是正相關關系還是負相關關系

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM