L2范数 欧氏范数

 

就是我们常说的2范数,L2范数
对于一个三维向量X=(x1,x2,x3)
欧氏范数 ||X||=[(x1)^2+(x2)^2+(x3)^2]^(1/2)

 

欧几里德空间,则是在上再添加一些内容:欧几里德结构。为了做欧氏几何,人们希望能讨论两点两点间的距离,直线或向量间的夹角。一个自然的方法是在上,对任意两个向量、,引入它们的“标准内积”(一些文献上称为点积,记为): 也就是说,中的任意两个向量对应着一个非负实数值。 我们把及这样定义的内积,称为上的欧几里德结构;此时的也被称为n维欧几里德空间,内积"<,>"称为欧氏内积。利用这个内积,可以建立距离、长度、角度等概念:向量的长度: 这里的长度函数满足范数所需的性质,故又称为上的“欧氏范数“!。

 

本帖最后由 kkkcat001 于 2009-9-14 16:45 编辑

范数就是对一个集合,抽取的特征值,也可以说是泛空间中的一个投影,主要作用是信息压缩,同时为研究族的共性,例如群变换下能够凸显的性质,作好准备.对于一个具体的向量,有很多种范数.乱写的.至于为何选取||X||=[(x1)^2+(x2)^2+(x3)^2]^(1/2),是在蕴涵坐标系存在情况下,表达对于原点无方向差异性的效果,是向量的测度标量,是当时的绝对空间(坐标系,对于观测者来说),可以感受的一个重要的效果性质

### 使用 Python 实现欧氏距离的 L2 范数计算 #### 方法一:基于 NumPy 的实现 NumPy 提供了高效的数组运算功能,可以利用 `numpy.linalg.norm` 函数快速计算两个向量之间的 L2 距离。 以下是具体代码示例: ```python import numpy as np def l2_distance_numpy(a, b): """使用 NumPy 计算两个向量间的 L2 距离""" return np.linalg.norm(a - b) # 测试案例 a = np.array([1, 2, 3]) b = np.array([4, 5, 6]) distance = l2_distance_numpy(a, b) print(f"L2 Distance using NumPy: {distance}") ``` 上述代码通过调用 `np.linalg.norm` 来计算两向量间差异的平方根[^1]。 --- #### 方法二:手动实现 L2 范数 如果不想依赖外部库,也可以手动编写 L2 距离的计算逻辑: ```python def l2_distance_manual(a, b): """手动实现两个向量间的 L2 距离""" squared_diffs = [(ai - bi)**2 for ai, bi in zip(a, b)] distance = sum(squared_diffs)**0.5 return distance # 测试案例 a = [1, 2, 3] b = [4, 5, 6] distance = l2_distance_manual(a, b) print(f"L2 Distance manually calculated: {distance}") ``` 此方法的核心在于逐元素求差值平方后再开方[^2]。 --- #### 方法三:Scipy 中的相关函数 除了 NumPy 外,SciPy 库也提供了专门用于计算各种距离的模块 `scipy.spatial.distance`。其中 `euclidean` 函数可以直接用来计算欧氏距离。 ```python from scipy.spatial import distance def l2_distance_scipy(a, b): """使用 SciPy 计算两个向量间的 L2 距离""" return distance.euclidean(a, b) # 测试案例 a = [1, 2, 3] b = [4, 5, 6] distance = l2_distance_scipy(a, b) print(f"L2 Distance using SciPy: {distance}") ``` 该函数内部实现了优化版本的距离计算方式。 --- ### 总结 三种方法各有优劣: - **NumPy** 是最常用的科学计算工具之一,适合处理大规模数据。 - 手动实现虽然简单易懂,但在性能上不如专用库高效。 - **SciPy** 则专注于更复杂的数学和统计问题,其接口设计更加直观。 以上任意一种方法都可以满足计算欧氏距离的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值