Singulierewaardenontbinding

Een intuïtieve visualisatie van de singulierewaardenontbinding.

De singulierewaardenontbinding (SWO; Engels: singular value decomposition, SVD) is een belangrijk begrip uit de lineaire algebra en numerieke wiskunde. De singuliere waarden beschrijven eigenschappen van een willekeurige matrix, analoog aan de eigenwaarden van een vierkante matrix. De SWO wordt onder meer gebruikt bij de studie van lineaire afbeeldingen, het bepalen van normen van matrices, het berekenen van de veralgemeende inverse of pseudo-inverse van een willekeurige matrix en de kleinstekwadratenoplossing van een willekeurig stelsel van lineaire vergelijkingen.

Definitie

Stel A {\displaystyle A} is een reële m × n {\displaystyle m\times n} -matrix van rang r . {\displaystyle r.} A {\displaystyle A} kan geschreven worden als het product van drie matrices:

A = U Σ V T {\displaystyle A=U\Sigma V^{T}}

waarin:

  • U {\displaystyle U} een m × m {\displaystyle m\times m} -orthogonale matrix is: U T U = I {\displaystyle U^{T}U=I} ,
  • V {\displaystyle V} een n × n {\displaystyle n\times n} -orthogonale matrix: V T V = I {\displaystyle V^{T}V=I} , en
  • Σ {\displaystyle \Sigma } een m × n {\displaystyle m\times n} -pseudo-diagonaalmatrix. De eerste r {\displaystyle r} elementen op de diagonaal zijn de singuliere waarden van A {\displaystyle A} , die we noteren als Σ i i = σ i {\displaystyle \Sigma _{ii}=\sigma _{i}} met σ 1 σ 2 σ r > 0 {\displaystyle \sigma _{1}\geq \sigma _{2}\geq \ldots \geq \sigma _{r}>0} ; alle andere elementen van Σ {\displaystyle \Sigma } zijn nul.

De kolommen U 1 , U m {\displaystyle U_{1},\ldots U_{m}} van U {\displaystyle U} zijn de linker singuliere vectoren.

De kolommen V 1 , V n {\displaystyle V_{1},\ldots V_{n}} van V {\displaystyle V} zijn de rechter singuliere vectoren.

De matrix Σ {\displaystyle \Sigma } is uniek; V , U {\displaystyle V,\,U} zijn dat echter niet.

Verband met eigenwaarden

De matrix A T A {\displaystyle A^{T}A} is een reële n × n {\displaystyle n\times n} -symmetrische matrix met dezelfde nulruimte als A {\displaystyle A} , en heeft dus ook rang r . {\displaystyle r.} Die kan worden ontbonden als:

A T A = V Λ V T {\displaystyle A^{T}A=V\Lambda V^{T}}

waarin V {\displaystyle V} een orthogonale n × n {\displaystyle n\times n} -matrix is en Λ {\displaystyle \Lambda } een n × n {\displaystyle n\times n} -diagonaalmatrix van rang r {\displaystyle r} met de eigenwaarden van A T A {\displaystyle A^{T}A} op de diagonaal. A T A {\displaystyle A^{T}A} is positief semi-definiet en van de eigenwaarden zijn er r {\displaystyle r} van de n {\displaystyle n} strikt positief: λ 1 λ 2 λ r > 0 {\displaystyle \lambda _{1}\geq \lambda _{2}\geq \ldots \geq \lambda _{r}>0} ; de andere ( λ r + 1 λ n {\displaystyle \lambda _{r+1}\ldots \lambda _{n}} ) zijn nul.

De singuliere waarden zijn de positieve vierkantswortels uit de strikt positieve eigenwaarden van A T A {\displaystyle A^{T}A} :

σ i = λ i , i = 1 , 2 , , r {\displaystyle \sigma _{i}={\sqrt {\lambda _{i}}},i=1,2,\ldots ,r}

Bepaling van de SWO

