1. np.linalg.norm 求范数
linalg = linear + algebra,norm表示范数,范数是对向量(或矩阵)的度量,是一个标量(scalar)
np.linalg.norm(x, ord = None, axis = None, keepdims = False)
ord表示范数的种类
参数 | 说明 | 计算方法 |
---|---|---|
默认 | 二范数: L 2 L_2 L2 | x 1 2 + x 2 2 + . . . + x n 2 \sqrt{x^2_1+x^2_2+...+x^2_n} x12+x22+...+xn2 |
ord=2 | 二范数: L 2 L_2 L2 | 同上 |
ord=1 | 一范数: L 1 L_1 L1 | ∥ x 1 ∥ + ∥ x 2 ∥ + . . . + ∥ x n ∥ \|x_1\|+\|x_2\|+...+\|x_n\| ∥x1∥+∥x2∥+...+∥xn∥ |
ord=np.inf | 无穷范数: L ∞ L_\infty L∞ | m a x ( ∥ x ∥ ) max(\|x\|) max(∥x∥) |
axis表示在哪个维度计算
如何记忆
- axis = a,其中a表示哪一维度,就在该维度上进行计算,最终产生的结果维度是,该方向的维度变为1
- 举例:
假设有一个三维矩阵X, X . s h a p e = ( 3 , 4 , 5 ) X.shape = (3, 4, 5) X.shape=(3,4,5),对不同维度进行求和运算,如下:
Y 1 = n p . s u m ( X , a x i s = 0 ) Y_1=np.sum(X, axis = 0) Y1=np.sum(X,axis=0),则 Y 1 . s h a p e = ( 1 , 4 , 5 ) Y_1.shape=(1, 4, 5) Y1.shape=(1,4,5)
Y 2 = n p . s u m ( X , a x i s = 1 ) Y_2=np.sum(X, axis = 1) Y2=np.sum(X,axis=1),则 Y 2 . s h a p e = ( 3 , 1 , 5 ) Y_2.shape=(3, 1, 5) Y2.shape=(3,1,5)
Y 3 = n p . s u m ( X , a x i s = 2 ) Y_3=np.sum(X, axis = 2) Y3=np.sum(X,axis=2),则 Y 1 . s h a p e = ( 3 , 4 , 1 ) Y_1.shape=(3, 4, 1) Y1.shape=(3,4,1)