[ 文献阅读 ] 今日好文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.线性变换
- n个labeled样本,训练集表达: { ( x → i , y i ) } i = 1 n \{(\overrightarrow{x}_i,y_i)\}^n_{i=1} { (xi,yi)}i=1n,其中样本输入为 x i ∈ R d {x}_i\in\mathcal{R}^d xi∈Rd,预先标定标签为 y i y_i yi.
- Binary指示器: y i j ∈ { 0 , 1 } y_{ij}\in\{0,1\} yij∈{ 0,1},用于表示 y i y_i yi与 y j y_j yjmatch与否。
- 目标:学习线性变换: L : R d → R d \mathrm{L}:\mathcal{R}^d\rightarrow\mathcal{R}^d L:Rd→Rd并用来计算平方距离:
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(xi,xj)=∥∥∥L(xi−x<