文献阅读 - Distance Metric Learning for Large Margin Nearest Neighbor Classification
Distance Metric Learning for Large Margin Nearest Neighbor Classification
Weinberger K Q . Distance Metric Learning for Large Margin Nearest Neighbor Classification[J]. NIPS, 2005.
摘要
度量(metric)学习的目标是使得个最近邻样本总是属于同一类别,且不同类别样本之间的距离很大。
无需修改即可处理多分类(multiway)问题
1 引言
kNN分类器对未标记样本的分类规则为:训练集中与其最近的个样本投票表决,因此kNN分类器的性能取决于其采用的距离度量(distance metric)。
通常kNN分类器采用欧氏距离(Euclidean distance metric)衡量样本相似度,然而,欧氏距离完全不考虑训练集数据的统计特性。
相关文献指出:从标注样本中学习得到的距离度量,能够显著提高kNN的分类能力。
本文给出一种针对kNN分类器的马氏距离度量(Mahanalobis distance metric)学习方案,该度量的优化目标是个最近邻样本总是属于同一类别,且不同类别样本之间的距离不小于某一余量(large margin)。
大余量最近邻(large margin nearest neighbor,LMNN)分类
2 模型
训练集为,其中样本,标签为离散类别;
二进制矩阵表示标签和是否相同;
通过学习线性变换(linear transformation),并将其用于计算平方距离:
进而优化kNN分类。
目标邻居(target neighbors)
目标邻居:对于每个样本,指定个与其标签相同的样本,则优化目标为最小化样本与其个目标邻居的距离。
无先验知识(prior knowledge)条件下,目标邻居可指定为与标签相同且欧氏距离最小的条样本。
表示样本是否为样本的目标邻居。
学习过程中,和均保持不变。
损失函数(cost function)
其中,表示合页损失函数(hinge loss)。上式第一项用于惩罚与输入样本距离过大的目标邻居,第二项用于惩罚与输入样本类别不同且距离过小的样本。
大余量(large margin)
方程(2)中的第二项对应余量。只有当异类样本距离小于目标邻居距离加一个绝对单位距离时,合页损失才会被触发,因此损失函数倾向于使异类样本不侵入输入样本的目标邻域。
与支持向量机比较(Parallels with SVMs)
凸优化(Convex optimization)
方程(2)的最优化为半定规化(semidefinite programming,SDP)问题,SDP为凸函数(convex),因此方程(2)有全局最小值。将方程(1)重写为:
其中,。合页损失可通过引入松弛变量(slack variables)()模拟,则SDP描述为:
Minimize
subject to
(1)
(2)
(3)
约束(3)表示为半正定矩阵(positive semidefinite)。
由于大多数的标识样本对相距较远,故其距离不会触发合页损失,因此松弛变量矩阵是稀疏的,即主动约束(active constraints)数量稀少。
3 结果
实验数据集
Iris | Wine | Faces | Bal | Isolet | News | MNIST | |
---|---|---|---|---|---|---|---|
examples | (train) | 106 | 126 | 280 | 445 | 6238 | 16000 |
examples | (test) | 44 | 52 | 120 | 90 | 1559 | 2828 |
classes | 3 | 3 | 40 | 3 | 26 | 20 | 10 |
input | dimensions | 4 | 13 | 1178 | 4 | 617 | 30000 |
features | after | PCA | 4 | 13 | 30 | 4 | 172 |
constraints | 5278 | 7266 | 78828 | 76440 | 37 | Mil | 164 |
active | constraints | 113 | 1396 | 7665 | 3099 | 45747 | 732359 |
CPU | time | (per | run) | 2s | 8s | 7s | 13s |
runs | 100 | 100 | 100 | 100 | 1 | 10 | 1 |