Het bovenstaande levert de volgende methode voor het bepalen van de singulierewaardenontbinding van een matrix A {\displaystyle A} :

  • Bereken de vierkante matrix A T A {\displaystyle A^{T}A} .
  • Bepaal de eigenwaarden daarvan en rangschik die van groot naar klein. De positieve vierkantswortels ervan zijn de singuliere waarden in de matrix Σ {\displaystyle \Sigma } .
  • Vind genormeerde eigenvectoren V 1 , V 2 , {\displaystyle V_{1},V_{2},\ldots } met lengte 1, voor elke eigenwaarde. Dit zijn de kolommen van de matrix V {\displaystyle V} .
  • De eerste r {\displaystyle r} kolommen van U {\displaystyle U} kan men berekenen met:
U i = A V i σ i , i = 1 , , r {\displaystyle U_{i}={\frac {AV_{i}}{\sigma _{i}}},i=1,\ldots ,r}
Deze kolommen vormen een orthonormaal stel. Ze kunnen aangevuld worden tot een orthonormaal stel van m {\displaystyle m} vectoren met de gram-schmidtmethode.

Rekenvoorbeeld

Gegeven de matrix

A = [ 3 1 1 3 1 1 ] . {\displaystyle A={\begin{bmatrix}3&-1\\1&3\\1&1\end{bmatrix}}.}

Hieruit volgt

A T A = [ 3 1 1 1 3 1 ] [ 3 1 1 3 1 1 ] = [ 11 1 1 11 ] {\displaystyle A^{T}A={\begin{bmatrix}3&1&1\\-1&3&1\end{bmatrix}}{\begin{bmatrix}3&-1\\1&3\\1&1\end{bmatrix}}={\begin{bmatrix}11&1\\1&11\end{bmatrix}}}

De eigenwaarden van deze matrix volgen uit

det ( A T A λ I ) = | 11 λ 1 1 11 λ | = 0 {\displaystyle \det(A^{T}A-\lambda I)={\begin{vmatrix}11-\lambda &1\\1&11-\lambda \end{vmatrix}}=0}

Dit is de vierkantsvergelijking ( 11 λ ) 2 1 = 0 {\displaystyle (11-\lambda )^{2}-1=0} met als wortels de eigenwaarden λ 1 = 12 , λ 2 = 10 {\displaystyle \lambda _{1}=12,\lambda _{2}=10} .

De twee singuliere waarden van A {\displaystyle A} zijn dus:

σ 1 = 12 , σ 2 = 10 {\displaystyle \sigma _{1}={\sqrt {12}},\sigma _{2}={\sqrt {10}}}

De eigenvector V 1 = [ x 1 x 2 ] T {\displaystyle V_{1}={\begin{bmatrix}x_{1}&x_{2}\end{bmatrix}}^{T}} behorend bij de grootste eigenwaarde, 12, volgt uit de matrixvergelijking

A T A λ 1 I = [ 1 1 1 1 ] [ x 1 x 2 ] = [ 0 0 ] {\displaystyle A^{T}A-\lambda _{1}I={\begin{bmatrix}-1&1\\1&-1\end{bmatrix}}{\begin{bmatrix}x_{1}\\x_{2}\end{bmatrix}}={\begin{bmatrix}0\\0\end{bmatrix}}}

Hiervoor kunnen we x 1 = 1 , x 2 = 1 {\displaystyle x_{1}=1,x_{2}=1} kiezen (deze vector is nog niet genormeerd).

Voor de tweede eigenwaarde, 10, geldt analoog:

A T A λ 2 I = [ 1 1 1 1 ] [ x 1 x 2 ] = [ 0 0 ] {\displaystyle A^{T}A-\lambda _{2}I={\begin{bmatrix}1&1\\1&1\end{bmatrix}}{\begin{bmatrix}x_{1}\\x_{2}\end{bmatrix}}={\begin{bmatrix}0\\0\end{bmatrix}}}

