• 机器学习中常见的距离公式


    在机器学习、人工智能领域常用的距离计算公式。

    曼哈顿距离

    曼哈顿距离又称“计程车距离”,由十九世纪的赫尔曼·闵可夫斯基所创。点(P_1(x_1,y_1))(P_2(x_2,y_2))的距离如下:

    [distance(P_1,P_2)=|x_2-x_1|+|y_2-y_1| ]

    欧几里得距离

    欧几里得距离也叫做(欧氏距离)是欧几里得空间中两点的“普遍”(直线距离)。点(P_1(x_1,x_2,x_3,,,x_n))(P_2(y_1,y_2,y_3,,,y_n))的距离如下:

    [distance=sqrt{(x_1-y_1)^2+(x_2-y_2)^2+,,,+(x_n-y_n)2}=sqrt{sum_1^n(x_i-y_i)2} ]

    切比雪夫距离

    切比雪夫距离(Chebyshev distance),二个点之间的距离定义为其各坐标数值差的最大值。点(P_1(x_1,x_2,x_3,,,x_n))(P_2(y_1,y_2,y_3,,,y_n))的距离如下:

    [distance(P_1,P_2)=max(|x_1-y_1|,|x_2-y_2|,,,|x_n-y_n|) ]

    闵尔科夫斯基距离

    闵尔科夫斯基距离(闵式距离),以俄国科学家闵尔科夫斯基命名,是欧氏距离的推广,是一组距离的的定义。点(P_1(x_1,x_2,x_3,,,x_n))(P_2(y_1,y_2,y_3,,,y_n))的距离如下:

    [distance(P_1,P_2)=sqrt[p]{sum_1^n(x_i-y_i)^p} ]

    当p=1时,就是曼哈顿距离

    当p=2时,就是欧式距离

    当p->∞时,就是切比雪夫距离

    马氏距离

    由印度科学家马哈拉诺比斯提出,表示数据的协方差距离。是一种有效的计算两个位置样本集相似度的方法。与欧氏距离不同的是他考虑到各种特性之间的联系并且是尺度无关的,即独立于测量尺度。如果协方差矩阵为单位矩阵,马氏距离就简化为欧式距离,如果协方差矩阵为对角阵,其也可称为正规化的马氏距离。

    汉明距离

    在信息论中,两个等长字符串的汉明距离是两个字符串相对应位置上的不同字符串的个数。

    [x={x_1,x_2,,,x_n} \ y={y_1,y_2,,,y_n}\ distance(x,y)=sum_1^n{I(x_i,y_i)}\ I(x_i,y_i)=left{egin{matrix} 1, &if x_i eq y_i\ 0, & if x_i=y_i end{matrix} ight. ]

    余弦相似度

    余弦相似度是通过测量两个向量夹角的度数来度量他们之间的相似度。0度的相似度是1,90度的相似度是0,180的相似度是-1。结果的测量只与向量的指向方向有关,与向量的长度无关。余弦相似度通常用于正空间,因此给出的值为0到1之间。对于A和B的距离是:

    [cos( heta )={{Acdot{B}}over{||A||cdot||B||}}={{sum_1^n(A_i imes B_i)}over{{sqrt{sum_i^n(A_i)^2}} imes{sqrt{sum_i^n(B_i)^2}}}} ]

    杰卡德距离

    杰卡德距离是杰卡德相似系数的补集。杰卡德相似系数用于度量两个集合之间的相似性,定义为两个集合交集集合元素的个数比上并集集合元素的个数。

    [J(A,B)={{A cap B} over {A cup B} }\ d_J=1-J(A,B)={{A cap B - A cup B} over {A cup B}}\ egin{cases} J(A,B)=1 & ext{ if } A=varnothing ext{and} B=varnothing \ 0leq J(A,B)< 1 & ext{ if } else end{cases} ]

    皮尔森相关系数

    皮尔森相关系数是一种线性相关系数。是两个变量线性相关程度的统计量,皮尔森相关系数的绝对值越大则相关性越强。

    [r={ sum_i^n { ( (X_i-ar{x}) (Y_i-ar{y}) ) } over {sqrt{sum_1^n(x_i-ar{x})^2} sqrt{sum_i^n{(y_i-ar{y})^2}}} } ]

    编辑距离

    编辑距离(Edit Distance):又称Levenshtein距离,由俄罗斯科学家Vladimir Levenshtein在1965年提出。是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。

    K-L散度

    K-L散度(Kullback-Leibler Divergence):即相对熵;是衡量两个分布(P、Q)之间的距离;越小越相似。

    [D(P||Q)=sum_i^nP(i)log{P(i) over Q(i)} ]

  • 相关阅读:
    Python:判断文本中的用户名在数据库中是否存在,存在返回1,不存在返回0
    Mongodb创建修改用户权限
    web开发一些常用的工具类的网站
    python linux交互模块(paramiko、fabric与pexpect)
    python内建模块详解
    python笔记_01_打开文件读取一行的最好方法
    轻量级RPC设计与实现第二版
    轻量级RPC设计与实现第一版
    Dubbo-服务注册中心之AbstractRegistry
    dubbo之心跳机制
  • 原文地址:https://www.cnblogs.com/WingPig/p/9760882.html
Copyright © 2020-2023  润新知