在介紹多視圖學習之前,我們先回顧一下單視圖學習。單視圖學習可以在傳統的垃圾郵件過濾中見到。比如我們訓練一個classifier去篩選垃圾郵件,我們可以通過自然語言處理(NLP)去通過郵件的內容來判斷它是否是垃圾郵件。我們通常會增加一些features,比如標點符號的比例,郵件的文檔長度。新的features和文檔內容放在同一個視圖下,我們在這里可以把視圖理解為一個pd.dataframe。然后通過監督學習(supervised-learning)去訓練一個模型。
多視圖學習則可以解決更復雜的問題。我們通過一個簡單的例子來理解。我們現在構建一個公司防御系統,來檢測公司員工的異常行為。這個防御系統可以看到員工的郵件往來網絡,以及員工訪問公司文件的日志。系統通過文件訪問日志了解到,員工A,B,C只訪問資源I,員工D,E,F,G則同時訪問資源I和資源II。這時沒有異常信息可以被檢測到。接下來,系統通過郵件網絡了解到:員工{A,B,C,D}處於一個團隊,員工{E,F,G}則在另外一個團隊。通過這2個視圖,我們則可以檢測到員工D的異常行為。因為第一個團隊的{A,B,C,D}里只有他一人同時訪問資源I和資源II,在這里我們可以把這個團隊理解為項目I的開發部門。{E,F,G}則同時負責項目I和項目II(比如說管理角色)。對第二個團隊來說,同時訪問資源I和資源II是很正常的,而第一個團隊的D則不應該訪問資源II。我們可以看到有必要從兩個不同的視圖來判斷員工D有異常行為。
例子來源: Liu, A., & Lam, D. (2012). Using Consensus Clustering for Multi-view Anomaly Detection. In 2012 IEEE Symposium on Security and Privacy Workshops (pp. 117–124). IEEE. https://doi.org/10.1109/SPW.2012.18)
多視圖學習同時也能做半監督學習(semi-supervised learning)來節約人工成本,以及應對擅長繞開檢測機制的惡意用戶。未完待續。。。