機器學習筆記037 | 多元高斯分布(Multivariate Gaussian Distribution)
還是對計算機的監測,我們發現CPU負載和佔用內存之間,存在正相關關係。
CPU負負載增加的時候佔用內存也會增加:
假如我們有一個數據,x1 的值是在 0.4 和 0.6 之間,x2 的值是在 1.6 和 1.8 之間,就是下圖中的綠點:
它明顯偏離了正常的範圍,所以是一個異常的數據。
但如果單獨從CPU負載和佔用內存的角度來看,該數據卻是混雜正常數據之中,處於正常的範圍:
這個異常的數據會被認為是正常的,因為我們得到模型的輪廓圖是這樣的:
為了改良這樣的情況,我們需要把特徵之間的相關性考慮進來。
第一種方式我們在上一篇筆記中有提到,就是增加一個新的特徵 x3 ,把兩者的相關性考慮進去:
另外一種方式就是形成多元高斯分布(Multivariate Gaussian Distribution),自動捕捉特徵之間的相關性,公式如下:
其中 μ 為特徵的均值,是一個 n × 1 的向量:
Σ 為 特徵的協方差,是一個 n × n 的矩陣:
假設我們的均值與協方差的初始值和對應的三維圖形與輪廓圖如下:
μ 決定的是中心的位置,改變 μ 的值意味著中心的移動:
協方差矩陣控制的是對概率密度的敏感度。
例如某個方向的協方差越小,那麼隨著在該方向上的水平位移,高度的變化就越大。
首先我們看看各個特徵不相關(正交)的情況:
我們再看一下考慮特徵相關性的情況,下面兩個圖片分別到正相關和負相關的變化:
你看之前的模型 p(x) 會把異常數據認定為正常,而到了多元高斯分布的模型中,就得到了很好的解決:
之前的模型:
其實是多元高斯分布的一種特例,就是協方差矩陣 Σ 為對角矩陣的情況:
進行一個簡單的推演你就明白了。
假設我們只有兩個特徵:
那麼均值和協方差矩陣分別是:
把它們代入到多元高斯分布的公式中,可以推演得到:
二元高斯分布的密度函數,其實就是兩個獨立的高斯分部密度的乘積,特徵更多的情況也是類似的。
需要注意的是,這裡的推導不是證明的過程,僅僅是為了讓你更好地理解兩者的關係。
我們知道有這麼兩種方式可以處理特徵之間的相關關係,那麼應該如何選擇呢?
這個需要根據具體的現實條件進行選擇。
下表是兩者的對比:
原來的模型多元高斯分布模型手工創建新特徵來捕捉特徵的相關性自動捕捉特徵的相關性運算量要求不高需要求協方差矩陣的逆矩陣,對運算量要求較高對訓練集數量 m 的要求不高,即使數量很小也可以正常運行求協方差逆矩陣要求訓練數量 m大於特徵數量 n
文章提前發布在公眾號:止一之路
推薦閱讀:
※斯坦福CS231n項目實戰(三):Softmax線性分類
※機器學習Part2:如何用邏輯回歸分類
※如何理解sparse.csr_matrix
※機器學習基石筆記14:正則化(Regularization)
※CS231n課程筆記(前言)
TAG:機器學習 |