文章目錄
0. 版權聲明
- Machine learning 系列筆記來源於Andrew Ng 教授在 Coursera 網站上所授課程《Machine learning》1;
- 該系列筆記不以盈利爲目的,僅用於個人學習、課後複習及交流討論;
- 如有侵權,請與本人聯繫([email protected]),經覈實後即刻刪除;
- 轉載請註明出處;
1. 異常檢測原理
1.1 Symbol
- :隨機變量 x 的概率分佈;
:服從正態分佈的隨機變量 x 的概率分佈,其均值爲,方差爲 ;
:隨機變量 第 i 個特徵的均值;
1.2 Gaussian(Normal) distribution
- 高斯分佈:即正態分佈,服從該分佈的隨機變量 均值爲 ,方差爲 ,記爲 ;
- N 表示 Normal distribution;
- 標準差 決定高斯分佈概率密度函數的寬度;
1.3 異常檢測算法
- 密度估計問題:即求解 ;
- 設隨機變量 有多個特徵 ;
- ;
上式的前提爲特徵 均獨立,即使不滿足該前提時,使用該式計算所得結果依然很好(語出 Andrew Ng 《Machine learning》 Week 9 視頻:Algorithm 2:19 秒);
- 異常檢測算法的步驟:
- Step 1:選取若干特徵 ;
- Step 2:擬合期望與方差;
- ,向量化可得 ;
- ,向量化可得 ;
- Step 3:對給定的新樣本 ,計算 ;
- ;
- 取閾值爲 ,若 ,則新樣本 爲異常點;
2. 構建異常檢測系統
2.1 如何評價一個異常檢測系統
- 異常檢測系統的評價算法:
- Step 1:將帶標籤的樣本劃分爲訓練集、交叉驗證集和測試集,樣本劃分時使假設訓練集中無異常樣本,交叉驗證集和測試集中有異常樣本;
- 樣本劃分案例:數據集中有 10000 個正常樣本,20 個異常樣本,則將其劃分爲訓練集中有 6000 個正常樣本,交叉驗證集中有 2000 個正常樣本和 10 個異常樣本,測試集中有 2000 個正常樣本和 10 個異常樣本;
- 訓練集中正常樣本數量較多,有利於擬合高斯分佈中的參數;
- Step 2:在訓練集中擬合模型 及參數 ;
- 一般而言,異常檢測問題中,正常樣本數量遠多於異常樣本數量,因此評價偏斜類問題時,使用 -score 作爲判斷依據;
- 在交叉驗證集中,使用多個 ,使 -score 最大的 即爲最合適的閾值,也使用該方式決定選擇那些特徵;
- Step 3:在測試集中評價算法;
- Step 1:將帶標籤的樣本劃分爲訓練集、交叉驗證集和測試集,樣本劃分時使假設訓練集中無異常樣本,交叉驗證集和測試集中有異常樣本;
2.2 異常檢測與監督學習的差異
- Q:在異常檢測系統中使用了帶標籤的樣本,爲什麼不使用監督學習的方法解決該問題?
A:- 異常檢測方法的適用場景:
- 正常樣本較多,異常樣本較少;
- 異常的種類較多,難以學到所有的異常類型,處理此前從未見過的異常類型;(導致引擎故障的原因有很多,算法難以通過較少的樣本,學到所有可能導致引擎故障的類型,也難以處理從未見過的新的異常類型)
- 監督學習方法的適用場景:
- 正常樣本和異常樣本均較多;
- 算法能夠通過數量足夠的樣本學到故障類型,判斷新樣本時僅需將其與已有的故障類型對應即可;
- 異常檢測方法的適用場景: