几种距离计算算法及相似度计算算法
在机器学习算法中很多会用到距离计算算法和相似度计算算法,在这里简单总结下方便以后查看。
距离计算算法
欧几里得距离 | 欧几里得度量(euclidean metric)(也称欧氏距离)是一个通常采用的距离定义,指在m维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)。在二维和三维空间中的欧氏距离就是两点之间的实际距离。 | |
曼哈顿距离 | 是种使用在几何度量空间的几何学用语,用以标明两个点在标准坐标系上的绝对轴距总和。 | |
切比雪夫距离 | 在数学中,切比雪夫距离或是L∞度量,是向量空间中的一种度量,二个点之间的距离定义是其各坐标数值差绝对值的最大值。二个点之间的距离定义为其各座标数值差绝对值的最大值。以(x1,y1)和(x2,y2)二点为例,其切比雪夫距离为max(|x2-x1|,|y2-y1|)。 | |
明可夫斯基距离 | 明可夫斯基距离(minkowski distance),又称明氏距离,是欧氏空间中的一种测度,被看做是欧氏距离和曼哈顿距离的一种推广。 | |
总结:根据变参数的不同,明可夫斯基距离可以表示一类的距离。 |
相似度计算算法
余弦相似度 | 余弦相似性通过测量两个向量的夹角的余弦值来度量它们之间的相似性。给出的相似性范围从-1到1:-1意味着两个向量指向的方向正好截然相反,1表示它们的指向是完全相同的,0通常表示它们之间是独立的,而在这之间的值则表示中间的相似性或相异性。它通常用于文本挖掘中的文件比较。此外,在数据挖掘领域中,会用到它来度量集群内部的凝聚力。 | |
余弦相似度(改进) | 以上只能测量整体之间的差异性,不能从每个维度测量。Rj是每个特征维度平均值 | |
皮尔森相关系数 | 是一种线性相关系数。皮尔森相关系数是用来反映两个变量线性相关程度的统计量。r的取值在-1与+1之间,若r>0,表明两个变量是正相关,即一个变量的值越大,另一个变量的值也会越大;若r<0,表明两个变量是负相关,即一个变量的值越大另一个变量的值反而会越小。 | |
Jaccard系数(集合) | 又称为Jaccard相似系数(Jaccard similarity coefficient)用于比较有限样本集之间的相似性与差异性。Jaccard系数值越大,样本相似度越高。 |