Loading Now

異常檢測的方法評估

內容目錄

當我們在進行異常檢測時,通常會需要注意三個條件:

  1. 正確的偵測:檢測到的異常資料需要與流程設計想要找到的異常資料是一致的
  2. False Positives:檢測過程都是正常的,但將一些系統原先就會出現的noise當成異常
  3. False Negatives:過程中其實有檢測出異常資料,但並沒有紀錄,因為跟noise相比之下實在太過於薄弱,難以辨別究竟是noise還是outlier

Confusion Matrix

ConfusionMatrix 異常檢測的方法評估

因為我們探討的是異常檢測的問題,所以quicklatex.com-fcb93c4e33896d4845c38c2880d4e300_l3 異常檢測的方法評估表示為異常值,quicklatex.com-33fa437403cd49c90f7cea1709f796c9_l3 異常檢測的方法評估表示為正常值,並且表中還有一些符號是

  • a: TP(True Positive)
  • b: FN(False Negative)
  • c: FP(False Positive)
  • d: TN(True Negative)

以及傳統常見的分類方法計算出來:

    quicklatex.com-c3e2a824a4750494849e7901da1b1179_l3 異常檢測的方法評估

這類計算方法使用在許多的問題上,然而在異常檢測的問題上光用這套方法會忽略掉一些東西,試想一些異常檢測在進行準確度的限制,假設negative資料的數量是9990,而positive資料的數量是10,如果model想要預測的是normal class,最後預測的結果出來是quicklatex.com-5da74c6f67b4c8342d244e3eb05c5f2f_l3 異常檢測的方法評估, 而你可以注意到這樣的結果其實已經誤導了因為根本忽略掉那些真正的異常值,以及其他常見的評估方法例如像是

  • Precision (P) =

        quicklatex.com-c2040668f5e80189def351ec5dfa8336_l3 異常檢測的方法評估

  • Recall (R) =

        quicklatex.com-f6168cc544dae62a60dc0dc3fcdbf201_l3 異常檢測的方法評估

  • F-measure (F) =

        quicklatex.com-57922ff25b814c86cd187a093f8be351_l3 異常檢測的方法評估

  • Weighted Accuracy =

        quicklatex.com-5d12b7148817e939697b1fd37e3aa3ed_l3 異常檢測的方法評估

如果只使用以上傳統的評估方法似乎會讓真正的異常值埋沒在資訊當中,所以之後有提出另一種方法

RankPower Metric

quicklatex.com-d1f51d337625ac2120a077461d719afc_l3 異常檢測的方法評估表示成在整個排序好的rank list當中第quicklatex.com-07c32326e2a7c347c1c49015f105ee79_l3 異常檢測的方法評估個最可疑的異常值,在這個rank list當中越靠近前面的值要是最有特徵的異常值,使得RankPower計算成

    quicklatex.com-f2ff62266689c6bd9d2f0697360e964d_l3 異常檢測的方法評估

其中quicklatex.com-49f6bf27ee94426161ed57c1d7211d3c_l3 異常檢測的方法評估就是決定異常值最大範圍取多少出來,rank list在排序過後,希望是quicklatex.com-dbd2a618995b632bf9c811857bdcc446_l3 異常檢測的方法評估這些越靠前面的值越像異常值,而越靠後面的代表越像正常的資料,而在取樣quicklatex.com-d0dc5793f9128d6169b4555659deddb1_l3 異常檢測的方法評估quicklatex.com-fe07c8c60718b0392325e1b9f9c32e20_l3 異常檢測的方法評估代表著取出來quicklatex.com-5cf3b208031e9ae583cd1630732d1365_l3 異常檢測的方法評估取出最多到quicklatex.com-49f6bf27ee94426161ed57c1d7211d3c_l3 異常檢測的方法評估個資料就像

    quicklatex.com-9a98afa40aeba5654e2676a9815d686a_l3 異常檢測的方法評估

