我是靠谱客的博主 高高小天鹅,最近开发中收集的这篇文章主要介绍机器学习——马氏距离前言马氏距离马氏距离的推导,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

机器学习——马氏距离

  • 前言
  • 马氏距离
  • 马氏距离的推导

前言

在介绍马氏距离之前,我们首先看如下概念:

  • 方差:方差是标准差的平方,而标准差的意义是数据集中各个点到均值点距离的平均值。反应的是数据的离散程度
  • 协方差:标准差与方差是描述一维数据的,当存在多维数据时,我们通常需要知道每个维数的变量中间是否存在关联。**协方差就是衡量多维数据集中,变量之间相关性的统计量。**比如说,一个人的身高与他的体重的关系,这就需要用协方差来衡量。如果两个变量之间的协方差为正值,则这两个变量之间存在正相关,若为负值,则为负相关。
  • 协方差矩阵:当变量多了,超过两个变量了。那么,就用协方差矩阵来衡量这么多变量之间的相关性。假设X是以n个随机变数组成的列向量:
    X = [ X 1 X 2 . . . X n ] X=left[{begin{array}{l}X_1\X_2\...\X_nend{array}}right] X=X1X2...Xn
    其中, μ i mu_i μi是第i个元素的期望值,即 μ i = E ( X i ) mu_i=E(X_i) μi=E(Xi)。协方差矩阵 Σ Sigma Σ的第i,j项被定义为如下形式:
    ∑ i j = c o v ( X i , X j ) = E [ ( X i − μ i ) ( X j − μ j ) ] sum_{ij}=cov(X_i,X_j)=E[(X_i-mu_i)(X_j-mu_j)] ij=cov(Xi,Xj)=E[(Xiμi)(Xjμj)]

马氏距离

D M ( x ) = ( x − μ ) T Σ − 1 ( x − μ ) D_M(x)=sqrt{(x-mu)^TSigma^{-1}(x-mu)} DM(x)=(xμ)TΣ1(xμ)
特别的,当 Σ = I Sigma=I Σ=I时,马氏距离退化为欧氏距离。

马氏距离是由马哈拉诺比斯提出的,表示数据的协方差矩阵。马氏距离是一种距离的度量,可以看作是欧式距离的一种修正,修正了欧式距离中各个维度尺度不一致且相关的问题。它是一种有效的计算两个未知样本集的相似度的方法。与欧式距离不同的是它考虑到各种特性之间的联系,并且是尺度无关的,即独立于测量尺度
马氏距离也可以定义为两个服从同一分布并且其协方差矩阵为 Σ Sigma Σ的随机变量 X X X Y Y Y的差异程度。

马氏距离的推导

对协方差矩阵 Σ Sigma Σ进行特征分解,有:
Σ = U Λ U T , U U T = I , Λ = d i a g ( λ i ) , U = ( U 1 , . . . , U p ) Sigma=ULambda{U^T}, UU^T=I,Lambda=diag(lambda_i), U=(U_1,...,U_p) Σ=UΛUT,UUT=I,Λ=diag(λi),U=(U1,...,Up)
因此,
Σ = ( U 1 , U 2 , . . . , U p ) Λ ( U 1 , U 2 , . . , U p ) T = ∑ i = 1 p U i λ i U i T Sigma =(U_1,U_2,...,U_p)Lambda(U_1,U_2,..,U_p)^T\ =sum_{i=1}^pU_ilambda_iU_i^T Σ=(U1,U2,...,Up)Λ(U1,U2,..,Up)T=i=1pUiλiUiT
得到马氏距离为:
D M ( x ) = ( x − μ ) T Σ − 1 ( x − μ ) = ( X − μ ) T ∑ i = 1 p U i 1 λ i U i T ( X − μ ) = ∑ i = 1 p ( X − μ ) T U i 1 λ i U i T ( X − μ ) D_M(x)=sqrt{(x-mu)^TSigma^{-1}(x-mu)}\ =sqrt{(X-mu)^Tsum_{i=1}^pU_ifrac{1}{lambda_i}U_i^T(X-mu)}\ =sqrt{sum_{i=1}^p(X-mu)^TU_ifrac{1}{lambda_i}U_i^T(X-mu)} DM(x)=(xμ)TΣ1(xμ) =(Xμ)Ti=1pUiλi1UiT(Xμ) =i=1p(Xμ)TUiλi1UiT(Xμ)
y i = ( x − μ ) T u i y_i=(x-mu)^Tu_i yi=(xμ)Tui
上式可以化简为:
∑ i = 1 p y i 1 λ i y i T = ∑ i = 1 p y i 2 λ i sum_{i=1}^py_ifrac{1}{lambda_i}y_i^T\ =sum_{i=1}^pfrac{y_i^2}{lambda_i} i=1pyiλi1yiT=i=1pλiyi2
p = 2 p=2 p=2,时 y 1 2 λ 1 + y 2 2 λ 2 = 1 frac{y_1^2}{lambda_1}+frac{y_2^2}{lambda_2}=1 λ1y12+λ2y22=1,
可以得到该函数图像为一个椭圆曲线,其中y坐标轴与x坐标轴经过了一个平移及缩放变换

最后

以上就是高高小天鹅为你收集整理的机器学习——马氏距离前言马氏距离马氏距离的推导的全部内容,希望文章能够帮你解决机器学习——马氏距离前言马氏距离马氏距离的推导所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部