到底什么是范数?

最近在学习机器学习的的过程中老遇到范数的定义,在读论文过程中也常遇到L1范数,L2范数等等。正好最近在看deep learning这本书,就总结记录一下。

L P L^{P} LP范数

从数学的角度来看,范数是向量大小的一种表示,也即是范数越大,表示向量越大。在数学上, L P L^{P} LP范数的定义如下:
在这里插入图片描述
其中, p ∈ R , p ≥ 1 p\in \mathbb{R},p\geq 1 pR,p1

L 1 L^{1} L1范数

当p==1时,称为 L 1 L^{1} L1范数,在某些机器学习的任务中,区分0和非0但值很小的元素是非常重要的,在这种情况下,可以使用 L 1 L^{1} L1范数, p=1时, L 1 L^{1} L1范数简化为:
∥ x ∥ 1 = ∑ i ∣ x i ∣ \left \| \textup{x} \right \|_{1} = \sum_{i}^{}\left | x_{i} \right | x1=ixi
在机器学习中,当0与非0元素之间的差异非常重要时,通常会使用 L 1 L^{1} L1范数。当向量x的某个元素从0增加到e, L 1 L^{1} L1范数也会增加e。
LASSO回归算法就是线性回归加上一个 L 1 L^{1} L1范数的正则项。
pytorch中提供了简单的API来求范数,使用torch.norm()方法可以简单的求出向量的范数,如下:

# !/usr/bin/python3
# -*- coding:utf-8 -*-
# Author:WeiFeng Liu
# @Time: 2021/11/8 下午1:58

import torch

a = torch.rand(5)
print(a)
print(sum(a))
print(a.norm( p= 1))

运行结果:
在这里插入图片描述
对一维向量来说, L 1 L^{1} L1范数就是的元素的绝对值只和,在元素都大于0的情况下,就是向量各元素之和。

L 2 L^{2} L2范数

当p = 2时, L 2 L^{2} L2范数也称为欧几里得范数,其实就是向量和0向量之间的距离度量。 L 2 L^{2} L2范数在机器学习中应用极其广泛。例如,经典的岭回归算法就是线性回归加上一个 L 2 L^{2} L2范数的正则化。 L 2 L^{2} L2范数公式简化如下:
∥ x ∥ 2 = ( ∑ i ∣ x i ∣ ) 1 2 \left \| \textup{x} \right \|_{2} = \left ( \sum_{i}^{}\left | x_{i} \right |\right )^{\frac{1}{2}} x2=(ixi)21
也就是初中数学课本的点到原点的距离公式, L 2 L^{2} L2范数在论文中尝尝简化写为 ∥ x ∥ \left \| \textup{x} \right \| x

# !/usr/bin/python3
# -*- coding:utf-8 -*-
# Author:WeiFeng Liu
# @Time: 2021/11/8 下午1:58

import torch

a = torch.rand(5)
print(a)
# print(sum(a))
print(a.norm( p= 2))

平方 L 2 L^{2} L2范数

L 2 L^{2} L2范数的基础上加上一个平方,即去掉了 L 2 L^{2} L2范数开根号的过程。 L 2 L^{2} L2范数和平方 L 2 L^{2} L2范数有一样的单调性,且平方 L 2 L^{2} L2范数在数学上和计算上都更简单。

# !/usr/bin/python3
# -*- coding:utf-8 -*-
# Author:WeiFeng Liu
# @Time: 2021/11/8 下午1:58

import torch

a = torch.rand(5)
print(a)
# print(sum(a))
print(a.norm( p= 2)**2)

L ∞ L^{\infty } L范数

L ∞ L^{\infty } L范数也叫最大范数,这个范数表示使用向量中绝对值最大的元素:
∥ x ∥ ∞ = m a x i ∣ x ∣ i \left \| x \right \|_{\infty }=\underset{i}{max}\left | x \right |_{i} x=imaxxi

Frobenius范数

衡量矩阵大小的范数,就是矩阵各点元素平方和的平方跟:
∥ A ∥ F = ∑ i , j A i , j 2 \left \| A \right \|_{F }=\sqrt{\sum_{i,j}^{}A_{i,j}^{2}} AF=i,jAi,j2

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值