度量學習(Metric Learning)
度量(Metric)的定義
在數學中,一個度量(或距離函數)是一個定義集合中元素之間距離的函數。一個具有度量的集合被稱爲度量空間。
1 爲什麼要用度量學習?
很多的算法越來越依賴於在輸入空間給定的好的度量。例如K-means、K近鄰方法、SVM等算法需要給定好的度量來反映數據間存在的一些重要關係。這一問題在無監督的方法(如聚類)中尤爲明顯。舉一個實際的例子,考慮圖1的問題,假設我們需要計算這些圖像之間的相似度(或距離,下同)(例如用於聚類或近鄰分類)。面臨的一個基本的問題是如何獲取圖像之間的相似度,例如如果我們的目標是識別人臉,那麼就需要構建一個距離函數去強化合適的特徵(如髮色,臉型等);而如果我們的目標是識別姿勢,那麼就需要構建一個捕獲姿勢相似度的距離函數。爲了處理各種各樣的特徵相似度,我們可以在特定的任務通過選擇合適的特徵並手動構建距離函數。然而這種方法會需要很大的人工投入,也可能對數據的改變非常不魯棒。度量學習作爲一個理想的替代,可以根據不同的任務來自主學習出針對某個特定任務的度量距離函數。
圖 1
2 度量學習的方法
根據相關論文[2,3,4],度量學習方法可以分爲通過線性變換的度量學習和度量學習的非線性模型。
2.1 通過線性變換的度量學習
由於線性度量學習具有簡潔性和可擴展性(通過核方法可擴展爲非線性度量方法),現今的研究重點放在了線性度量學習問題上。線性的度量學習問題也稱爲馬氏度量學習問題,可以分爲監督的和非監督的學習算法。
監督的馬氏度量學習可以分爲以下兩種基本類型:
I 監督的全局度量學習:該類型的算法充分利用數據的標籤信息。如
- Information-theoretic metric learning(ITML)
- Mahalanobis Metric Learning for Clustering([1]中的度量學習方法,有時也稱爲MMC)
- Maximally Collapsing Metric Learning (MCML)
II 監督的局部度量學習:該類型的算法同時考慮數據的標籤信息和數據點之間的幾何關係。如
- Neighbourhood Components Analysis (NCA)
- Large-Margin Nearest Neighbors (LMNN)
- Relevant Component Analysis(RCA)
- Local Linear Discriminative Analysis(Local LDA)
此外,一些很經典的非監督線性降維算法可以看作屬於非監督的馬氏度量學習。如
- 主成分分析(Pricipal Components Analysis, PCA)
- 多維尺度變換(Multi-dimensional Scaling, MDS)
- 非負矩陣分解(Non-negative Matrix Factorization,NMF)
- 獨立成分分析(Independent components analysis, ICA)
- 鄰域保持嵌入(Neighborhood Preserving Embedding,NPE)
- 局部保留投影(Locality Preserving Projections. LPP)
2.2 度量學習的非線性模型
非線性的度量學習更加的一般化,非線性降維算法可以看作屬於非線性度量學習。經典的算法有等距映射(Isometric Mapping,ISOMAP) 、局部線性嵌入(Locally Linear Embedding, LLE) ,以及拉普拉斯特徵映射(Laplacian Eigenmap,LE ) 等。另一個學習非線性映射的有效手段是通過核方法來對線性映射進行擴展。此外還有如下幾個方面
- Non-Mahalanobis Local Distance Functions
- Mahalanobis Local Distance Functions
- Metric Learning with Neural Networks
3 應用
度量學習已應用於計算機視覺中的圖像檢索和分類、人臉識別、人類活動識別和姿勢估計,文本分析和一些其他領域如音樂分析,自動化的項目調試,微陣列數據分析等[4]。
推薦閱讀的論文
以下列舉的論文大都對後來度量學習產生了很大影響(最高的google引用量上了5000次)。1-6篇論文是關於一些方法的論文,最後一篇爲綜述。
- Distance metric learning with application to clustering with side-information
- Information-theoretic metric learning(關於ITML)
- Distance metric learning for large margin nearest neighbor classification(關於LMNN)
- Learning the parts of objects by non-negative matrix factorization(Nature關於RCA的文章)
- Neighbourhood components analysis(關於NCA)
- Metric Learning by Collapsing Classes(關於MCML)
- Distance metric learning a comprehensive survey(一篇經典的綜述)
機器學習數據集
UCI machine learning repository:http://archive.ics.uci.edu/ml/
參考文獻
[1] Xing E P, Jordan M I, Russell S, et al. Distance metric learning with application to clustering with side-information[C]//Advances in neural information processing systems. 2002: 505-512.
[2] Kulis B. Metric learning: A survey[J]. Foundations and Trends in Machine Learning, 2012, 5(4): 287-364.
[3] Yang L, Jin R. Distance metric learning: A comprehensive survey[J]. Michigan State Universiy, 2006, 2.
[4]王微. 融合全局和局部信息的度量學習方法研究[D]. 中國科學技術大學, 2014.
接下來,小編將繼續介紹一些重要的算法,敬請期待