一個Outlier的江湖 -- 機器學習觀
前面我們熟悉了經典統計處理outlier的方法。 這裡會說明常見的機器學習的方法。
在展示演算法之前, 有幾類特殊的數據類型可能需要強調一下, 因為這些數據特性會影響到具體演算法的選擇的:
1. 基於距離的數據 (Distance based)
2. 相關性維度的數據 (Correlated dimensions)
3. 類別數據 (Categorical data)
4. 高維度數據 (High dimensional)
機器學習方法
機器學習根據是否有監督一般可以分為三類: supervised, unsupervised, semi-supervised。
為什麼要探討這三種模式,其實主要看你是否有經驗數據的積累。
1) 一般來說, 如果你之前人工收集了大量的outlier數據的積累, 你想把這些信息有效的用起來, 那麼監督學習是最好的。
2) 但是如果你沒有outlier的積累, 或者這種手工積累太麻煩, 你就希望自動找出一些outlier來。
3) 如果你通過無監督找到一部分oulier,然後互動式的標記一些, 然後希望找到更為精確, 那麼半監督就是一個很好的方式。
有監督 (Supervised)
1. Gaussian Mixture Model (GMM, 高斯混合模型) :
2. Bayesian Networks (貝葉斯網路)
3. Support Vector Machine (SVM, 支持向量機):
4. Multi-Layer Perceptron (MLP, 多層神經網路):
5. K Nearest Neighbor (KNN, K 近鄰)
Rule-based Systems (基於規則的系統):
無監督 (Unsupervised)
6. DBScan(Density based, 基於密度的聚類)
7. Spectral Clustering (譜聚類)
8. Principal component analysis (PCA, 主成分分析, Dimension Reduction, 維度壓縮) 高維數據
半監督 (Semi-supervised)
Collective anomaly anlaysis (聚集的奇點分析)
優缺點說明
有監督
優點:
- 能進一步區分outlier的更細的類別。
- 對於新增數據不需要重新計算
缺點:
- 要求有大量的標記數據集
- 不能捕捉未知outlier
- 部分分類演算法不能給定是outlier的可能性
無監督
優點:
- 不需要已標記數據
- 能夠給定outlier額外的距離,或者概率信息
缺點:
- 對樣本的採集有很高要求, 要求樣本分佈和真是分佈一直。
- 對於分佈複雜的數據有一定侷限性。
- 對聚類演算法本身過於敏感。
- 新數據來的計算量會比較大。
半監督
優點:
- 能夠兼顧有監督和無監督的優點
缺點:
- 沒有固定的演算法
- 需要領域背景知識
機器學習 VS 經典統計
經典統計:
優點:
- 統計正確,容易解釋
- 可以看成無監督過程
缺點:
- 對樣本和假設檢驗的設定要求高
- 對於複雜結構的數據難以處理
機器學習:
優點:
- 可用的方法選擇多, 大量現有工具
- 適用的數據範圍廣
缺點:
1. 存在可解釋性的問題
推薦閱讀: