識別信用卡欺詐、工業生產異常、網絡流量異常(網絡入侵)等問題,針對少數事件。
點異常:指少數個別例子異常,大部分個別例子正常,如正常人和病人的健康指標;
語境異常:也稱語境異常,是指個體實例在特定情境下異常,在其他情境下正常,如特定時間溫度突然上升或下降,特定情境下信用卡交易迅速;
群體異常:指群體集合中的個體實例異常,但個體實例本身不壹定異常的情況。比如社交網絡中的假賬號形成的集合是群體異常的子集,但子集內的個體節點可能和真實賬號壹樣正常。
有監督的:訓練集的正面和負面例子都被標記。
無監督:訓練集是無標簽的
半監督:訓練集中只有壹類例子(正常例子),沒有異常例子參與訓練。
統計方法對數據的正態性做出假設。他們假設正常的數據對象是由統計模型生成的,而不遵循該模型的數據是異常值。統計方法的有效性在很大程度上取決於為給定數據所做的統計模型假設是否成立。
異常檢測的統計方法的壹般思想是學習適合給定數據集的生成模型,然後將模型的低概率區域中的對象識別為異常值。
也就是用統計學的方法建立壹個模型,然後考慮對象符合模型的可能性有多大。
假設輸入數據集為,數據集中的樣本服從正態分布,即我們可以根據樣本求出參數和。
典型的如PCA方法,主成分分析就是主成分分析,簡稱PCA。它的應用場景是數據集的降維。降維後的數據可以最大程度的保留原始數據的特征(以數據協方差衡量)。
PCA的原理是通過構造新的特征空間,將原始數據映射到這個新的低維空間。PCA可以提高數據的計算性能,緩解“高維災難”。
?這種算法適用於數據聚集度高、離群點少的情況。同時,由於相似度算法通常需要分別計算每個數據,這類算法通常計算量大,不適合數據量大、維數高的數據。
?基於相似性的檢測方法大致可以分為三類:
集成是提高數據挖掘算法準確性的常用方法。積分方法結合了多個算法或多個基本檢測器的輸出。其基本思想是,有些算法在某些子集上表現良好,有些算法在其他子集上表現良好,然後將它們進行整合,使輸出更加魯棒。集成方法自然類似於基於子空間的方法,子空間與不同的點集相關,而集成方法使用基檢測器來探索不同維度的子集,並聚合這些基學習器。
常用的整合方法有特色套袋、隔離林等。
**特征包裝* *:
類似於bagging方法,除了對象是特征。
孤立林:
孤立森林假設我們用壹個隨機超平面來切割數據空間,壹次切割可以生成兩個子空間。然後我們繼續用隨機超平面切割每個子空間,循環,直到每個子空間只有壹個數據點。直觀來說,那些密度高的簇需要切割很多次才能分開,那些密度低的點很快就會被單獨分配到壹個子空間。孤立森林認為這些很快被孤立的點就是異常點。
用四個樣本做壹個簡單直觀的了解,D是最早被隔離的,所以D最有可能是異常的。
在標簽的情況下,樹模型(gbdt,xgboost等。)可用於分類。缺點是在異常檢測場景中數據標簽不平衡,但是使用機器學習算法的優點是可以構造不同的特征。
sci kit-學習:
Scikit-learn是壹個Python語言的開源機器學習庫。它有各種分類、回歸和聚類算法。它還包括壹些異常檢測算法,如LOF和孤立森林。
官方網站:https://scikit-learn.org/stable/.
PyOD:
1,學習pyod庫的基本操作
參考資料: