范数的概念
???????范數(Norm)是一種關于向量的函數,是向量“長度”概念及其推廣。在線性代數、泛函分析及相關的數學領域,可用范數來度量一個向量的“長度”。在中學里我們學過一個向量的模長(長度)是向量中各元素平方和的平方根,比如向量(3,4)的模長就是5,這里模長其實是向量(3,4)的一種范數——L2范數,向量的范數除了L2范數外,還有其他定義,如L0范數、L1范數和L∞范數,下面將一一介紹上述提及的這幾個范數概念。
1 L0范數
???????若向量X = (x1, x2, …, xn),則向量X的L0范數為
[{left| {f{x}} ight|_0} = {f{x}}中所有非零元素個數
]
???????若向量A = (0, 3, 6),向量A中有1個元素為0,2個非零元素 (3和6),則A對應L0范數為
[{left| {f{A}} ight|_0} = {m{2}}
]
???????在機器學習中壓縮感知(compressive sensing)領域,很多時候希望最小化目標向量的 L0范數。但L0范數的最優化在數學上被認為是個NP-hard問題,即求解很復雜,所以許多壓縮感知模型是將最小化目標向量的 L0范數轉化為最小化目標向量的 L1范數。
2 L1范數
???????若向量X = (x1, x2, …, xn),則向量X的L1范數為
[egin{array}{l}
{left| {f{x}} ight|_1} = left| {{x_1}} ight| + left| {{x_2}} ight| + cdots left| {{x_n}} ight| \
quad ;;{m{ = }}sumlimits_{i = 1}^n {left| {{x_i}} ight|} \
end{array}]
???????若向量A = (0, 3, 6),則A對應L1范數為
[{left| {f{A}} ight|_1} = left| {m{0}} ight|{m{ + }}left| {m{3}} ight|{m{ + }}left| {m{6}} ight|{m{ = 3 + 6 = 9}}
]
???????最小化目標向量的 L1范數求解比最小化目標向量的 L0范數容易些,可通過最優化算法得到對應的可行解。但L1范數有一個問題,就是L1范數的導數不易求,所以許多機器學習問題中遇到 L1范數最小化問題會轉為L2范數最小化問題。
3 L2范數
???????若向量X = (x1, x2, …, xn),則向量X的L2范數為
[ egin{array}{l}
{left| {f{x}} ight|_2} = sqrt {{{left| {{x_1}} ight|}^{m{2}}}{m{ + }}{{left| {{x_{m{2}}}} ight|}^{m{2}}}{m{ + }} cdots {m{ + }}{{left| {{x_n}} ight|}^{m{2}}}} \
quad ;;{m{ = }}sqrt {sumlimits_{i = 1}^n {{{left| {{x_i}} ight|}^2}} } \
end{array} ]
???????若向量A = (2, 3, 6),則A對應L2范數為
[{left| {f{A}} ight|_2} = sqrt {{2^2} + {3^2} + {6^2}} = sqrt {4 + 9 + 36} = sqrt {49} = 7
]
4 L∞范數
???????若向量X = (x1, x2, …, xn),則向量X的L∞范數為
[{left| {f{x}} ight|_infty } = max left( {left| {{x_1}} ight|left| {{x_{m{2}}}} ight| cdots left| {{x_n}} ight|} ight)
]
???????若向量A = (2, 3, 6),則A對應L∞范數為
[{left| {f{A}} ight|_infty } = max left( {2,3,6} ight) = 6
]
5 Lp范數
???????Lp范數實際上將L1范數、L2范數和L∞范數統一到一個框架體系中。
???????若向量X = (x1, x2, …, xn),則向量X的Lp范數為
[ egin{array}{l}
{left| {f{x}} ight|_p} = sqrt[p]{{{{left| {{x_1}} ight|}^p}{m{ + }}{{left| {{x_{m{2}}}} ight|}^p}{m{ + }} cdots {m{ + }}{{left| {{x_n}} ight|}^p}}} \
quad ;;{m{ = }}sqrt[p]{{sumlimits_{i = 1}^n {{{left| {{x_i}} ight|}^p}} }} \
end{array} ]
???????關于Lp范數的幾何解釋可以用單位圓來說明。單位圓是無窮個向量終點組成的集合,這些向量必須滿足Lp范數為1且起點為原點。
???????對于L1范數,它在R2空間中的單位圓是正方形。
???????對于L2范數,它在R2空間中的單位圓是圓形。
???????對于L∞范數,它是R2空間中的單位圓也是一個正方形。
???????對于任何p范數,它是一個超橢圓(具有全等軸)。下面圖為p取不同數值,Lp范數對應的單位圓。
圖1 不同p對應的單位圓
總結
- 上一篇: C# 反编译base..ctor()问题
- 下一篇: DNS收集分析DMitry