機器學習(十一)-------- 異常檢測(Anomaly Detection)

異常檢測(Anomaly Detection)
給定數據集 𝑥(1),𝑥(2),..,𝑥(𝑚),咱們假使數據集是正常的,咱們但願知道新的數據 𝑥𝑡𝑒𝑠𝑡
是否是異常的,即這個測試數據不屬於該組數據的概率如何。咱們所構建的模型應該能根據
該測試數據的位置告訴咱們其屬於一組數據的可能性 𝑝(𝑥)。
算法

模型𝑝(𝑥) 爲咱們其屬於一組數據的可能性,經過𝑝(𝑥) < 檢測非正經常使用戶。函數

將應用高斯分佈開發異常檢測算法。
學習

對於給定的數據集 𝑥(1),𝑥(2),...,𝑥(𝑚),咱們要針對每個特徵計算 𝜇 和 𝜎2 的估計值。
測試

一旦咱們得到了平均值和方差的估計值,給定新的一個訓練實例,根據模型計算 𝑝(𝑥):
3d

咱們選擇一個,將𝑝(𝑥) = 做爲咱們的斷定邊界,當𝑝(𝑥) > 時預測數據爲正常數據,
不然爲異常。blog

例如:咱們有 10000 臺正常引擎的數據,有 20 臺異常引擎的數據。 咱們這樣分配數
據:
6000 臺正常引擎的數據做爲訓練集
2000 臺正常引擎和 10 臺異常引擎的數據做爲交叉檢驗集
2000 臺正常引擎和 10 臺異常引擎的數據做爲測試集
具體的評價方法以下:開發

  1. 根據測試集數據,咱們估計特徵的平均值和方差並構建𝑝(𝑥)函數
  2. 對交叉檢驗集,咱們嘗試使用不一樣的值做爲閥值,並預測數據是否異常,根據 F1 值
    或者查準率與查全率的比例來選擇
  3. 選出 後,針對測試集進行預測,計算異常檢驗系統的𝐹1值,或者查準率與查全率
    之比。

異常檢測與監督學習對比io

相關文章
相關標籤/搜索