如何開發一個異常檢測系統:異常檢測 vs 監督學習


異常檢測算法先是將一些正常的樣本做為無標簽樣本來學習模型p(x),即評估參數,然后用學習到的模型在交叉驗證集上通過F1值來選擇表現最好的ε的值,然后在測試集上進行算法的評估。這兒用到了帶有標簽的數據,那么為什么不直接用監督學習對y=1和y=0的數據進行學習呢?而是要用到異常檢測算法(先對無標簽數據進行建模(當成無標簽數據,其實都是正常的樣本))。

異常檢測與監督學習有哪些區別?

 

異常檢測系統中一般正例樣本(即異常的樣本)很少(一般0-20個或者50個,50也是很常見的),這些異常樣本用於交叉驗證集與測試集中;負例樣本(即正常的樣本)數量很大,這些正常的樣本用於擬合p(x),用於擬合參數u和σ2.

監督學習中,正例樣本與負例樣本都一樣多

對於異常檢測算法通常有多種不同種類的異常,如引起飛機引擎故障的原因有很多種,你的正例樣本較少里面可能只包含了5種、10種原因,如果我們根據這些有問題的樣本來建立了一個學習模型,來了一個新的有問題的樣本,故障的原因不在里面,我們就很難預測出這個是否是異常的飛機引擎,因為我們從來沒有見過。

如果我們有大量的正例樣本,這樣就可以使用監督學習構建學習算法(學習大量的正樣本與負樣本),這樣來了一個正例樣本我們就可以通過看是否與訓練集中的相似來判斷

關鍵的區別:在異常檢測算法中,我們只有少量的正樣本(異常情況),因此學習算法不可能從這些正樣本中學到太多東西,故我們會使用大量的負樣本(正常情況),從這些負樣本中學習p(x),同時我們會使用那部分少量的正樣本(異常情況)來評估我們的算法(用於交叉驗證集與測試集).

在垃圾郵件問題中,雖然垃圾郵件的種類會非常多(如購物郵件,釣魚郵件等),但是因為我們有很多這些垃圾郵件的樣本,我們可以從這些郵件中學習到垃圾郵件識別算法,因此我們一般會使用監督學習來進行垃圾郵件的識別。

異常檢測與監督學習的一些應用

 

通常欺詐檢測使用的是異常檢測,但是如果你有大量的用戶欺詐的數據,也可以使用監督學習。

在工業生產中,我們一般希望出現問題的產品很少,這時使用異常檢測,如果出現問題的產品很多時,我們也可以轉化為監督學習來進行學習。

總結

1>正樣本(有問題的樣本、異常樣本)的數量很少時,使用異常檢測系統


免責聲明!

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



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