向量的 1-范數、2-范數、無窮范數、p-范數;
矩陣的 1-范數、2-范數、無窮范數、L0范數、L1范數、L2范數、L21范數、核范數
1 向量范數
例:向量 X = [2,3,-5,-7 ]
1.1 向量的1-范數
向量各個元素的絕對值之和:
例:‖X‖1 = 2+3+5+7 = 17
matlab代碼:norm (X, 1)
1.2 向量的2-范數
向量各個元素的平方和再開方:
例:‖X‖2 = (2×2+3×3+5×5+7×7)1/2 = 9.3274
matlab代碼:norm (X, 2)
1.3 向量的無窮范數
向量元素絕對值中的最大值:
例:‖X‖+∞ = 7
matlab代碼:norm (X, inf)
向量元素絕對值中的最小值:
例:‖X‖-∞ = 2
matlab代碼:norm (X, -inf)
1.4 向量的p-范數
其中 p ≥ 1,且存在:
2 矩陣范數
例:矩陣 A = [2, 3 ,-5,-7;
4, 6 , 8,-4;
6,-11,-3,16]
2.1 矩陣的1-范數
矩陣每列元素絕對值之和中最大的值:
例:‖A‖1 = 27
matlab代碼:norm (A, 1)
2.2 矩陣的2-范數
矩陣 ATA 的最大特征值開方:
matlab代碼:norm (A, 2)
2.3 矩陣的無窮范數
矩陣每行元素絕對值之和中最大的值:
matlab代碼:norm (X, inf)
//下面幾個范數是機器學習中稀疏表示等地方常用到的,這些范數都是為了解決實際問題中的困難而提出的。
2.4 矩陣的L0范數
矩陣的非0元素的個數,通常用它來表示稀疏,L0范數越小0元素越多,也就越稀疏。
2.5 矩陣的L1范數
矩陣中的每個元素絕對值之和,它是L0范數的最優凸近似,因此它也可以近似表示稀疏,比L0更容易優化求解。
matlab代碼:sum(sum(abs(A)))
2.6 矩陣的L2范數
也叫做 F 范數,矩陣的各個元素平方之和再開平方根,它的優點在於它是一個凸函數,可以求導求解,易於計算。
matlab代碼:norm(A,'fro');
2.7 矩陣的L21范數
矩陣先以每一列為單位,求每一列的(向量)1-范數,然后再將得到的結果求(向量)2-范數,很容易看出它是介於L1和L2之間的一種范數。
matlab代碼:norm(A(:,1),2) + norm(A(:,2),2) + norm(A(:,3),2)++ norm(A(:,4),2);
2.8 矩陣的核范數
矩陣的奇異值之和,這個范數可以用來低秩表示(因為最小化核范數,相當於最小化矩陣的秩)。
matlab代碼:sum(svd(A));