1. 程式人生 > >度量學習 (Metric Learning)(一)

度量學習 (Metric Learning)(一)

度量學習(Metric Learning

度量(Metric)的定義 

在數學中,一個度量(或距離函式)是一個定義集合中元素之間距離的函式。一個具有度量的集合被稱為度量空間。

為什麼要用度量學習?

很多的演算法越來越依賴於在輸入空間給定的好的度量。例如K-meansK近鄰方法、SVM等演算法需要給定好的度量來反映資料間存在的一些重要關係。這一問題在無監督的方法(如聚類)中尤為明顯。舉一個實際的例子,考慮圖1的問題,假設我們需要計算這些影象之間的相似度(或距離,下同)(例如用於聚類或近鄰分類)。面臨的一個基本的問題是如何獲取影象之間的相似度,例如如果我們的目標是識別人臉,那麼就需要構建一個距離函式去強化合適的特徵(如髮色,臉型等);而如果我們的目標是識別姿勢,那麼就需要構建一個捕獲姿勢相似度的距離函式。為了處理各種各樣的特徵相似度,我們可以在特定的任務通過選擇合適的特徵並手動構建距離函式。然而這種方法會需要很大的人工投入,也可能對資料的改變非常不魯棒。度量學習作為一個理想的替代,可以根據不同的任務來自主學習出針對某個特定任務的度量距離函式。

 

圖 1

度量學習的方法

根據相關論文[2,34],度量學習方法可以分為通過線性變換的度量學習和度量學習的非線性模型。

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(一篇經典的綜述)

機器學習資料集

參考文獻

[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.

接下來,小編將繼續介紹一些重要的演算法,敬請期待