度量学习 (Metric Learning) == 距离度量学习 (Distance Metric Learning,DML) == 相似度学习

度量学习 是指 距离度量学习,Distance Metric Learning,简称为 DML,是人脸识别中常用传统机器学习方法,由Eric Xing在NIPS 2002提出。

度量学习(Metric Learning)也就是常说的相似度学习。如果需要计算两张图片之间的相似度,如何度量图片之间的相似度使得不同类别的图片相似度小而相同类别的图片相似度大(maximize the inter-class variations and minimize the intra-class variations)就是度量学习的目标。

分为两种,一种是基于监督学习的,另外一种是基于非监督学习的。

一. 监督学习

1)LDA Fisher线性判别

2)Local LDA

Local Linear Discriminative Analysis

3)RCA 相关成分分析

Relevant Component Analysis

4)LPP 局部保留投影

Locality Preserving Projection

5)LMNN 大间隔最近邻

Large-Margin Nearest Neighbors

6)LLE 局部线性嵌入

Locally linear embedding

监督学习的方法应用比较多,包括上一节我们讲到的 基于CNN的特征提取都属于监督学习的范畴。

二. 非监督学习

严格说来,非监督的度量学习(主要是指降维方法)不算真正的度量学习,我们也把他们列出来,方便读者记忆:

1)主成分分析(Pricipal Components Analysis, PCA)

2)多维尺度变换(Multi-dimensional Scaling, MDS)

3)独立成分分析(Independent components analysis, ICA)

4)拉普拉斯特征映射(Laplacian Eigenmaps)

举例:

knn最合适的是学习马氏距离,要给出先验知识,哪两个数据更相似,欧式距离不可靠。SVM也是metric learning的一种,因为kernel matrix就是相似度。state of art的metric learning方法LMNN。任何方法只要用到相似度,就可以用到度量学习。度量学习主流就是学习马氏距离!

http://www.cs.cmu.edu/~liuy/distlearn.htm  其中的Principal Component Analysis(PCA)是有蔡登老师开发 
http://www.cse.wustl.edu/~kilian/Downloads/LMNN.html有Large Margin NN Classifier (LMNN)的代码

与经典识别网络相比
经典识别网络有一个bug:必须提前设定好类别数。 
这也就意味着,每增加一个新种类,就要重新定义网络模型,并从头训练一遍。

比如我们要做一个门禁系统,每增加或减少一个员工(等于是一个新类别),就要修改识别网络并重新训练。很明显,这种做法在某些实际运用中很不科学。

因此,Metric Learning作为经典识别网络的替代方案,可以很好地适应某些特定的图像识别场景。一种较好的做法,是丢弃经典神经网络最后的softmax层,改成直接输出一根feature vector,去特征库里面按照Metric Learning寻找最近邻的类别作为匹配项。

目前,Metric Learning已被广泛运用于人脸识别的日常运用中。
========================

度量学习的应用基本可以涵盖各种领域,当作工具使用,用的语言是python,有工具包metric-learn,可以直接使用pip install metric-learn的方法来安装,或者根据前面github上的网址下载源码之后python setup.py install. 
安装好之后就可以使用包中带的一些度量学习的方法了。例如:
Large Margin Nearest Neighbor (LMNN)

import numpy as np
from metric_learn import LMNN
from sklearn.datasets import load_irisiris_data = load_iris()
X = iris_data['data']
Y = iris_data['target']lmnn = LMNN(k=5, learn_rate=1e-6)
lmnn.fit(X, Y, verbose=False)

参考:

1.https://blog.csdn.net/lzt1983/article/details/7884553

2.https://www.jianshu.com/p/cf235256771b

3.https://blog.csdn.net/jningwei/article/details/80641184

4.https://blog.csdn.net/linolzhang/article/details/71247548

5.https://blog.csdn.net/m0_37052320/article/details/78912203

