文献阅读01期:LMNN

文献阅读01期:LMNN_第1张图片

[ 文献阅读 ] 今日好文Outline:20210522 - LMNN

所读文献:Weinberger K Q, 2009, Distance Metric Learning for Large Margin Nearest Neighbor Classification [1]

1.摘要&简介

  • 针对KNN算法,将常用的欧式距离替换为马氏距离(Mahanalobis distance),提出新的目标函数,在MNIST数据集上进行测试,并将其命名为LMNN。

  • 对比SVM,无需进行特别处理,便可进行多分类学习,且LMNN的训练时间长短和类别数量并无太大关联(SVM的训练时间会随着Classes的增长,呈现出线性增长态势,多种扩展算法亦是如此。)

2.算法模型(Model)

2.1.线性变换

  1. n个labeled样本,训练集表达: { ( x → i , y i ) } i = 1 n \{(\overrightarrow{x}_i,y_i)\}^n_{i=1} { (x i,yi)}i=1n,其中样本输入为 x i ∈ R d {x}_i\in\mathcal{R}^d xiRd,预先标定标签为 y i y_i yi.
  2. Binary指示器: y i j ∈ { 0 , 1 } y_{ij}\in\{0,1\} yij{ 0,1},用于表示 y i y_i yi y j y_j yjmatch与否。
  3. 目标:学习线性变换: L : R d → R d \mathrm{L}:\mathcal{R}^d\rightarrow\mathcal{R}^d L:RdRd并用来计算平方距离:
    D ( x → i , x → j ) = ∥ L ( x → i − x → j ) ∥ 2 (1) \mathcal{D}(\overrightarrow{x}_i,\overrightarrow{x}_j)={\left \| \mathrm{L}(\overrightarrow{x}_i-\overrightarrow{x}_j) \right \|}^2\tag{1} D(x i,x j)=L(x ix j)2(1)

2.2.目标近邻(Target neighbors)

  • 目标近邻定义:对于每个输入 x → j \overrightarrow{x}_j x j我们需要找寻k个有同样标签( y i y_i yi)的目标近邻,并使得式(1)计算出的距离最小化。
  • 在缺失先验知识的情况下,我们只能通过欧式距离,在有同样标签( y i y_i yi)的近邻中搜索。
  • η i j ∈ { 0 , 1 } \eta_{i j} \in\{0,1\} ηij{ 0,1}表示 x → j \overrightarrow{x}_j x j x → i \overrightarrow{x}_i x i的目标近邻。
  • 需要注意的是: y i j y_ij yij η i j \eta_{i j} ηij在学习过程中不会改变。

2.3.目标函数

  • 本文目标函数分为两种惩罚:惩罚1 - 输入和目标近邻距离惩罚;惩罚2 - 具有不同Label的样本间,若距离过近,也将遭到惩罚,公式如下:
    ε ( L ) = ∑ i j η i j ∥ L ( x ⃗ i − x ⃗ j ) ∥ 2 + c ∑ i j l η i j ( 1 − y i l ) [ 1 + ∥ L ( x ⃗ i − x ⃗ j ) ∥ 2 − ∥ L ( x ⃗ i − x ⃗ l ) ∥ 2 ] + (2) \varepsilon(\mathbf{L})=\sum_{i j} \eta_{i j}\left\|\mathbf{L}\left(\vec{x}_{i}-\vec{x}_{j}\right)\right\|^{2}+c \sum_{i j l} \eta_{i j}\left(1-y_{i l}\right)\left[1+\left\|\mathbf{L}\left(\vec{x}_{i}-\vec{x}_{j}\right)\right\|^{2}-\left\|\mathbf{L}\left(\vec{x}_{i}-\vec{x}_{l}\right)\right\|^{2}\right]_{+}\tag{2} ε(L)=ijηijL(x ix j)2+cijlηij(1yil)[1+L(x ix j)2L(x ix l)2]+(2)

