numpy中求解範數(numpy.linalg.norm)以及各階範數詳解
numpy.linalg.norm
語法
numpy.linalg.norm(x,ord=None,axis=None,keepdims=False)
Parameters
- x: array_like
Input array. If
axis
is None, x must be 1-D or 2-D, unlessord
is None. If bothaxis
andord
are None, the 2-norm ofx.ravel
will be returned.
X是輸入的array, array的情況必須是以下三種情況之一:
axis
未指定,ord
指定。此時x必須是一維或二維陣列axis
指定,x
任意axis
未指定,ord
未指定,此時x
任意,返回值為x被展平後的一維向量x.ravel
的二範數。
- ord:{non-zero int, inf, -inf, ‘fro’, ‘nuc’}, optional
Order of the norm (see table under Notes). inf means numpy’s inf object. The default is None.
範數的階數,可以不指定。預設為None。inf代表無窮大,-inf為無窮小。
可選的階數見下圖:
- axis:{None, int, 2-tuple of ints},optional
If
axis
is an integer, it specifies theaxis
of x along which to compute the vector norms. Ifaxis
is a 2-tuple, it specifies the axes that hold 2-D matrices, and the matrix norms of these matrices are computed. If axis is None then either a vector norm (when x is 1-D) or a matrix norm (when x is 2-D) is returned. The default is None.
如果axis
是整數,指定了一個維度,在該維度上按照向量進行範數計算。如果是一個二元整陣列,指定了兩個維度,在指定的這兩個維度上可以構成矩陣。對這些矩陣進行計算。如果沒有指定axis
,那麼對於一維輸入返回其向量形式的範數計算值,對於二維輸入返回其矩陣形式的範數。預設值為None
- keepdims: bool, optional
If this is set to True, the axes which are normed over are left in the result as dimensions with size one. With this option the result will broadcast correctly against the original x.
如果keepdims=True
,被指定計算範數的維度將在返回結果中保留,其size為1。計算結果會在該維度上進行broadcast
各範數詳析
NOTE: 對於ord<1
的各個範數,結果在嚴格意義不等於數學意義上的範數。但在數值計算層面仍然有效。
預設情況
當不指定ord時,即ord = None
,對於矩陣,計算其Frobenius norm
,對於向量,計算其2-norm
Frobenius範數
ord = 'fro'
其公式為:
F範數只對矩陣存在。其值為對所有元素的絕對值的平方求和後開平方。
Nuclear範數(核範數)
ord = 'nuc'
只對矩陣存在,矩陣的核範數等於其所有奇異值的和。
無窮大範數
對於矩陣:max(sum(abs(x), axis=1))
,每一行最終得到一個數,返回最大的數。
對於向量:max(abs(x)
無窮小范數
對於矩陣: min(sum(abs(x),axis=1))
,每一行得到一個數,返回最小的數。
對於向量: min(abs(x))
0 範數
對於矩陣:不存在
對於向量:sum(x!=0)
所有非零元素的和
1 範數
對於矩陣:max(sum(abs(x)),axis=0
,每一列得到一個數,返回最大值。
對於向量:sum(abs(x)**ord)**(1./ord)
-1 範數
對於矩陣:min(sum(abs(x)),axis=0
,每一列得到一個數,返回最小值。
對於向量:sum(abs(x)**ord)**(1./ord)
2 範數
對於矩陣:最大的奇異值
對於向量:sum(abs(x)**ord)**(1./ord)
-2範數
對於矩陣:最小的奇異值
對於向量:sum(abs(x)**ord)**(1./ord)
其餘int值對應的範數
對於矩陣: Undefined
對於向量:sum(abs(x)**ord)**(1./ord)
相關文章
- 隨機範圍小數和隨機範圍整數隨機
- redis配置檔案中各引數詳解Redis
- 數倉命名規範大全!
- NumPy 舍入小數、對數、求和和乘積運算詳解
- numpy各種生成隨機數的方法隨機
- caffe網路各層引數詳解
- Shell指令碼基本編輯規範及變數(詳細)指令碼變數
- Maven依賴scope範圍詳解Maven
- 機器學習中的範數規則化之(一)L0、L1與L2範數機器學習
- 圖解計算機中的數值範圍和浮點運算圖解計算機
- 核範數與規則項引數選擇
- mybatis各階段的詳解MyBatis
- beego 前後端引數規範Go後端
- 4. 環境引數規範
- 基礎 變數的作用範圍變數
- 打家劫舍+數字範圍按位與
- API介面通訊引數規範API
- PHP Composer 以及PSR規範PHP
- NumPy 陣列排序、過濾與隨機數生成詳解陣列排序隨機
- Python中Numpy函式詳解Python函式
- SwaggerAPI註解詳解,以及註解常用引數配置SwaggerAPI
- MATLAB中如何生成指定範圍的隨機整數向量Matlab隨機
- NumPy 差分、最小公倍數、最大公約數、三角函式詳解函式
- 資料探勘實驗(一)資料規範化【最小-最大規範化、零-均值規範化、小數定標規範化】
- 求解數獨
- API介面通訊引數規範(2)API
- 在指定範圍內生成隨機數隨機
- Shell程式設計規範與變數程式設計變數
- 生成某個範圍的隨機數隨機
- Promise規範以及手寫PromisePromise
- 03 AMD規範的基礎使用詳解
- C++ 單例類别範本(詳解)C++單例
- 梯度下降法中導數的求解梯度
- Python print函式引數詳解以及效果展示Python函式
- 譜範數正則(Spectral Norm Regularization)的理解ORM
- 如何產生指定範圍的隨機數隨機
- 01 shell程式設計規範與變數程式設計變數
- JSR規範,系統引數測試大全JS