在生產生活中,因爲設備的偏差或者人爲操做失當,產品不免會出現錯誤。而後檢查錯誤對人來講又是一個十分瑣碎的事情。利用機器學習進行異常值檢測可讓人類擺脫檢錯的煩惱。算法
\[ {\sigma ^2} = {1 \over m}\sum\limits_{i = 1}^m {(x_j^{(i)}} - {\mu _j}{)^2} \]機器學習
3.給定監測點\(x\).計算\(p(x)\)
\[p(x) = \prod \limits_{j = 1}^n {p({x_j};{\mu_j},\sigma_j^2)}\]函數
4.若是\(p(x)< \epsilon\),則爲異常值;反之,不是。學習
異常檢測算法是一個非監督學習算法,意味着咱們沒法經過結果變量判斷咱們的數據是否異常。因此咱們須要另外一種方法檢測算法是否有效。當咱們開發一個系統時,咱們從有標籤(知道是否異常)的數據入手,從中找出一部分正常數據做爲訓練集,剩餘的正常數據和異常數據做爲交叉檢驗集和測試集。測試
具體評價方法以下:spa
異常檢測 | 監督學習 |
---|---|
大量的正常值(y=0)和少許的異常值(y=1) | 大量的正向類(y=0)和少許的負向類(y=1) |
異常數據太少,只能根據少許數據進行訓練 | 有足夠多的正向和負向數據以供訓練 |
舉例:1.欺詐行爲檢測;2.生產廢品檢測;3.檢測機器運行狀態 | 舉例:1.郵箱過濾器;2.天氣預報;3.腫瘤分類 |
在偏差分析中,若是咱們能夠發現個人選定的變量是否合適,進而進行相應的改正。如左圖所示,異常點\(x\)對應的機率很高,顯然這種分佈方式不能很好地識別出異常值。因此咱們嘗試增長變量或者改變變量的類型來識別異常值。如右圖所示,經過增長一個變量,咱們可以更好地識別異常點。因此,偏差分析對於一個問題來講仍是很重要的。blog