数学知识点之范数

机器学习中会用到很多范数,自己在学习LSTM网络的时候,有一步是计算损失的时候,用到了范数,就顺便整理一下,可能不全,之后再次更新。

数学中:

1. 向量范数:

(1)向量的1-范数:

, 即向量中每个元素绝对值的和。

(2)向量的2-范数:

,即向量中每个元素平方和之后再开方。

(3)向量的无穷范数:

,即向量中元素绝对值最大的一个。

2. 矩阵范数:

(1)矩阵的1-范数(列范数):

,矩阵的每列求和,然后从每列和中挑出一个最大的。

(2)矩阵的2-范数:

,其中

的特征值。即矩阵

特征值绝对值的最大值的开方。

(3)矩阵的无穷范数(行范数):

,矩阵的每行求和,然后从每行和中挑出一个最大的。

机器学习用到的一些范数,与数学中的有些区别。

(1)矩阵的核范数:矩阵的奇异值(线代中的特征值分解只适用于方针,奇异值分解适用于任意的矩阵。)之和。

(2)矩阵的L0范数:矩阵的非0元素的个数,它可以来表示矩阵的稀疏性,L0范数越小,则0元素越多,矩阵越稀疏。

(3)矩阵的L1范数:矩阵中每个元素绝对值之和,它是L0范数的最优凸近似,它也可以近似表示稀疏。

(4)矩阵的F范数:矩阵的各个元素平方和之后再开方。通常被称为L2范数。、

(5)矩阵的L21范数:以矩阵每列为单位,求每列F范数,然后将得到的结果求L1范数。

代码:numpy中实现的范数

import numpy as np#np.linalg.norm(x, ord=None, axis=None, keepdims=False) ord表示范数类型#向量:
a = np.array([1,2,3])
b = np.array([4,5,6])
print(np.linalg.norm(a-b))   #默认为2范数
print(np.linalg.norm(a-b, 1))   #向量1范数
print(np.linalg.norm(a-b, 2))   #向量2范数
print(np.linalg.norm(a-b, np.inf)) #向量的无穷范数
#矩阵:
a = np.array([[1,2,3],[4,5,6]])
print(a)
print(np.linalg.norm(a))    #默认是F范数
print(np.linalg.norm(a, 2)) #矩阵的2范数
print(np.linalg.norm(a, 1)) #矩阵的1范数
print(np.linalg.norm(a, np.inf))    #矩阵无穷范数5.196152422706632
9.0
5.196152422706632
3.0
[[1 2 3][4 5 6]]
9.539392014169456
9.508032000695724
9.0
15.0

参考资料:

1.np.linalg.norm(求范数) https://blog.csdn.net/hqh131360239/article/details/79061535

2.向量与矩阵的范数(比较1-范数、2-范数、无穷范数、p-范数、L0范数 和 L1范数等)https://blog.csdn.net/zaishuiyifangxym/article/details/81673491

求矩阵不靠边元素之和_机器(深度)学习数学知识之范数相关推荐

  1. C语言函数题- 求矩阵不靠边元素之和

    6-16 求矩阵不靠边元素之和 (10分) 求矩阵的所有不靠边元素之和,矩阵行的值m从键盘读入(2<=m<=10),调用自定义函数Input实现矩阵元素从键盘输入,调用Sum函数实现求和. ...

  2. python中求二维数组元素之和_乘以二维数组元素和和

    {a1}你可以使用^-np.tensordot(A,B, axes=((0,1),(0,1))) 另一种方法是在平坦输入后使用^{} ^{pr2}$ 另一个带有^{}-np.einsum('ij,ij ...

  3. C语言求3x3数组对角线元素之和

    C语言求3x3数组对角线元素之和 #include <stdio.h> int main() {int i, j,sum=0;int a[3][3];for (i = 0; i < ...

  4. 求主对角线上各元素之和(C语言)

    定义一个3行3列的整型二维数组arr和一个整型指针变量p,让p指向数组arr,使用指针变量p输入数组arr各元素的值,并求主对角线上各元素之和. #include<stdio.h> #de ...

  5. C语言实验——矩阵下三角元素之和 (sdut oj)

    C语言实验--矩阵下三角元素之和 Time Limit: 1000MS  Memory Limit: 65536KB Problem Description 输入一个正整数n(1<=n<= ...

  6. 求矩阵中所有元素的最大值

    题目信息: 有一个3 * 4的矩阵,求矩阵中所有元素的最大值.有函数处理. 代码如下: #include <iostream> using namespace std; int main( ...

  7. 求Python 计算列表元素之和

    求Python 计算列表元素之和方法如下:

  8. [面经整理] 机器/深度学习补充篇

    文章目录 ~~~~~~~~传统图像处理~~~~~~~~ 介绍canny边缘检测算法 1. 图像降噪 简单易懂的高斯滤波 2. 计算图像梯度 图像梯度的基本原理 sobel算子 3.非极大值抑制NMS ...

  9. 深度学习将灰度图着色_通过深度学习为视频着色

    深度学习将灰度图着色 零本地设置/ DeOldify / Colab笔记本 (Zero Local Setup / DeOldify / Colab Notebook) "Haal Kais ...

最新文章

  1. 微软“影子系统”Windows SteadyState 末日将至
  2. find、sed、awk、grep命令总结
  3. 对于WIFI版ipad(无GPS芯片)定位功能的释疑
  4. hadoop3.1伪分布式部署
  5. 服务器多路径协议,多主机多路径分流传输协议研究与设计
  6. ASP.NET Core 运行原理解剖[1]:Hosting
  7. Linux 系统关于应该把程序安装在目录 /usr 还是目录 /usr/local 下的思考
  8. oracle数据库12下载地址,Oracle 数据库和补丁下载地址 12.1.0.2 11.2.0.4 11.2.0.1
  9. 【LeetCode】剑指 Offer 04. 二维数组中的查找
  10. SAP 用户出口合集
  11. 【DB笔试面试642】在Oracle中,什么是基数反馈(Cardinality Feedback)?
  12. jena 查询 java_Java调用Jena写SPARQL查询
  13. 前端技术 | dva,美貌与智慧并存
  14. 2的24次方等于多少MB?(附计算过程)
  15. 2021汽车行业内容营销白皮书
  16. C# Winfrom 常用功能整合-1
  17. 计算机文化教育对学生思维品质的影响,信息技术教育让素质教育绽放“光芒”...
  18. SC系列 (SC-16S) 低频率小型SMD石英晶振 SC-16S 32.768KHZ 12.5PF/20PPM
  19. Shell脚本——业务上线前如何去扫描指定网段的所有IP地址呢?
  20. excel分类汇总多个工作表

热门文章

  1. LightOJ 1319 Monkey Tradition(中国剩余定理)
  2. TCP相关面试题总结
  3. arm linux系统启动流程
  4. 【个人笔记】OpenCV4 C++ 快速入门 06课
  5. Prolog 语言入门(一)
  6. Writing an ALSA Driver(二)
  7. Android MediaRecorder调用AudioRecord流程
  8. C++11中shared_ptr智能指针用法
  9. C++多态虚函数/纯虚函数demo
  10. 单链表反转(递归和非递归)