首页 > 其他分享 >一些基础的度量

一些基础的度量

时间:2023-10-04 17:33:12浏览次数:35  
标签:BC dfrac 基础 距离 sqrt vec 一些 向量 度量

部分摘自 ☆Ronny丶,是一个大佬,但是不知道为啥页面上的公式在我的电脑上渲染的是崩的。

1. 欧氏距离

常用的几何上两点距离的度量,即求 \(L_2\) — 范数

设 \(R^n\) 空间中有两点 \(A, B\),则这两点的距离为:

\[d(A,B) = \sqrt{\sum_{i=1}^n (A_i - B_i)^2} \]

当然,也可以表示成为向量的形式,设 \(R^n\) 中有两个 \(n\) 维向量 \(\vec a, \vec b\),则:

\[d(\vec a, \vec b) = \sqrt{(\vec a-\vec b)(\vec a - \vec b)^{T}} \]

2. 标准化欧氏距离

对欧氏距离的一个改进,但是要求基于一个数据集的分布。

\[d(\vec a, \vec b) = \sqrt{\sum_{i=1}^n (\dfrac{a_i - b_i}{S_i})^2} \]

其中 \(S_i\) 表示在第 \(i\) 维上的方差。

3. 曼哈顿距离

我们可以定义曼哈顿距离的正式意义为 \(L_1\)—范数或城市区块距离,也就是在欧几里得空间的固定直角坐标系上两点所形成的线段对轴产生的投影的距离总和。

在平面网格上两点 \(A,B\) 的距离为:

\[d(A,B) = |x_A - x_B| + |y_A - y_B| \]

当然,也可以拓展到 \(n\) 维向量上:

\[d(\vec a, \vec b) = \sum_{i=1}^{n} |a_i - b_i| \]

要注意的是,曼哈顿距离依赖座标系统的转度,而非系统在座标轴上的平移或映射。

4. 切比雪夫距离

也被称为棋盘距离,描述了两个实值向量在任意维度的最大距离,即求 \(L_{\infty}\)—范数,公式如下:

\[d(\vec a, \vec b) = \max_{i} |a_i - b_i| \]

5. 闵可夫斯基距离

即求 \(L_p\)—范数,是上述距离度量的广义形式:

\[d(\vec a, \vec b) = \sqrt[p]{\sum_{i=1}^{n} (a_i - b_i)^p} \]

6. 余弦相似度和距离

其一般作为方向上的度量,通常情况下会忽略向量的大小:

\[d(\vec a, \vec b) = \cos(\alpha) = \dfrac{\vec a \cdot \vec b}{||\vec a||\,||\vec b||} \]

其中 \(||\vec a||\) 表示 \(\vec a\) 的 \(L_2\)—范数。

7. 半正矢距离

描述球上两点之间的最短距离:

\[d(A,B) = 2r\arcsin \left( \sqrt{\sin^2 \left( \dfrac{\varphi_2 - \varphi_1}{2}\right) + \cos \varphi_1 \cos \varphi_2 \sin^2 \left( \dfrac{\lambda_2 - \lambda_1}{2}\right) }\right) \]

其中 \(r\) 为球的半径, \(\varphi, \lambda\) 分别表示经度和纬度。

8. 汉明距离

描述两个相同维度的向量之间的距离,值域 \([0,1]\):

\[d(\vec a, \vec b) = \dfrac{\sum_{i=1}^n [a_i \not= b_i]}{n} \]

其中 \([condition]\) 为艾弗森括号。

9. 马氏距离

有 \(M\) 个样本向量 \(x_1 \dots x_M\),设 \(S\) 为其协方差矩阵,均值标记为向量 \(\mu\),则:

\[d(X) = \sqrt{(X-\mu)^T S^{-1} (X - \mu)} \]

其中两个向量 \(\vec x_i, \vec x_j\) 之间的马氏距离为:

\[d(x_i, x_j) = \sqrt{(\vec x_i - \vec x_j)^{T}S^{-1}(\vec x_i - \vec x_j)} \]

显然的是,当协方差矩阵为单位矩阵时,马氏距离即为欧氏距离。

10. 巴氏距离

一般用于描述两个概率分布之间的相似性。

设 \(p,q\) 为两个离散概率分布,则:

\[d(p,q) = -\ln BC(p,q) \]

其中 \(BC(p,q)\) 叫做 Bhattacharyya 系数(巴氏系数):

\[BC(p,q) = \sum_{x\in X} \sqrt{p(x)q(x)} \]

设 \(p,q\) 为两个连续概率分布,则:

\[d(p,q) = -\ln BC(p,q) \]

