0.前言
数值距离的计算是机器学习算法中对分析结果非常重要的衡量标准。在机器学习算法的应用过程中,常常涉及一些数值计算,总结而言主要集中在两个方面:一个是距离计算;另一个方面是概率计算。距离和概率是机器学习算法中最为核心的数值,是表达信息异同相似的数值体现。常见的距离计算方式包括欧式距离、马氏距离、曼哈顿距离、切比雪夫距离、闵氏距离、海明距离。
1.欧式距离
欧式距离(Eucliden Metric,也是欧几里得度量)是一个通常采用的距离定义,旨在m维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点距离)。在二维和三维空间中的欧氏距离就是两点之间的实际距离。
例如:对于二维平面上的两点p(x1,y1)与p(x2,y2)间的欧式距离公式为:
$d=\sqrt{(x_1-x_2)^2 + (y_1-y_2)^2}$
同理,对于三维平面上两点p(x1,y1,z1)与p(x2,y2,z2)间的欧式距离公式为:
$d=\sqrt{(x_1-x_2)^2 + (y_1-y_2)^2 + (z_1-z_2)^2}$
欧式距离是距离算法中最常用的方式,日常生活中的大部分距离都可以通过欧式距离进行计算。
虽然欧式距离非常常用,但是缺点也比较明显,它是将数据的特征进行独立的计算,且差别是等同的。这个缺陷导致部分现实问题无法通过欧式距离计算获得。例如,在心理学上需要对人的性格进行分析,但是人的性格对于不同的人的个体是不同的,也与人的其他属性有着很大的关系,因此不能进行简单的欧式距离计算。