2-范数的概念

2-范数(Euclidean norm),也常称为“欧几里得范数”,是在向量空间中衡量向量大小的一种方法。在数学上,对于一个实数或复数向量,2-范数定义为其各元素的平方和的平方根。对于一个n维向量( \vec{x} = [x_1, x_2, …, x_n] ),其2-范数可以表示为:

[ |\vec{x}|_2 = \sqrt{x_1^2 + x_2^2 + … + x_n^2} ]

2-范数提供了一个度量,即从原点到向量表示点的直线距离,这也是在欧几里得空间中最直观的长度概念。

2-范数的实例

假设我们有一个三维空间中的向量 ( \vec{v} = [3, 4, 5] )。我们可以将这个向量视为从原点(0, 0, 0)到点(3, 4, 5)的一个箭头。计算这个向量的2-范数,实际上就是在计算原点到点(3, 4, 5)的直线距离。根据勾股定理,这个距离就是 ( \sqrt{3^2 + 4^2 + 5^2} = \sqrt{9 + 16 + 25} = \sqrt{50} )。

Python 演示

在Python中,可以使用NumPy库来计算向量的2-范数,其函数 numpy.linalg.norm 默认计算的就是2-范数。

# -*- coding: utf-8 -*-
"""
Created on Thu Feb 22 11:38:50 2024

@author: 李立宗

公众号:计算机视觉之光

知识星球:计算机视觉之光

"""

import numpy as np

# 定义一个向量
vector = np.array([3, 4, 5])

# 计算2-范数
norm2 = np.linalg.norm(vector)

print("2-范数:", norm2)

输出

执行上述代码,会打印出向量的2-范数,即直线距离。

2-范数概念及Python计算演示_计算机视觉

2-范数的应用

2-范数在数学、物理、工程、计算机科学等多个领域都有广泛的应用。例如,在机器学习中,2-范数常被用来衡量模型参数向量的大小,作为正则化项添加到损失函数中,以防止模型过拟合。在物理学中,2-范数用于计算速度或加速度向量的大小。在计算机图形学中,2-范数用于计算点或者物体之间的距离。

结论

2-范数是一个基本的数学概念,它在实际问题的建模和解决过程中扮演着重要的角色。了解2-范数的定义、计算方法以及应用场景,对于在科学研究和工程实践中准确表达和处理数据至关重要。通过Python等编程语言的辅助,我们可以快速而准确地计算出2-范数,并将其应用于各种问题的解决中。

相关博文

理解并实现OpenCV中的图像平滑技术

OpenCV中的边缘检测技术及实现

OpenCV识别人脸案例实战

入门OpenCV:图像阈值处理

我的图书

下面两本书欢迎大家参考学习。

OpenCV轻松入门

李立宗,OpenCV轻松入门,电子工业出版社,2023
本书基于面向 Python 的 OpenCV(OpenCV for Python),介绍了图像处理的方方面面。本书以 OpenCV 官方文档的知识脉络为主线,并对细节进行补充和说明。书中不仅介绍了 OpenCV 函数的使用方法,还介绍了函数实现的算法原理。

在介绍 OpenCV 函数的使用方法时,提供了大量的程序示例,并以循序渐进的方式展开。首先,直观地展示函数在易于观察的小数组上的使用方法、处理过程、运行结果,方便读者更深入地理解函数的原理、使用方法、运行机制、处理结果。在此基础上,进一步介绍如何更好地使用函数处理图像。在介绍具体的算法原理时,本书尽量使用通俗易懂的语言和贴近生活的实例来说明问题,避免使用过多复杂抽象的公式。

本书适合计算机视觉领域的初学者阅读,包括在校学生、教师、专业技术人员、图像处理爱好者。

本书第1版出版后,深受广大读者朋友的喜爱,被很多高校选为教材,目前已经累计重印9次。为了更好地方便大家学习,对本书进行了修订。

2-范数概念及Python计算演示_opencv_02

计算机视觉40例

李立宗,计算机视觉40例,电子工业出版社,2022
近年来,我深耕计算机视觉领域的课程研发工作,在该领域尤其是OpenCV-Python方面积累了一点儿经验。因此,我经常会收到该领域相关知识点的咨询,内容涵盖图像处理的基础知识、OpenCV工具的使用、深度学习的具体应用等多个方面。为了更好地把所积累的知识以图文的形式分享给大家,我将该领域内的知识点进行了系统的整理,编写了本书。希望本书的内容能够对大家在计算机视觉方向的学习有所帮助。
本书以OpenCV-Python(the Python API for OpenCV)为工具,以案例为载体,系统介绍了计算机视觉从入门到深度学习的相关知识点。
本书从计算机视觉基础、经典案例、机器学习、深度学习、人脸识别应用等五个方面对计算机视觉的相关知识点做了全面、系统、深入的介绍。书中共介绍了40余个经典的计算机视觉案例,其中既有字符识别、信息加密、指纹识别、车牌识别、次品检测等计算机视觉的经典案例,也包含图像分类、目标检测、语义分割、实例分割、风格迁移、姿势识别等基于深度学习的计算机视觉案例,还包括表情识别、驾驶员疲劳监测、易容术、识别年龄和性别等针对人脸的应用案例。
在介绍具体的算法原理时,本书尽量使用通俗易懂的语言和贴近生活的示例来说明问题,避免使用复杂抽象的公式来介绍。
本书适合计算机视觉领域的初学者阅读,适于在校学生、教师、专业技术人员、图像处理爱好者使用。

2-范数概念及Python计算演示_matlab_03