【Numpy】一文向您详细介绍利用 np.linalg.norm() 求范数

【Numpy】一文向您详细介绍利用 np.linalg.norm() 求范数
在这里插入图片描述

🌈 欢迎莅临我的个人主页 👈这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地!🎇

🎓 博主简介985高校的普通本硕,曾有幸发表过人工智能领域的 中科院顶刊一作论文,熟练掌握PyTorch框架

🔧 技术专长: 在CVNLP多模态等领域有丰富的项目实战经验。已累计一对一为数百位用户提供近千次专业服务,助力他们少走弯路、提高效率,近一年好评率100%

📝 博客风采: 积极分享关于深度学习、PyTorch、Python相关的实用内容。已发表原创文章500余篇,代码分享次数逾四万次

💡 服务项目:包括但不限于科研入门辅导知识付费答疑以及个性化需求解决

欢迎添加👉👉👉底部微信(gsxg605888)👈👈👈与我交流
          (请您备注来意
          (请您备注来意
          (请您备注来意


  

📚 一、引言

  在数值计算、数据分析和机器学习等领域中,范数(Norm)是一个非常重要的概念。它通常用来衡量一个向量或者矩阵的大小。在Python的Numpy库中,np.linalg.norm() 函数为我们提供了一个方便且强大的工具来计算范数。本文将从浅入深,通俗易懂地介绍如何使用 np.linalg.norm() 来计算不同类型的范数,并通过举一反三的方式,帮助大家更好地理解和应用范数的概念。

🚀 二、Numpy与np.linalg.norm()

  Numpy是Python中一个用于处理大量同类型多维数组(ndarray)的库,提供了大量的数学函数来操作这些数组。np.linalg.norm() 是Numpy线性代数模块中的一个函数,用于计算向量或矩阵的范数。

2.1 基本用法

  • 首先,我们需要导入Numpy库:

    import numpy as np
    
  • 然后,我们可以使用 np.linalg.norm() 来计算一个向量的范数。例如,计算一个一维数组(向量)的L2范数(欧几里得范数):

    v = np.array([1, 2, 3])
    l2_norm = np.linalg.norm(v)
    print(f"The L2 norm of v is: {l2_norm}")
    

2.2 范数的类型

  np.linalg.norm() 函数支持多种范数类型,通过 ord 参数来指定。常见的范数类型有:

  • L1范数(ord=1):向量元素绝对值的和
  • L2范数(ord=2,默认):向量的欧几里得长度(即勾股定理)
  • 无穷范数(ord=np.inf):向量元素绝对值的最大值
  • 负无穷范数(ord=-np.inf):向量元素绝对值的最小值
  • Frobenius范数(ord=‘fro’):矩阵元素的平方和的平方根(仅对矩阵有效)

2.3 示例

  • 代码示例

    # L1范数
    v = np.array([1, -2, 3])
    l1_norm = np.linalg.norm(v, ord=1)
    print(f"The L1 norm of v is: {l1_norm}")
    
    # 无穷范数
    l_inf_norm = np.linalg.norm(v, ord=np.inf)
    print(f"The infinity norm of v is: {l_inf_norm}")
    
    # 矩阵的Frobenius范数
    A = np.array([[1, 2], [3, 4]])
    fro_norm = np.linalg.norm(A, ord='fro')
    print(f"The Frobenius norm of A is: {fro_norm}")
    

💡 三、举一反三:范数的应用

  1. 机器学习中的特征缩放

  在机器学习中,我们经常需要对特征进行缩放,以使不同尺度的特征在模型中具有相同的权重。L2范数可以用于特征缩放,例如,我们可以将每个特征值除以其L2范数,从而实现特征的标准化。

  1. 向量相似度度量

  范数也可以用来度量向量之间的相似度。例如,两个向量之间的L2距离(即它们之差的L2范数)可以用来衡量它们的相似度。

🌈 四、总结与展望

  通过本文的介绍,我们详细了解了如何使用 np.linalg.norm() 函数来计算向量和矩阵的范数,并探讨了范数在机器学习、优化和几何等方面的应用。在未来的学习和实践中,我们可以继续探索范数的更多应用和扩展方法,以便更好地利用这一强大的数学工具来解决实际问题。

  最后,希望本文能够帮助大家更深入地理解范数的概念和应用,并激发大家对于数学和编程的热情和兴趣。在未来的学习和工作中,让我们一起努力,不断探索和发现更多的数学之美!🚀

  • 54
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高斯小哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值