2.4.放大间距(Large margin)

这部分思想主要体现在式(2)的第二项当中,具有相同标签的样本会拉近距离,就要不同标签的样本会被拉大距离,从而产生Margin。如下图所示:
文献阅读01期:LMNN_第2张图片

2.5.针对目标函数的凸优化

经过转换之后,上述公式可以写为半正定规划(SDP)形式。
首先是式(1)的转换:
D ( x ⃗ i , x ⃗ j ) = ( x ⃗ i − x ⃗ j ) ⊤ M ( x ⃗ i − x ⃗ j ) (3) \mathcal{D}\left(\vec{x}_{i}, \vec{x}_{j}\right)=\left(\vec{x}_{i}-\vec{x}_{j}\right)^{\top} \mathbf{M}\left(\vec{x}_{i}-\vec{x}_{j}\right)\tag{3} D(x i,x j)=(x ix j)M(x ix j)(3)
而后是式(2)的转换:
文献阅读01期:LMNN_第3张图片

3.实验

实验数据集:

 Iris   Wine   Faces   Bal   Isolet   News   MNIST   examples (train)  106 126 280 445 6238 16000 60000  examples (test)  44 52 120 90 1559 2828 10000  classes  3 3 40 3 26 20 10  input dimensions  4 13 1178 4 617 30000 784  features after PCA  4 13 30 4 172 200 164  constraints  5278 7266 78828 76440 37 M i l 164 M i l 3.3 B i l  active constraints  113 1396 7665 3099 45747 732359 243596  CPU time (per run)  2   s 8   s 7   s 13   s 11   m 1.5   h 4   h  runs  100 100 100 100 1 10 1 \begin{array}{|l||c|c|c|c|c|c|c|} \hline & \text { Iris } & \text { Wine } & \text { Faces } & \text { Bal } & \text { Isolet } & \text { News } & \text { MNIST } \\ \hline \text { examples (train) } & 106 & 126 & 280 & 445 & 6238 & 16000 & 60000 \\ \hline \text { examples (test) } & 44 & 52 & 120 & 90 & 1559 & 2828 & 10000 \\ \hline \text { classes } & 3 & 3 & 40 & 3 & 26 & 20 & 10 \\ \hline \text { input dimensions } & 4 & 13 & 1178 & 4 & 617 & 30000 & 784 \\ \hline \text { features after PCA } & 4 & 13 & 30 & 4 & 172 & 200 & 164 \\ \hline \text { constraints } & 5278 & 7266 & 78828 & 76440 & 37 \mathrm{Mil} & 164 \mathrm{Mil} & 3.3 \mathrm{Bil} \\ \hline \text { active constraints } & 113 & 1396 & 7665 & 3099 & 45747 & 732359 & 243596 \\ \hline \text { CPU time (per run) } & 2 \mathrm{~s} & 8 \mathrm{~s} & 7 \mathrm{~s} & 13 \mathrm{~s} & 11 \mathrm{~m} & 1.5 \mathrm{~h} & 4 \mathrm{~h} \\ \hline \text { runs } & 100 & 100 & 100 & 100 & 1 & 10 & 1 \\ \hline \end{array}  examples (train)  examples (test)  classes  input dimensions  features after PCA  constraints  active constraints  CPU time (per run)  runs  Iris 1064434452781132 s100 Wine 1265231313726613968 s100 Faces 280120401178307882876657 s100 Bal 4459034476440309913 s100 Isolet 623815592661717237Mil4574711 m1 News 1600028282030000200164Mil7323591.5 h10 MNIST 6000010000107841643.3Bil2435964 h1

文献实验结果:

文献阅读01期:LMNN_第4张图片

参考文献

[1] Weinberger K Q, Saul L K. Distance metric learning for large margin nearest neighbor classification[J]. Journal of machine learning research, 2009, 10(2).

你可能感兴趣的:(每日一文,算法,机器学习)