度量学习-LMNN-对论文的个人理解(立意简单分类方法)
度量学习简介:简单来讲,就是学习如何衡量不同样本之间的相似性。
度量学习举例:对于样本x1,x2.度量学习的目的就是学习D(x1,x2).其中D函数有一下特点:
这里的D函数输出结果可以看作是相似性的倒数,或者干脆叫做差异性。其中L就是我们要学习的参数,目前本人知道的D的模式就有
1.神经网络(训练两个神经网络结构S1,S2;其输入分别是两个样本x1,x2;最终的输出是维度一致的y1,y2;训练的损失就是||y1-y2||,一个欧式距离损失,也就是二次损失),神经网络模式下,又分了两种情况:
1.1.S1和S2一模一样,训练同一组参数,这个叫做孪生网络
1.2.S1和S2不同,这个适用于两个输入领域不同的,构建不同的识别通道。
2.线性变化:也就是同LMNN原理一致的方法,通过分析矩阵变换后的空间的欧氏距离来进行分类。
度量学习作用:相似性越大,说明同属于一类的可能性越高;反之越低,则同属于一类的可能性越低。如果我们学习了如何衡量两个样本之间的相似性,那么我们可以利用这个学习到的函数进行分类:作为KNN的距离函数来进行KNN判别 ,LMNN就是这么使用的;进行匹配:比如车辆充实别,人脸识别,指纹识别等。
LMNN的介绍:是一种KNN和SVM结合的方法,克服了SVM只能二分类的方法,同时利用了KNN的识别结果来优化目标。该方法唯一的改变就是损失函数结合了KNN和SVM的损失,来得到度量函数D(x1,x2;L)=||L(x1,x2)||^2,L属于R^(dxd);学习了L参数,也就得到了度量模型。
LMNN具体损失函数和转换成凸优化的方法:(论文注释)