機器學習之異常檢測演算法

2021-09-24 23:10:56 字數 1283 閱讀 8394

下面來說下解釋下tp,fp,tn和fn

tp(true positive):真正例,即將乙個實際為正例的樣本正確的判斷為正例

fp(false positive):假正例,即將乙個實際為負例的樣本錯誤的判斷為正例

tn(true negtive):真負例,即將乙個實際為負例的樣本正確的判斷為負例

fn(false negtive):假負例,即將乙個實際為正例的樣本錯誤的判斷為負例

查準率(precision):

**為正例的樣本中,實際為正例所佔的比例,公式為: precision=tp/(tp+fp)

查全率(也叫做召回率)(recall):

正確**為正例的樣本數佔所有正例的比率,公式為: recall=tp/(tp+fn)

準確率(accuracy):

所有樣本中,**正確的所佔的比例,公式為: accuracy=tp+tn/(tp+fp+tn+fn)

類不平衡是說在訓練分類器模型時,樣本集中的類別分布不均勻,比如上面那個問題,300000個資料,理想情況下,應該是正負樣本數量近似相等;而像上面正樣本300000個,負樣本只有500個,這個就存在嚴重的類不平衡問題。

為啥要避免這個問題呢?從訓練模型的角度來說,如果某類的樣本數量很少,那麼這個類別鎖提供的『資訊』就會很少,這樣的化,就會導致我們的模型訓練效果很差。

如何避免呢,常用的有兩種方式來使得不同類別樣本比例相對平衡

1. 下取樣:

對訓練集裡面樣本數量較多的類別(多數類)進行欠取樣,拋棄一些樣本來緩解類不平衡。

2. 過取樣:

對訓練集裡面樣本數量較少的類別(少數類)進行過取樣,合成新的樣本來緩解類不平衡。

這個時候會用到乙個非常經典的過取樣演算法smote

smote全稱是synthetic minority oversampling technique即合成少數類過取樣技術,具體思想是:對少數類樣本進行分析並根據少數類樣本人工合成新樣本新增到資料集中

演算法流程如下:

對於少數類中的每乙個樣本xx,用歐式距離為標準計算它到少數類樣本集sminsmin中所有樣本的距離,得到其k近鄰

確定取樣倍率nn,對於每乙個少數類樣本xx,從其k近鄰中隨機選擇若干個樣本,假設選擇的近鄰為x^

對於每乙個隨機選出的近鄰x^,分別與原樣本按照如下的公式構建新的樣本

x_new=x+rand(0,1)∗(x^−x)

參考:

機器學習 異常檢測演算法

異常檢測應用在工業檢測 賬戶行為監測等領域。問題特點 異常檢測問題,往往更多使用無監督的演算法建模,再結合標定的驗證集用於切閾值。異常檢測的兩類常用方法 本文案例 資料集 電腦開機引數,包含兩個特徵 訓練集和驗證集的圖示如 演算法教程參見吳恩達 機器學習 異常檢測。基本的假定是 資料中的每個特徵數值...

內部威脅檢測之異常檢測演算法

一般現有的內部威脅檢測演算法都會被轉化為異常檢測來做,我個人認為在內部威脅檢測領域除了異常檢測這一killing part之外,識別攻擊動機以及區分異常和攻擊也是重點 大型立flag現場 另一篇 中了,我就寫這個 首先這篇文章就對現有的異常檢測演算法做乙個綜述。內部威脅檢測主要是基於使用者的網路 檔...

異常檢測演算法 Isolation Forest

iforest isolation forest 是由liu et al.1 提出來的基於二叉樹的ensemble異常檢測演算法,具有效果好 訓練快 線性複雜度 等特點。iforest為聚類演算法,不需要標記資料訓練。首先給出幾個定義 iforest的基本思想非常簡單 完成異常點的isolation...