定義:html
向量空間\(V\)上的範數(norm)是以下函數:
\[ \begin{align} \|·\|:V→R, \notag \\ x→\|x\| \notag \end{align} \]
該函數會賦予每一個向量\(x\)自身的長度\(\|x\|∈R\),而且對於\(\lambda∈R,\,\,x,y∈V\)知足以下性質:app
- Absolutely homogeneous:\(\|\lambda x\|=|\lambda|\|x\|\)
- Triangle inequality:\(\|x+y\|≤\|x\|+\|y\|\)
Positive definite:\(\|x\|≥0\)且\(\|x\|=0\Leftrightarrow x=0\)
\(L^p\) norm 公式如右: \(\|x\|_p=(\sum_i|x_i|^p)^{\frac{1}{p}}\) for \(p∈R,p≥1\).機器學習
這個也叫Manhattan norm。ide
二範式在零點附近增加很慢,並且有的機器學習應用須要在零點和非零點之間進行區分,此時二範式顯得力不從心,因此咱們能夠選擇一範式,即\(L^1\) norm,其表達式爲:\(\|x\|_1=\sum_i|x_i|\).函數
這個也叫Euclidean norm。學習
最經常使用的是二範式,即\(L^2\) norm,也稱爲Euclidean norm(歐幾里得範數)。由於在機器學習中經常使用到求導,二範式求導以後只與輸入數據自己有關,因此比較實用。idea
0範式表示矢量中非0的元素的個數。其實0範式這個說法是不嚴謹的,由於它不知足第三個條件,but whatever~spa
無窮大範式,也叫max norm,它表示矢量中全部元素絕對值的最大值,即
\[||x||_∞=max |x_i|\]3d
F norm全稱是Frobenius Norm,其表達式以下:
\[||A||_F=\sqrt{\sum_{i,j}A_{i,j}^2} \]orm
內積的一個主要目的是用來判斷兩個向量是否互相正交。另外內積並無明確的定義,他只是一個普遍的定義,也就是說咱們能夠根據須要定義內積,例如咱們能夠把內積定義成點積的形式等等。
一種常見的內積形式是向量空間\(R^n\)內的點積(Dot Product/ Scalar Product),計算公式以下:
\[x^Ty=\sum_{i=1}^nx_iy_i\]
在對內積給出通常性的定義以前須要作一些鋪墊:
雙向映射(Bilinear Mapping)
維基百科上的定義:A bilinear map is a function combining elements of two vector spaces to yield an element of a third vector space, and is linear in each of its arguments.
看定義其實不太好懂什麼是bilinear mapping,stackexchange上有人給出了簡單定義,便可以簡單理解爲知足以下性質的映射即爲雙向映射:
\(B(x+y,z) = B(x,z) + B(y,z)\)(additive in the first "coordinate"),
\(B(x,y+z) = B(x,y) + B(x,z)\) (additive in the second "coordinate"),
\(B(cx,y) = cB(x,y) = B(x,cy)\)preserves scaling in each "coordinate").
再簡單快捷理解的方式就是將\(B\)理解成實數的乘法,即:
\(B(a,b)=a·b\)
\(B(x+y,z) = (x+y)\cdot z = x\cdot z + y\cdot z = B(x,z) + B(y,z)\)
\(B(x,y+z) = x\cdot (y+z) = x\cdot y + x\cdot z = B(x,y) + B(x,z)\)
\(B(cx,z) = (cx)\cdot z = c\cdot(xz) = x\cdot(cz) = B(x,cz)\)
這樣有沒有好理解不少?
又一個定義
假設 \(V\)爲向量空間, \(\Omega:V×V→R\)是一個bilinear mapping,它能將兩個向量映射到一個實數上。那麼
- 若\(\Omega(x,y)=\Omega(y,x)\),則稱\(\Omega\)是對稱的。
若\(\forall x∈V \backslash \{0\}:\Omega(x,x)>0,\,\,\,\Omega(0,0)=0\),則稱\(\Omega\)爲正定(positive definite)。
內積的定義
假設\(V\)爲向量空間,\(\Omega:V×V→R\)是一個bilinear mapping,它能將兩個向量映射到一個實數上。那麼
- 一個正定(positive definite)且對稱的bilinear mapping\(\Omega:V×V→R\)被稱爲在向量空間\(V\)上的內積(inner product),通常記爲\(<x,y>\),而不是\(\Omega(x,y)\)。
- \((V,<·,·>)\)稱爲內積空間(inner product space)
定義:
知足以下條件的對稱矩陣\(A∈R^{n×n}\)稱爲對稱正定矩陣或正定矩陣
\[\forall{x∈V\backslash\{0\}}:x^TAx>0\]
若上式中的>換成≥,則該矩陣爲對稱半正定矩陣。
例子:
正定矩陣\(A\)有以下性質:
咱們能夠經過定義內積從而定義長度(length),距離(distance),角度(angle),正交(orthogonal)等。
其實長度和距離能夠是等價的,定義以下:
假設有內積空間\((V,<·,·>)\),那麼以下表達式表示\(x,y∈V\)之間的距離
\[d(x,y)=\|x-y\|=\sqrt{<x-y,x-y>}\]
若是咱們使用點積做爲內積,那麼上面定義的距離則爲歐幾里得距離(Euclidean distance),其中映射
\[ \begin{align} d:V×V→R \notag \\ (x,y)→d(x,y) \notag \end{align} \]稱爲metric
令\(w∈[0,π]\)表示兩向量之間的角度,則有
\[ \begin{align} cos\,\mathcal{w}&=\frac{<x,y>}{\sqrt{<x,x><y,y>}} \notag \\ (dot\,\,product)&=\frac{x^Ty}{\sqrt{x^Tx\,y^Ty}} \notag \\ \Rightarrow w &= arccos\frac{<x,y>}{\sqrt{<x,x><y,y>}} \notag \end{align} \]
由上面的定義可知當\(<x,y>=0\)時,兩者正交。
前面介紹的內積都是基於有限的向量,若是擴展到有無限元素的函數,此時的內積如何定義呢?
假設有兩個函數\(u(x),v(x)\),兩者的內積爲:\(<u,v>=\int_a^b{u(x)v(x)dx}, \,\, a,b<∞\)
當如上積分爲0時,表示兩個函數正交。