Hiervoor kunnen we x 1 = 1 , x 2 = 1 {\displaystyle x_{1}=1,x_{2}=-1} kiezen; maar x 1 = 1 , x 2 = 1 {\displaystyle x_{1}=-1,x_{2}=1} zou even goed zijn.

De matrix met als kolommen deze eigenvectoren:

[ 1 1 1 1 ] {\displaystyle {\begin{bmatrix}1&1\\1&-1\end{bmatrix}}}

moeten we nu herleiden naar een orthogonale matrix. Dat gebeurt met de gram-schmidtmethode toegepast op de kolomvectoren van deze matrix. In dit geval zijn de kolomvectoren reeds orthogonaal. Na normering krijgen we dus de matrix V {\displaystyle V} :

V = [ 1 2 1 2 1 2 1 2 ] {\displaystyle V={\begin{bmatrix}{\tfrac {1}{\sqrt {2}}}&{\tfrac {1}{\sqrt {2}}}\\{\tfrac {1}{\sqrt {2}}}&{\tfrac {-1}{\sqrt {2}}}\end{bmatrix}}}

De eerste twee kolommen van U {\displaystyle U} zijn dan:

U 1 = 1 12 [ 3 1 1 3 1 1 ] [ 1 2 1 2 ] = [ 1 6 2 6 1 6 ] {\displaystyle U_{1}={\tfrac {1}{\sqrt {12}}}{\begin{bmatrix}3&-1\\1&3\\1&1\end{bmatrix}}{\begin{bmatrix}{\tfrac {1}{\sqrt {2}}}\\{\tfrac {1}{\sqrt {2}}}\end{bmatrix}}={\begin{bmatrix}{\tfrac {1}{\sqrt {6}}}\\{\tfrac {2}{\sqrt {6}}}\\{\tfrac {1}{\sqrt {6}}}\end{bmatrix}}}

en

U 2 = 1 10 [ 3 1 1 3 1 1 ] [ 1 2 1 2 ] = [ 2 5 1 5 0 ] {\displaystyle U_{2}={\tfrac {1}{\sqrt {10}}}{\begin{bmatrix}3&-1\\1&3\\1&1\end{bmatrix}}{\begin{bmatrix}{\tfrac {1}{\sqrt {2}}}\\{\tfrac {-1}{\sqrt {2}}}\end{bmatrix}}={\begin{bmatrix}{\tfrac {2}{\sqrt {5}}}\\{\tfrac {-1}{\sqrt {5}}}\\0\end{bmatrix}}}

De derde kolom van U {\displaystyle U} wordt dan:

U 3 = [ 1 30 2 30 5 30 ] {\displaystyle U_{3}={\begin{bmatrix}{\tfrac {-1}{\sqrt {30}}}\\{\tfrac {-2}{\sqrt {30}}}\\{\tfrac {5}{\sqrt {30}}}\end{bmatrix}}}

De volledige singulierewaardenontbinding van A {\displaystyle A} is ten slotte:

[ 3 1 1 3 1 1 ] = [ 1 6 2 5 1 30 2 6 1 5 2 30 1 6 0 5 30 ] [ 12 0 0 10 0 0 ] [ 1 2 1 2 1 2 1 2 ] {\displaystyle {\begin{bmatrix}3&-1\\1&3\\1&1\end{bmatrix}}={\begin{bmatrix}{\tfrac {1}{\sqrt {6}}}&{\tfrac {2}{\sqrt {5}}}&{\tfrac {-1}{\sqrt {30}}}\\{\tfrac {2}{\sqrt {6}}}&{\tfrac {-1}{\sqrt {5}}}&{\tfrac {-2}{\sqrt {30}}}\\{\tfrac {1}{\sqrt {6}}}&0&{\tfrac {5}{\sqrt {30}}}\end{bmatrix}}{\begin{bmatrix}{\sqrt {12}}&0\\0&{\sqrt {10}}\\0&0\end{bmatrix}}{\begin{bmatrix}{\tfrac {1}{\sqrt {2}}}&{\tfrac {1}{\sqrt {2}}}\\{\tfrac {1}{\sqrt {2}}}&{\tfrac {-1}{\sqrt {2}}}\end{bmatrix}}}

