zl程序教程

您现在的位置是:首页 >  硬件

当前栏目

(《机器学习》完整版系列)第10章 降维与度量学习——10.10 度量学习(将欧氏距离推广成马氏距离)

机器学习 系列 10 距离 完整版 推广 度量
2023-09-11 14:14:53 时间

不同的矩阵 M \mathbf{M} M会得到不同的马氏距离,这就有一个寻找最优 M \mathbf{M} M的问题。
可以使用近邻成分分析学习 M \mathbf{M} M

度量学习

有趣的距离与范数中,我们讨论了距离,这里我们进一步地将欧氏距离推广成马氏距离,并讨论对其学习。

欧氏距离
d i s t 2 ( x i , x j ) = ∣ ∣ x i , x j ∣ ∣ 2 2 = ( x i , x j ) T ( x i , x j ) = ( x i , x j ) T I ( x i , x j ) \begin{align} {\mathrm{dist}}^2(\boldsymbol{x}_i,\boldsymbol{x}_j) & =||\boldsymbol{x}_i,\boldsymbol{x}_j||_2^2\notag \\ & =(\boldsymbol{x}_i,\boldsymbol{x}_j)^{\mathrm{T}}(\boldsymbol{x}_i,\boldsymbol{x}_j)\notag \\ & =(\boldsymbol{x}_i,\boldsymbol{x}_j)^{\mathrm{T}}\mathbf{I}(\boldsymbol{x}_i,\boldsymbol{x}_j) \tag{10.116} \end{align} dist2(xi,xj)=∣∣xi,xj22=(xi,xj)T(xi,xj)=(xi,xj)TI(xi,xj)(10.116)
其中, I \mathbf{I} I为单位矩阵,即对角线为1的对角矩阵。

由此想到将改单位矩阵为一般的对角矩阵又如何?这就是将欧氏距离推广成含参数 W \mathbf{W} W的距离
d i s t 2 ( x i , x j ) = ( x i , x j ) T W ( x i , x j ) \begin{align} {\mathrm{dist}}^2(\boldsymbol{x}_i,\boldsymbol{x}_j) & =(\boldsymbol{x}_i,\boldsymbol{x}_j)^{\mathrm{T}}\mathbf{W}(\boldsymbol{x}_i,\boldsymbol{x}_j) \tag{10.117} \end{align} dist2(xi,xj)=(xi,xj)TW(xi,xj)(10.117)
其中, W = d i a g ( w 1 , w 2 , ⋯   , w d ) = d i a g ( w ) \mathbf{W}=\mathrm{diag}(w_1,w_2,\cdots,w_d)=\mathrm{diag}(\boldsymbol{w}) W=diag(w1,w2,,wd)=diag(w),视向量 w \boldsymbol{w} w为权重向量。 对角矩阵说明 d d d维分量间是正交的,也即属性间无关。

若取消属性间无关的限制,可将对角矩阵 W \mathbf{W} W替换成半正定对称矩阵 M \mathbf{M} M,由矩阵理论,有正交基阵 P \mathbf{P} P使得 M = P P T \mathbf{M}=\mathbf{P}\mathbf{P}^{\mathrm{T}} M=PPT,则可定义新距离:
d m 2 ( x i , x j ) = ( x i , x j ) T M ( x i , x j ) = d e f ∣ ∣ x i − x j ∣ ∣ M 2 \begin{align} d_m^2(\boldsymbol{x}_i,\boldsymbol{x}_j) & =(\boldsymbol{x}_i,\boldsymbol{x}_j)^{\mathrm{T}}\mathbf{M}(\boldsymbol{x}_i,\boldsymbol{x}_j) \tag{10.118} \\ & \mathop{=} \limits^{\mathrm{def}} ||\boldsymbol{x}_i-\boldsymbol{x}_j||^2_{\mathbf{M}} \end{align} dm2(xi,xj)=(xi,xj)TM(xi,xj)=def∣∣xixjM2(10.118)
称为马氏距离。 非负性、同一性、对称性显然,直递性证明如下:

