識別偏離正常模式的數據點的技術
異常偵測是識別偏離預期行為或模式的數據點的技術。這些異常點可能表示欺詐行為、設備故障、網路入侵或疾病徵兆。異常偵測的挑戰在於異常樣本往往很少且缺乏標註,正常和異常的邊界可能不明顯。方法可分為三大類:有監督方法使用標註數據、半監督方法僅使用正常數據、無監督方法在無標籤數據中發現異常。
Z-Score:計算樣本與均值的標準差倍數,超過閾值(通常為 3)視為異常。 IQR(四分位距):低於 Q1-1.5×IQR 或高於 Q3+1.5×IQR 的樣本視為異常。 馬氏距離:考慮特徵間相關性的距離度量,適合多維數據的異常偵測。統計方法簡單快速,但通常假設數據服從特定分佈。
自編碼器 (Autoencoder):訓練編碼器-解碼器網路重構正常數據,異常樣本的重構誤差會較大。 變分自編碼器 (VAE):提供重構概率而非點估計,可結合重構誤差和 KL 散度作為異常分數。深度學習方法適合高維數據(如影像、序列),但需要較多正常數據進行訓練。
隔離森林 (Isolation Forest):通過隨機切割特徵空間來隔離異常點,異常點更容易被隔離(路徑更短)。 One-Class SVM:尋找將正常數據與原點分開的最大間隔超平面。 局部離群因子 (LOF):比較樣本與其鄰居的密度,密度遠低於鄰居者為異常。這些方法在 sklearn 中都有現成實現,適合快速原型開發。
Deep SVDD:學習將正常數據映射到一個緊湊的超球體內,異常點落在球外。 GANomaly:基於生成對抗網路的異常偵測,結合重構誤差和潛在空間誤差。選擇方法時需考慮數據規模(大規模用 Isolation Forest 或 Autoencoder)、數據維度(低維用統計方法,高維用深度學習)和計算資源(GPU 可用用深度學習,否則用傳統方法)。