基於線性分析
基於時空
基於相似性分析
基於偏差
高維方法
其他往往只對單獨緯度進行研究,使用上有很大的侷限性
對異常資料和正常資料進行不同的分布假設,並用em演算法擬合資料。侷限性在於假設往往和實際有較大出入,效果一般
在低緯度上分析資料間的相關性。比如pca,factor analysis等。但是壓縮或找到低維嵌入後,資料的可解釋性下降。
o點單獨看來的情況下是正常點,但是考慮到臨近點後是異常點
如k近鄰為原型的
如local outlier factor(lof)
先把人分群,然後把明顯跟大夥兒不同的小群體去掉,那這部分小群體就是異常點。利用聚類檢測異常點的方法是丟棄遠離其他簇的小簇[3]
這種方法的思想是考慮到異常值跟整個資料集通常的特性(general characteristics)不一致,認為異常值是離中心最遠的點,當移除這些點時,整個資料集某個特徵的方差就會減小。比如一種模型的方法是定義乙個smooth factor,它表示的就是當某條資料從整體裡移除時,方差(variance)降低多少,一般來說,異常值降低的值會大於正常值。[2]
在高維下做異常檢測會出現以下問題:
隨著維度的增加,各個點距離的區分度是很小的;
資料很稀疏,幾乎所有的點都是離群點;
鄰近的概念變得沒有意義。
針對以上的問題,解決方案如下:
取樣更魯棒的距離函式,並且在full-dimensional找異常點;
在原始子空間的特徵空間裡找異常點。
基於角度的方法往往在高維空間裡會很有效。通常來說如果點o是異常點的話,那麼它與其它點的角度都差不多,如果不是異常點,它與其它點的角度就多種多樣。[2]
isolation forest
feature bagging
參考資料:[1]機器學習門下,有哪些在工業界應用較多,前景較好的小方向? - 微調的回答 - 知乎
[2]資料探勘中常見的「異常檢測」演算法有哪些? - 尼古丁布的回答 - 知乎
[3]資料探勘中常見的「異常檢測」演算法有哪些? - 恆仔的回答 - 知乎
陣列常見方法分類
concat 連線兩個或更多的陣列,並返回結果。every 檢測陣列元素的每個元素是否都符合條件。some 檢測陣列元素中是否有元素符合指定條件。filter 檢測陣列元素,並返回符合條件所有元素的陣列。indexof 搜尋陣列中的元素,並返回它所在的位置。join 把陣列的所有元素放入乙個字串。t...
Java Collection常見方法
collection的常見方法 1 新增 boolean add object obj 新增單個物件 boolean addall collection coll 新增集合 2 刪除 boolean remove object obj 刪除單個物件 boolean removeall collect...
Java Set常見方法
set 元素不能重複,無序。set介面中的方法和collection一致 hashset 內部資料結構是雜湊表,是不同步的。雜湊表確定元素是否相同 1 判斷的是兩個元素的雜湊值是否相同,如果相同再判斷兩個物件的內容是否相同。2 判斷雜湊值相同,其實判斷的是物件的hashcode的方法,判斷內容相同,...