M \mathbf{M} M为半正定对称,故有分解: M = P P T \mathbf{M}=\mathbf{P}\mathbf{P}^{\mathrm{T}} M=PPT,其中, P \mathbf{P} P为正交基。 则
d i s t M 2 ( x i , x j ) = ( x i − x j ) P P T ( x i − x j ) T = t r ( ( x i − x j ) P P T ( x i − x j ) T ) = t r ( P T ( x i − x j ) T ( x i − x j ) P ) = t r ( P T ∣ ∣ x i − x j ∣ ∣ 2 P ) = ∣ ∣ x i − x j ∣ ∣ 2 t r ( P T P ) = α 2 ∣ ∣ x i − x j ∣ ∣ 2 \begin{align} {\mathrm{dist}}_{\mathbf{M}}^2(\boldsymbol{x}_i,\boldsymbol{x}_j) & =(\boldsymbol{x}_i-\boldsymbol{x}_j)\mathbf{P}\mathbf{P}^{\mathrm{T}}(\boldsymbol{x}_i-\boldsymbol{x}_j)^{\mathrm{T}}\notag \\ & =\mathrm{tr}((\boldsymbol{x}_i-\boldsymbol{x}_j)\mathbf{P}\mathbf{P}^{\mathrm{T}}(\boldsymbol{x}_i-\boldsymbol{x}_j)^{\mathrm{T}})\notag \\ & =\mathrm{tr}(\mathbf{P}^{\mathrm{T}}(\boldsymbol{x}_i-\boldsymbol{x}_j)^{\mathrm{T}}(\boldsymbol{x}_i-\boldsymbol{x}_j)\mathbf{P})\notag \\ & =\mathrm{tr}(\mathbf{P}^{\mathrm{T}}||\boldsymbol{x}_i-\boldsymbol{x}_j||^2\mathbf{P})\notag \\ & =||\boldsymbol{x}_i-\boldsymbol{x}_j||^2\mathrm{tr}(\mathbf{P}^{\mathrm{T}}\mathbf{P})\notag \\ & =\alpha ^2||\boldsymbol{x}_i-\boldsymbol{x}_j||^2 \tag{10.119} \end{align} distM2(xi,xj)=(xixj)PPT(xixj)T=tr((xixj)PPT(xixj)T)=tr(PT(xixj)T(xixj)P)=tr(PT∣∣xixj2P)=∣∣xixj2tr(PTP)=α2∣∣xixj2(10.119)
其中,由于 P \mathbf{P} P为正交基,故可设 t r ( P T P ) = α 2 \mathrm{tr}(\mathbf{P}^{\mathrm{T}}\mathbf{P})=\alpha ^2 tr(PTP)=α2
在式(10.119)中,由欧氏距离 ∣ ∣ x i − x j ∣ ∣ 2 ||\boldsymbol{x}_i-\boldsymbol{x}_j||^2 ∣∣xixj2的直递性即可得到 d i s t M {\mathrm{dist}}_{\mathbf{M}} distM的直递性。

显然,不同的矩阵 M \mathbf{M} M会得到不同的马氏距离,这就有一个寻找最优 M \mathbf{M} M的问题。

可以使用近邻成分分析学习 M \mathbf{M} M

(1)点 x i \boldsymbol{x}_i xi的近邻点 x j \boldsymbol{x}_j xj到它的距离用马氏距离,按“近墨者黑”的原则,距离越近影响越大。

易知“影响度” p p p与“距离” d d d是一个反比例关系,如图10.2所示。

显然,从图10.2知,当 d d d越来越小时, p p p变得非常大,这也是我们不希望看到的,所以,希望有一个 “上界”。 将图10.2中的图像向左平移,则得到有界,如图10.3。

如图10.3所示,不管距离多近,影响度不超过1,然而图10.3中函数的数学性质不太好,找一个图像与它相像,但数学性质好的函数代替,即有图10.4。

比较图10.3与图10.4,将二者放到一起得到图10.5。

由图10.5知,二者趋势一致且在距离 d d d足够小时二者非常接近,故这种替代是合理的。

(2)找到函数后,进一步优化

  • 为避免开方,通常用距离的平方取代距离。
  • 将影响度“概率化”(使其和为1),即 ∑ ( ⋅ ) = 1 \sum(\cdot)=1 ()=1

x j \boldsymbol{x}_j xj x i \boldsymbol{x}_i xi的影响度为
e − d j 2 ∑ j e − d j 2 \begin{align} \frac{\mathrm{e}^{-d_j^2}}{\sum_j\mathrm{e}^{-d_j^2}} \tag{10.120} \end{align} jedj2edj2(10.120)
整理即得【西瓜书式(10.35)】的定义。

(3)投票。 k k k近邻本来是考虑近邻的点才投票,但若采用式(10.120)【西瓜书式(10.35)】的概率投票,远距离的点影响甚微,故不 妨把投票权放宽到整个样本集,这样就省了是否是近邻的判断。

样本集 D D D中,对一个具体的样本 x i \boldsymbol{x}_i xi而言,每个类别的样本子集对其都有一个总影响,设与 x i \boldsymbol{x}_i xi类别相同的样本 x j \boldsymbol{x}_j xj组成集合,设其下标集为 Ω i {\Omega}_i Ωi,且 Ω i {\Omega}_i Ωi中不含 i i i(留一法),则预测 x i \boldsymbol{x}_i xi类别的正确率为
p i = ∑ j ∈ Ω i ( x j 按式(10.120)投票) \begin{align} p_i=\sum_{j \in {\Omega}_i}\text{($\boldsymbol{x}_j$按式(10.120)投票)} \tag{10.121} \end{align} pi=jΩixj按式(10.120)投票)(10.121)
在整个样本集中,对每个样本都使用上述留一法得到其预测的正确率,让正确率之和 ∑ i = 1 m p i \sum_{i=1}^mp_i i=1mpi最大化,则得到NCA的优化目标【西瓜书式(10.38)】,可用随机梯度法求解。

本文为原创,您可以:

  • 点赞(支持博主)
  • 收藏(待以后看)
  • 转发(他考研或学习,正需要)
  • 评论(或讨论)
  • 引用(支持原创)
  • 不侵权

上一篇:10.9 局部线性嵌入公式推导(更正书中的公式)
下一篇:11.1 子集搜索与评价(流水贪心,贪心法的优缺点)