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

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

曼哈顿距离

曼哈顿距离又称“计程车距离”,由十九世纪的赫尔曼·闵可夫斯基所创。点\(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\{\begin{matrix} 1, &if x_i\neq y_i\\ 0, & if x_i=y_i \end{matrix}\right. \]

余弦相似度

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

\[cos(\theta )={{A\cdot{B}}\over{||A||\cdot||B||}}={{\sum_1^n(A_i\times B_i)}\over{{\sqrt{\sum_i^n(A_i)^2}}\times{\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}}\\ \begin{cases} J(A,B)=1 & \text{ if } A=\varnothing \text{and} B=\varnothing \\ 0\leq J(A,B)< 1 & \text{ if } else \end{cases} \]

皮尔森相关系数

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

\[r={ \sum_i^n { ( (X_i-\bar{x}) (Y_i-\bar{y}) ) } \over {\sqrt{\sum_1^n(x_i-\bar{x})^2} \sqrt{\sum_i^n{(y_i-\bar{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)} \]

posted @ 2018-10-09 16:05  WingPig  阅读(4057)  评论(0编辑  收藏  举报