偏離訓練集統計分布的任何東西都被認為是異常。
最簡單的統計學方法就是控制圖。計算出訓練集每個特性的平均和標準偏差,然後圍繞平均值定義出閾值:k*標準偏差(k為通常在1.5到3.0之間的任意係數,取決於既定的演算法保守程度)。在部署中正向或負向超出閾值的點就是異常事件的可疑備選。
這種方法很好理解,也便於實現,而且執行很快,適用於靜態及時間序列資料。然而,要檢測更微妙的異常的話,這種方法或許太過簡單了。
其他方法往往屬於聚類方法。因為訓練集中缺失異常類,聚類演算法聽起來很適合異常檢測任務。
演算法在訓練集上建立一些群集。部署中,當前資料點和群集間的距離被計算出來。如果距離高於給定閾值,該資料點即為異常事件的可疑備選。根據距離衡量方法和聚合規則,人們設計出了不同的聚合演算法,建立了各種群集。
但是,該方法不適合時間序列資料,因為固定的群集無法捕獲時間程序。
驚不驚訝,受監督的機器學習演算法竟然也能應用到異常檢測上。而且,因為受監督的機器學習技術既能應用於靜態分類,也能應用到時間序列**問題,該方法能覆蓋所有資料情況。不過,由於受監督的機器學習技術需要所有牽涉型別的樣本集,我們還需做些調整。
在異常檢測問題上,受監督的機器學習模型只能在「正常」資料上訓練,比如,在描述系統「正常」運**況的資料上訓練。只有在分類/**完成後,才能評估出輸入資料是不是異常。依賴受監督機器學習技術的異常檢測方法主要有兩種。
其一是神經自聯器(或自編碼器)。該自聯器經過訓練,重生成輸入模式到輸出層。只要輸入模式類似訓練集中的樣本——也就是 「正常」,該模式重生成就會執行良好。而當新的不一樣的東西出現在輸入層,系統就會卡殼。這種情況下,該網路將無法重生成足夠的輸入向量到輸出層。如果計算網路的輸入和輸出差距,異常事件的差值必然高於 「正常」 事件的差值。此處,定義該距離度量的閾值就應當可以找出異常點備選。該方法對靜態資料點應用良好,但不適用於時間序列資料。
其二是時間序列**演算法。演算法模型經過訓練,基於「正常」值訓練集上的前n個樣本歷史,**下乙個樣本的值。在部署中,如果過往歷史來自於在「正常」情況下工作的系統,下乙個樣本值的**將會相對準確,近似於真實樣本值。如果過往歷史樣本來自於不再在「正常」情況下執行的系統,該**值就會偏離實際值。這種情況下,計量出**樣本值與真實樣本值之間的差距,就能圈定異常事件備選。
**:安全牛
異常檢測方法
異常檢測可謂是乙個博大精深的研究方向,在故障檢測 欺詐檢測 入侵檢測領域有著廣泛應用。本文只是結合各網路資源對其基礎進行簡單介紹,涉及到具體的領域和實際應用,還需進行深入研究和嘗試。正常狀態不能明確定義 在某些領域正常和異常並沒有明確的界限 資料本身存在雜訊,雜訊和異常難以區分 正常行為並不是一成不...
使用機器學習異常檢測攻擊行為
一般現有的內部威脅檢測演算法都會被轉化為異常檢測來做。內部威脅檢測領域除了異常檢測之外。識別攻擊動機以及區分異常和攻擊也是重點。內部威脅檢測主要是基於使用者的網路 檔案 裝置 郵件等審計日誌構建正常使用者行為模型,之後使用包括圖 機器學習 整合學習等方法對當前行為進行異常檢測。基於機器學習的異常檢測...
常用異常值檢測方法
方法 1 均方差 在統計學中,如果乙個資料分布近似正態,那麼大約 68 的資料值會在均值的乙個標準差範圍內,大約 95 會在兩個標準差範圍內,大約 99.7 會在三個標準差範圍內。方法 2 箱形圖 箱形圖是數字資料通過其四分位數形成的圖形化描述。這是一種非常簡單但有效的視覺化離群點的方法。考慮把上下...