異常點檢測原理和系統設計

2021-07-11 23:12:15 字數 978 閱讀 2526

在機器學習和資料探勘過程中,經常會遇到異常點。

如何處理這些點,關係到後期模型的正確度和精確度,也關係到模型和演算法的效率。

對於明顯的、人能分辨的異常點,比如人的年齡大於150歲,電腦**20萬人民幣,這種顯而易見的異常點,可以直接忽略,剔除掉。

對於人無法直觀判斷的異常點,需要借助模型和數學工具進行分析,然後決定採取何種方式處理。

異常檢測的基本步驟:

1、選定容易出錯的n個特徵作為變數(x1,x2,x3,xx4,x5...xn).

2、根據已知樣本集m,計算每個特徵的均值和方差。

3、給定乙個檢測點,計算其密度函式p(x).

4、若p(x)注意:這裡e是需要計算得到,或者認為給定的;並且假定每個特徵向量滿足高斯分布。

如果特徵向量不滿足高斯分布,也可以通過對數指數等操作對其進行變換,使其分布符合或者近似符合高斯分布。

需要三種資料集:訓練集(training set)、交叉驗證集(cv)、測試集(testing set)。

分別用於構建p(x);

嘗試不同e,比較f-score準確率召回率找出最合適的e取值;

針對選擇出來的e,對檢測點進行**,計算f-score值、準確率召回率,改善引數e的選擇。

此外,我們還可以通過誤差分析,判斷選定的引數是否合適,進行相應改進。

如果異常點的概率p(x)很大,則這種引數構建的異常檢測系統不能很好地識別出異常點。

可以增加引數或者改變引數型別,使異常檢測系統能更加方便地識別異常點。

參考文章

1、

異常點檢測

import numpy as np from sklearn.ensemble import isolationforest import matplotlib.pyplot as plt np.random.seed 29 x np.random.normal size 100,2 x 0.05...

異常點檢測演算法

異常點檢測演算法 對於train data 中的資料,對其中重要的特徵 或者每個特徵 x1,x2,xn,計算其高斯分布 對new data,計算 x 每個特徵 在訓練資料分布下的 p 值並相乘,若p x 小於某個臨界值,則判斷其為異常點 什麼時候選擇使用 p x 根據分布概率來判斷異常點,什麼時候使...

Harris角點檢測原理

本文 理論 如果某一點在任意方向的乙個微小變動都會引起灰度很大的變化,那麼我們就把它稱之為角點 由上面定義,我們可以想到演算法思路 去檢測影象畫素的灰度變化情況,即求解 對於上式,我們希望找到使e的值盡量大的點,則,將上式右邊泰勒展開得 整理可得 進而可以表示為下式 這裡考慮進去窗函式,設 於是,h...