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
- MySQL 中 整數型別的儲存和範圍計算過程詳解MySql型別
- ntpq –p 各引數詳解
- Javascript中變數範圍和hoist現象JavaScript變數
- 機器學習中的範數規則化之(一)L0、L1與L2範數機器學習
- NumPy 舍入小數、對數、求和和乘積運算詳解
- numpy各種生成隨機數的方法隨機
- JS變數與命名規範JS變數
- caffe網路各層引數詳解
- Shell指令碼基本編輯規範及變數(詳細)指令碼變數
- 圖解計算機中的數值範圍和浮點運算圖解計算機
- Perl中的變數作用範圍 local, my, our與全域性變數變數
- [隨機數詳解]生成一個隨機數,生成指定範圍的隨機數及隨機陣列去重隨機陣列
- 範寶興:蘇式三數一組法的9階21階穿越介面(上)
- 範寶興:蘇式三數一組法的9階21階穿越介面(下)
- 基礎 變數的作用範圍變數
- beego 前後端引數規範Go後端
- API介面通訊引數規範API
- JavaScript變數 沒有塊範圍JavaScript變數
- goldengate OGG引數規範Go
- 繫結變數的使用範圍變數
- Maven依賴scope範圍詳解Maven
- Android開發規範詳解Android
- MySQL中各種欄位的取值範圍(轉)MySql
- NumPy 陣列排序、過濾與隨機數生成詳解陣列排序隨機
- mybatis各階段的詳解MyBatis
- MATLAB中如何產生指定範圍的隨機數Matlab隨機
- 機器學習中正則懲罰項L0/L1/L2範數詳解機器學習
- 各類IP地址的範圍
- NumPy 差分、最小公倍數、最大公約數、三角函式詳解函式
- 範寶興的魔法陣A:自然數5階幻方穿越介面的表演
- 梯度下降法中導數的求解梯度
- API介面通訊引數規範(2)API
- 在指定範圍內生成隨機數隨機
- 生成某個範圍的隨機數隨機
- MySQL取得某一範圍隨機數MySql隨機