度量学习Metric Learning相关推荐

  1. 度量学习————Metric Learning

    度量学习的概念 度量学习 (Metric Learning) == 距离度量学习 (Distance Metric Learning,DML) == 相似度学习 度量学习 是指 距离度量学习,Dist ...

  2. 度量学习 (Metric Learning) 解读

    本文转载于以下博客地址:https://blog.csdn.net/jningwei/article/details/80641184 如有冒犯,还望谅解! Introduction 度量学习 (Me ...

  3. 度量学习 (Metric Learning)(一)

    度量学习(Metric Learning) 度量(Metric)的定义  在数学中,一个度量(或距离函数)是一个定义集合中元素之间距离的函数.一个具有度量的集合被称为度量空间. 1 为什么要用度量学习 ...

  4. 深度度量学习 (metric learning deep metric learning )度量函数总结

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_16234613/article/ ...

  5. 度量学习 度量函数 metric learning deep metric learning 深度度量学习

    曼哈顿距离(CityBlockSimilarity) 同欧式距离相似,都是用于多维数据空间距离的测度. 欧式距离(Euclidean Distance) 用于衡量多维空间中各个点之间的绝对距离.欧式距 ...

  6. 机器学习: Metric Learning (度量学习)

    Introduction 度量学习 (Metric Learning) == 距离度量学习 (Distance Metric Learning,DML) == 相似度学习 是人脸识别中常用传统机器学习 ...

  7. 度量学习(Metric Learning)基础概念

    一.什么是度量学习? 度量学习 (Metric Learning) == 距离度量学习 (Distance Metric Learning,DML) == 相似度学习. 在数学中,一个度量(或距离函数 ...

  8. Metric Learning——度量学习

    2018年04月10日 15:30:29 敲代码的quant 阅读数:1567 标签: 度量学习metric learning机器学习聚类 更多 个人分类: 机器学习 版权声明:本文为博主原创文章,未 ...

  9. 度量学习(Metric Learning)【AMSoftmax、Arcface】

    一.概述 度量学习 (Metric Learning) == 距离度量学习 (Distance Metric Learning,DML) == 相似度学习. 在数学中,一个度量(或距离函数)是一个定义 ...

  10. 机器学习(周志华) 第十章降维与度量学习

    关于周志华老师的<机器学习>这本书的学习笔记 记录学习过程 本博客记录Chapter10 文章目录 1 kkk邻近学习 2 低维嵌入 3 主成分分析 4 核化线性降维 5 流形学习 5.1 ...

最新文章

  1. Java Comparator 珍藏版
  2. 大叔手记(10):别再让面试官问你单例
  3. Spring - Java/J2EE Application Framework 应用框架 第 9 章 DAO支持
  4. shell中条件判断语法与判断条件小结
  5. 项目--教师日常办公平台中的活动图
  6. pytorch Dataset, DataLoader产生自定义的训练数据
  7. Hbase总结(八)Hbase中的Coprocessor
  8. 麦块服务器显示连接已丢失,麦块服务器密码怎么设置
  9. Nodejs最好的ORM - TypeORM
  10. vue跨域使用websocket_在vue中使用SockJS实现webSocket通信的过程
  11. Tomcat(一):基础配置详解
  12. Spring属性编辑器解读(转载)
  13. OpenGL ES glad 下载和使用
  14. cmd 打开资源监视器
  15. vue后台管理框架(iview + vue)
  16. 文件服务器域用户配额,域账号配额
  17. speedoffice表格如何方框内打勾
  18. git 提交代码报错,提示邮箱格式不正确
  19. 171221—8421BCD码、进制转换
  20. 密码学---攻击类型

热门文章

  1. 怎么查看台式计算机网络密码,台式电脑怎么查看wifi密码_台式机如何看wifi密码?-192路由网...
  2. 华为usg6320服务器映射,华为防火墙USG6320配置(简单)
  3. 苹果电脑打不开网页连接不到服务器,苹果电脑chrome打不开网页怎么办_MAC上的chrome打不开网页如何解决-win7之家...
  4. 阿里云CDN回源host理解
  5. 数字后端概念——shielding
  6. 数字后端概念——MIM cell
  7. yolov5s-6.0网络模型结构图
  8. 基于arduino的WiFi无线传输
  9. Paragraph ended before \CJK@XX was complete
  10. 隐藏部分内容,点击按钮显示全部内容