NCA(Neighborhood Components Analysis)

NCA(邻里成分分析)是一种监督式学习方法,旨在通过优化训练集上的留一分类效果来学习一种用于KNN算法的距离度量。NCA不仅能够改善分类问题,还能用于数据可视化和维度归约。通过学习正定矩阵A,NCA定义了新的距离度量,使同类样本在转换后的空间中更加接近。

NCA是Jacob Goldberger和Sam Roweis等发表于2014年的NIPS上同名文章Neighborhood Components Analysis中的工作。

在这里插入图片描述

之前在KNN算法的学习中提到,KNN算法两个很重要的问题表示K值的选择和距离度量方式的选择。其中K值可以通过交叉验证来看模型在验证集上的效果来启发式的选择最终的K,而距离度量通常选择的是欧式距离。通常这样的方法得到的KNN在某些数据集上可以取得不错的效果,但是欧式距离并不能很好的适用于所有类型的数据。因此,如果能自动的学习到一种距离度量不是更好嘛?NCA的提出就是为上述的问题提供了一种解决方案。

在具体了解NCA之前,我们需要明白一些包括度量学习和流形学习等基础知识。

  • 度量学习(Metric Learning):又可以称为距离度量学习(Distance Metric Learning)或是相似度学习,或许最后一个更熟悉一些,因此在深度学习的各种分类问题中直观上来看就是各种样本之间相似度的比较。

    在这里插入图片描述
    source

度量学习本质上做的是学习一个映射空间,使得同类的物体距离更近,而不同类物体距离更远。因此,度量学习常常和无监督近邻分类问题和维度归约问题相关

NCA是一种监督式的学习方法,同时它也是一种距离度量学习方法,其目的在于通过在训练集上学习得到一个线性空间转移矩阵,在新的转换空间中最大化平均留一分类效果。所以,算法的关键在于如何学习得到和空间转换矩阵相关的一个正定矩阵A,矩阵A可以通过定义A的一个可微的目标函数并利用迭代法求解得到。


在这里插入图片描述

留一分类法(leave-one-out):对一个单一的数据点进行类别预测时,我们需要考虑有一种给定的距离度量确定的K个最近邻居,根据k个近邻的类别标签投票得到该样本的类别
邻里成分分析


由于网上关于NCA的资料不多,另外我对于度量学习并不是很了解,所以就稍微写一下在看完原论文后的一些理解叭~


开章明义,作者在摘要中对于NCA的作用和原理做了清楚的介绍。NCA是一种通过在训练集上最大化留一分类随机方差的方式来学习一种用于KNN的距离度量。NCA除了用于分类问题外,它还可以用于数据的可视化和维度规约。

假设标注数据集包含 n n n个样本向量 x 1 , . . . , x n x_{1},...,x_{n} x1,...,xn,样本对应的标签为 c 1 , . . . , c n c_{1},...,c_{n} c1,...,cn。那么在最近邻分类问题中,我们的目标是学习到一个度量来使得对新样本的分类效果最优。但是我们并不知道数据本身的真实分布,所以选择优化LOO来达到这个目的。根据前面的定义,NCA本质上也是想学到一个和转换矩阵 Q Q Q相关的正定阵 A A A使得 Q = A T A Q=A^TA Q=ATA成立,使得度量函数可写作: d ( x , y ) = ( x − y ) ⊤ Q ( x − y ) = ( A x − A y ) ⊤ ( A x − A y ) d(x, y)=(x-y)^{\top} Q(x-y)=(A x-A y)^{\top}(A x-A y) d(x,y)=(xy)Q(xy)=(AxAy)(AxAy)
而利用留一法计算误差时,误差函数关于A并不是连续的,因此文中引入一个可微的softmax函数 p i j = exp ⁡ ( − ∥ A x i − A x j ∥ 2 ) ∑ k ≠ i exp ⁡ ( − ∥ A x i − A x k ∥ 2 ) , p i i = 0 p_{i j}=\frac{\exp \left(-\left\|A x_{i}-A x_{j}\right\|^{2}\right)}{\sum_{k \neq i} \exp \left(-\left\|A x_{i}-A x_{k}\right\|^{2}\right)} \quad, \quad p_{i i}=0 pij=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值