其中,\(BC(p,q)\) 的定义是:

\[BC(p,q) = \int \sqrt{p(x)q(x)} dx \]

11. 杰卡德相似系数

设有两个集合 \(A,B\),则杰卡德相似系数为:

\[J(A,B) = \frac{|A \cup B|}{|A \cap B|} \]

两个集合的杰卡德距离为:

\[d(A,B) = \dfrac{1}{J(A,B)} \]

12. Sorensen-Dice 指数

跟杰卡德距离有点像,设有两个集合 \(A,B\),则:

\[d(A,B) = \dfrac{2|A\cap B|}{|A|+|B|} \]

标签:BC,dfrac,基础,距离,sqrt,vec,一些,向量,度量
From: https://www.cnblogs.com/larry76/p/17742502.html

相关文章

  • 【基础算法】排序算法
    一、排序算法简介排序是对批量数据按照一定的顺序进行排列的操作。1.1学习排序算法的要点算法原理、代码实现、评价算法优劣。1.2评价排序算法的优劣排序算法的优劣可以从以下3个方面进行评价:时间性能:最好、最坏、平均时间复杂度;内存占用:是否原地排序,原地排序算法,......
  • 2023-2024-1 20231314许城铭 《计算机基础与程序设计》第一周学习总结
    2023-2024-120231314许城铭《计算机基础与程序设计》第一周学习总结作业信息这个作业属于哪个课程(2022-2023-1-计算机基础与程序设计)这个作业要求在哪里(2022-2023-1计算机基础与程序设计第一周作业)这个作业的目标<简单浏览《计算机科学概论》,并尝试提出问题以......
  • TypeScript入门到精通——TypeScript类型系统基础——字面量类型
    字面量类型 TypeScript支持将字面量作为类型使用,我们称之为字面量类型。每一个字面量类型都只有一个可能的值,即字面量本身。1、boolean字面量类型 boolean字面量类型只有以下两种:true字面量类型false字面量类型 原始类型boolean等同于由true字面量类型......
  • 动态规划基础
    动态规划方案数问题例:P1002[NOIP2002普及组]过河卒解题思路参考代码#include<cstdio>typedeflonglongLL;constintN=25;intdx[8]={-2,-2,-1,-1,1,1,2,2};intdy[8]={-1,1,-2,2,-2,2,-1,1};boolcontrol[N][N];LLdp[N][N];intm......
  • 2023-2024-1 20231319《计算机基础与程序设计》第1周学习总结
    《计算机基础与程序设计》第1周学习总结说明班级:2023-2024-1-计算机基础与程序设计作业要求:2023-2024-1《计算机基础与程序设计》教学进程作业目标:快速浏览一遍教材,并提出问题问题第一章1.信息隐藏是如何通过抽象实现的?2.云计算是如何脱离硬件而实现的,真的能完全脱离硬件......
  • C#中换行及一些常用转移字符
    在C#中,换行符由\n表示,stringstr="这是第一行\n这是第二行";在C#中,还可以使用字符串连接符(+)来连接不同的字符串,并在连接时添加换行符实现文字换行stringstr1="这是第一行";stringstr2="这是第二行";stringstr=str1+"\n"+str2;Console.Write......
  • 两种方法获取电话区号,检验我们对Excel基础知识储备的反应能力!
    1职场实例小伙伴们大家好,今天我们专门拿出一个篇幅讲解一下如何在Excel中提取座机电话的区号。如下图所示:是一张各个单位的联系信息,其中的B列为座机电话号码,座机电话号码有一个特点:就是有一个间隔符“-”将一串数字分成了左右两段,左段数字为区号,右段数字为号码。现在我们需要在C列......
  • 2023-2024-1学年 学号20231317 《计算机基础与程序设计》第二周学习总结
    学期(如2023-2024-1)学号(如:20231317)《计算机基础与程序设计》第二周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2023-2024-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(如2023-2024-1计算机基础与程序设计第二周作业)这个作业的目标<分别......
  • 安装Linux操作系统,学习Linux基础
    安装Linux操作系统安装Linux操作系统实践学习“别出心裁的Linux命令学习法”1、ls命令2、man命令3、cheat命令实践学习“Linux基础入门(新版)”......
  • python基础操作练习题
    使用版本:python3.6.8IDE:pycharm前言这些练习题是在神经网络与深度学习课程上老师提供的,原因是有些同学没学过python,作为简单的练手习题。题目都很简单,加上python本身也比较简单,有些题目的作答可以一行代码实现(虽然可读性就下降了)。练习题2.1数位之和编写程序,输入一个正......