Mahout系列之----距离度量

本文深入探讨了在数据科学和机器学习中常用的几种距离度量方法,包括欧氏距离、曼哈顿距离、马氏距离、余弦距离、汉明距离、平方欧几里德距离、Tanimoto距离、加权距离、切比雪夫距离等,详细解释了它们的计算公式、特点及应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   x = (x1,...,xn) 和y = (y1,...,yn) 之间的距离为

  (1)欧氏距离   EuclideanDistanceMeasure


d(x,y):=\sqrt{(x_1-y_1)^2 + (x_2-y_2)^2 + \cdots + (x_n-y_n)^2} = \sqrt{\sum_{i=1}^n (x_i-y_i)^2}

  (2)曼哈顿距离  ManhattanDistanceMeasure

   \left|x_1 - x_2\right| + \left|y_1 - y_2\right|.


(3)马氏距离MahalanobisDistanceMeasure

马氏距离是由印度统计学家马哈拉诺比斯提出的,表示数据的协方差距离。它是一种有效的计算两个未知样本集的相似度的方法。与欧氏距离不同的是它考虑到各种特性之间的联系(例如:一条关于身高的信息会带来一条关于体重的信息,因为两者是有关联的)并且是尺度无关的(scale-invariant),即独立于测量尺度。 对于一个均值为\mu = ( \mu_1, \mu_2, \mu_3, \dots , \mu_p )^T,协方差矩阵为\Sigma的多变量向量x = ( x_1, x_2, x_3, \dots, x_p )^T,其马氏距离为

D_M(x) = \sqrt{(x - \mu)^T \Sigma^{-1} (x-\mu)}

马氏距离也可以定义为两个服从同一分布并且其协方差矩阵为\Sigma的随机变量\vec{x}\vec{y}的差异程度:

d(\vec{x},\vec{y})=\sqrt{(\vec{x}-\vec{y})^T\Sigma^{-1} (\vec{x}-\vec{y})}

如果协方差矩阵为单位矩阵,马氏距离就简化为欧氏距离;如果协方差矩阵为对角阵,其也可称为正规化的欧氏距离

d(\vec{x},\vec{y})=\sqrt{\sum_{i=1}^p  {(x_i - y_i)^2 \over \sigma_i^2}}

其中\sigma_ix_i的标准差。


 (4)余弦距离  CosineDistanceMeasure

\mathbf{a}\cdot\mathbf{b}=\left\|\mathbf{a}\right\|\left\|\mathbf{b}\right\|\cos\theta

\text{similarity} = \cos(\theta) = {A \cdot B \over \|A\| \|B\|} = \frac{ \sum\limits_{i=1}^{n}{A_i \times B_i} }{ \sqrt{\sum\limits_{i=1}^{n}{(A_i)^2}} \times \sqrt{\sum\limits_{i=1}^{n}{(B_i)^2}} }

 (5)汉明距离

在信息论中,两个等长字符串之间的汉明距离是两个字符串对应位置的不同字符的个数。换句话说,它就是将一个字符串变换成另外一个字符串所需要替换的字符个数。 例如:

   10111011001001 之间的汉明距离是 2。

   21438962233796 之间的汉明距离是 3。

   "toned" 与 "roses" 之间的汉明距离是 3。



 (6)平方欧几里德距离度量  SquaredEuclideanDistanceMeasure

     http://www.r66r.net/wp-content/uploads/2013/08/20130807154200.jpg

(7)Tanimoto距离  TanimotoDistanceMeasure

     20130807155056

(8)加权距离度量  WeightedDistanceMeasure ,具体实现有:WeightedEuclideanDistanceMeasure和WeightedManhattanDistanceMeasure

      用欧几里德距离和曼哈顿距离实现。加权距离度量是Mahout的高级特征,它能让你在不同维上赋予不同的权重,以此对距离度量信息产生影响,WeightedDistanceMeasure在向量格式化中需要序列化为文件。变量对距离的影响是不一样的,通过权值来确定。

(9)切比雪夫距离  ChebyshevDistanceMeasure


 

  

转载于:https://www.cnblogs.com/cl1024cl/p/6205317.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值