深度学习课后作业——Course2-Week1
程序员文章站
2022-07-04 20:55:07
...
此篇摘自*这个巨巨*,本文只是加上了自己的总结
- 什么是范数?
范数(norm)是数学中的一种基本概念。在泛函分析中,它定义在赋范线性空间中,并满足一定的条件,即①非负性;②齐次性;③三角不等式。它常常被用来度量某个向量空间(或矩阵)中的每个向量的长度或大小。
-
np.linalg.norm(求范数)
x_norm=np.linalg.norm(x, ord=None, axis=None, keepdims=False)
①x: 表示矩阵(也可以是一维)
②ord:范数类型
向量的范数:
矩阵的范数:
ord=1:列和的最大值
ord=2:|λE-ATA|=0,求特征值,然后求最大特征值得算术平方根(matlab在线版,计算ans=ATA,[x,y]=eig(ans),sqrt(y),x是特征向量,y是特征值)
ord=∞:行和的最大值
ord=None:默认情况下,是求整体的矩阵元素平方和,再开根号。
③axis:处理类型
axis=1表示按行向量处理,求多个行向量的范数
axis=0表示按列向量处理,求多个列向量的范数
axis=None表示矩阵范数。
④keepding:是否保持矩阵的二维特性
True表示保持矩阵的二维特性,False相反
3、代码实现
import numpy as np
x = np.array([
[0, 3, 4],
[1, 6, 4]])
#默认参数ord=None,axis=None,keepdims=False
print "默认参数(矩阵整体元素平方和开根号,不保留矩阵二维特性):",np.linalg.norm(x)
print "矩阵整体元素平方和开根号,保留矩阵二维特性:",np.linalg.norm(x,keepdims=True)
print "矩阵每个行向量求向量的2范数:",np.linalg.norm(x,axis=1,keepdims=True)
print "矩阵每个列向量求向量的2范数:",np.linalg.norm(x,axis=0,keepdims=True)
print "矩阵1范数:",np.linalg.norm(x,ord=1,keepdims=True)
print "矩阵2范数:",np.linalg.norm(x,ord=2,keepdims=True)
print "矩阵∞范数:",np.linalg.norm(x,ord=np.inf,keepdims=True)
print "矩阵每个行向量求向量的1范数:",np.linalg.norm(x,ord=1,axis=1,keepdims=True)
执行结果:
代码参考原博客~ 戳我>-<
下一篇: vue绑定class和style
推荐阅读
-
【吴恩达深度学习编程作业问题汇总】4.3目标检测——车辆识别
-
吴恩达 深度学习 1-4 课后作业2 Deep Neural Network for Image Classification: Application
-
深度学习课后作业——Course2-Week2
-
吴恩达 深度学习 4-2 课后作业 Residual Networks
-
吴恩达 深度学习 4-2 课后作业 Keras tutorial - the Happy House
-
深度学习课后作业——Course1-Week2
-
深度学习课后作业——Course4-Week2
-
深度学习课后作业——Course1-Week3
-
深度学习课后作业——Course2-Week1
-
深度学习编程作业与算法相关函数笔记