Numerieke berekening van de SWO

In de bovenstaande berekening werd de gram-schmidtmethode gebruikt bij de berekening van de eigenwaarden en eigenvectoren van de matrix A T A {\displaystyle A^{T}A} . Voor computerberekeningen met beperkte nauwkeurigheid is de gram-schmidtmethode echter niet geschikt. Ze is niet numeriek stabiel; door de opeenstapeling van afrondingsfouten zijn de berekende vectoren niet meer orthogonaal. In de jaren 1960 ontwikkelden Gene Golub en medewerkers numeriek stabiele algoritmen voor de berekeningen van de singulierewaardenontbinding.[1]

Voor de berekening van eigenwaarden of singuliere waarden van grote ijle matrices is het iteratieve lanczos-algoritme (naar Cornelius Lanczos) geschikt. Dit algoritme wordt gebruikt in het softwarepakket SVDPACK.[2]

Toepassingen

De opeenvolgende singuliere waarden kan men interpreteren als energieniveaus. Door enkel de grootste te selecteren verkrijgt men een vereenvoudigd empirisch model dat de onderliggende data goed beschrijft.

SWO wordt veel gebruikt in de statistiek, signaalverwerking, patroonherkenning en verwante sectoren. Met singuliere waarden kan men een reductie verkrijgen in de dimensie van een probleem en een verkleining van de tijd om het op te lossen. Een voorbeeld is biometrische gezichtsherkenning: een foto of beeld van een gezicht wordt voorgesteld als een matrix van een aantal beeldelementen of pixels, naargelang de beeldresolutie. De belangrijkste kenmerken en verhoudingen van zo een beeld moeten dan vergeleken worden met die uit een database van bestaande personen om degene te vinden die er het meeste op lijkt. In plaats hiervoor de volledige beeldmatrix te gebruiken, kan men met een beperkt aantal singuliere waarden werken, die de structuur van de originele gegevens weergeven. Met een Hidden Markov Model kan dan de meest gelijkende kandidaat gezocht worden.[3]

SWO wordt ook gebruikt om ruis uit een reeks meetwaarden te verwijderen. Het energieverschil tussen het nuttig signaal en de ruis uit zich in de singuliere waarden van een matrix die uit de meetwaarden wordt opgebouwd. De grootste singuliere waarden zijn het meest representatief; de kleinere waarden zijn te wijten aan ruis en kan men door nul vervangen. Dan kan men een signaal zonder ruis reconstrueren.[4]

Bronnen

  • Joos Vandewalle & Ronald Cools. Toegepaste algebra: Lineaire algebra en analytische meetkunde. Garant, Leuven/Apeldoorn, 1998. ISBN 9053507728
  • Paul Larmuseau Voorbeeld van online SVD tool met recommender algoritm
Bronnen, noten en/of referenties
  1. G. Golub, W. Kahan. "Calculating the singular values and pseudo-inverse of a matrix." J. SIAM Numer. Anal. Ser. B (1965), vol. 2 nr. 2, blz. 205-224.
  2. SVDPACK
  3. Anagha A. Shinde, Sachin D. Ruikar. "Face Recognition Using Singular Value Decomposition along with seven state HMM." IJCSNS International Journal of Computer Science and Network Security (2013), vol. 13 nr. 12, blz. 117
  4. Wenbin Zhang, Jiaxing Zhu, Yanping Su, Yasong Pu. "A New Signal De-noising Method Based on Energy Difference Spectrum of Singular Value." Information Technology Journal (2013), vol. 12 nr. 19, blz. 5206-5210; DOI:10.3923/itj.2013.5206.5210