1. 程式人生 > >矩陣/向量的範數

矩陣/向量的範數

來自吳恩達 深度學習 第二週作業第一部分

# GRADED FUNCTION: normalizeRows
import numpy as np

def normalizeRows(x):
    """
    Implement a function that normalizes each row of the matrix x (to have unit length).
    
    Argument:
    x -- A numpy matrix of shape (n, m)
    
    Returns:
    x -- The normalized (by row) numpy matrix. You are allowed to modify x.
    """
### START CODE HERE ### (≈ 2 lines of code) # Compute x_norm as the norm 2 of x. Use np.linalg.norm(..., ord = 2, axis = ..., keepdims = True) x_norm = np.linalg.norm(x, axis=1, keepdims = True) x = x / x_norm return x

其中ord指定範數的階數。

範數簡述

我們知道距離的定義是一個寬泛的概念,只要滿足非負、自反、三角不等式就可以稱之為距離。

範數是一種強化了的距離概念,它在定義上比距離多了一條數乘的運演算法則。有時候為了便於理解,我們可以把範數當作距離來理解。

向量的範數就是向量中每一項求n次方,求和之後再開n次方的根。
表示一種到座標原點距離的度量。
二階範數(也稱L2範數)是最常見的範數,即歐幾里得距離。
在這裡插入圖片描述

上圖中 5 = 0 2

+ 3 2 + 4 2 5=\sqrt{0^2+3^2+4^2} 5 6 = 2 2 + 6 2 + 4 2 \sqrt56=\sqrt{2^2+6^2+4^2} ,二階範數,常用與深度學習領域。

參考資料

https://blog.csdn.net/a493823882/article/details/80569888