而因為會跟所有取樣的做相比,所以會map到quicklatex.com-cf152d51b5accec25c970ffa41d41faf_l3 異常檢測的方法評估,最佳的結果是取quicklatex.com-49f6bf27ee94426161ed57c1d7211d3c_l3 異常檢測的方法評估個位置的資料全部都是真正的異常值時可以算出來是1,RankPower如果取樣精確的話精準度會比前面幾種方法都還要來得好。

但我們舉個例子,假設dataset quicklatex.com-28b53f23391306f718560e0451f8d53e_l3 異常檢測的方法評估擁有的size quicklatex.com-4a9f2dc769dcc618909ea9c06ce4400f_l3 異常檢測的方法評估,其中裡面存在quicklatex.com-fdc4a10f28043bcc4b3a0bfb53ab6c84_l3 異常檢測的方法評估組真正的異常值。

假設一組anomaly detection演算法偵測出quicklatex.com-acc786375d4914f46108a730678c6b52_l3 異常檢測的方法評估組資料點是異常的,而quicklatex.com-fac9fb8925dadfae418d2b91b3742119_l3 異常檢測的方法評估才是真正異常值,在這個條件下,讓quicklatex.com-28b53f23391306f718560e0451f8d53e_l3 異常檢測的方法評估裡真正的異常值出現的rank位置是quicklatex.com-d9b5e1483037682007e5420252e35303_l3 異常檢測的方法評估,我們計算一下

    quicklatex.com-935cbeb1b91e488eb8c51ff9d111ebc1_l3 異常檢測的方法評估

可以看到用RankPower並不是最佳的選擇,因為在這個問題之下我們忽略掉了其中一組異常值,使得RankPower的精確度無法達到最佳,但有時候也還是會採用,根據你的問題可以決定要不要承擔捨棄掉一些難以辨別的異常值。

另外在介紹一種curve是許多研究人員都會使用的方法,叫做

Receiver Operating Characteristic (ROC) Curve

透過True Positive Rate(表示為y軸)以及False Positive Rate(表示為x軸)互相繪製出來的曲線,其目的在於顯示當threshold的參數調整時,繪製分類出來的問題其效能曲線圖,透過TPR以及FPR作為點。

ROCCurve 異常檢測的方法評估

上圖使用的資料是相同的,但改變了threshold的演算法以及使用了不同的取樣分佈所以讓點的位置不同

ROCCourveComparing 異常檢測的方法評估

但至於要使用哪一種分佈,由上述的圖片顯示比較兩種不同的方法,可以看到quicklatex.com-4f2453db7965582eca4c13871d022d73_l3 異常檢測的方法評估在較低的FPR中表現較好,而quicklatex.com-6cae2f642b2ca83b6a9a0e7b7a6fe0db_l3 異常檢測的方法評估在較大的FPR表現較好,面積下最理想是到達quicklatex.com-2434f71a57d32d5a70d9038bdfb35103_l3 異常檢測的方法評估,而隨機預測的面積是在quicklatex.com-1b5f416a23b77c50d548d97ff5b468b3_l3 異常檢測的方法評估

而該如何建構一個ROC Curve?

ConstructROC 異常檢測的方法評估

首先會先決定好一些initial的instances,而用這些參數來計算異常值,排序好這些初始值後,再來決定每一組值的獨立threshold

ROCThreshold 異常檢測的方法評估

最終我們可以計算不同threshold之下的TP, FP, TN, FN

    quicklatex.com-90d5582dad1950054b5081ef0fb1ffa9_l3 異常檢測的方法評估

    quicklatex.com-d1ab79db33d2d57fe0f860d7805fd1a7_l3 異常檢測的方法評估

ROCResult 異常檢測的方法評估

Share this content:

I'm Scientia, currently a graduate student. My research interests include Cryptology, Cryptographic Engineering, Security and Privacy, Computational Complexity, Quantum Cryptography, Hardware Security, Cybersecurity and Anomaly Detection.

Post Comment