Yksittäisen arvon hajottelu on suorakaiteen muotoisen matriisin tietynlainen hajotus , jota käytetään laajasti sen visuaalisen geometrisen tulkinnan vuoksi monien sovellettujen ongelmien ratkaisemisessa. Singulaarisen arvon hajottelun uudelleenmuotoilulla, niin kutsutulla Schmidt-hajotelmalla , on sovelluksia kvanttiinformaatioteoriassa , kuten sotkeutumisessa .
Matriisin singulaariarvojen hajottelu mahdollistaa tietyn matriisin singulaariarvojen sekä matriisin vasemman ja oikean singulaarisen vektorin laskemisen :
Missä on hermiittinen konjugaattimatriisi matriisiin , todelliselle matriisille .
Matriisin singulaariarvoja ei pidä sekoittaa saman matriisin ominaisarvoihin .
Yksittäisen arvon hajottelu on hyödyllinen matriisin arvon, matriisin ytimen ja matriisin pseudoinverssin laskennassa .
Singulaaristen arvojen hajottelua käytetään myös matriisien likiarvoon tietyn järjestyksen matriiseilla.
Olkoon järjestysmatriisi elementtejä kentästä , jossa on joko reaalilukukenttä tai kompleksilukukenttä .
Ei-negatiivista reaalilukua kutsutaan matriisin singulaariseksi arvoksi , kun on kaksi yksikköpituista vektoria ja sellainen, että:
jaTällaisia vektoreita kutsutaan vastaavasti vasen yksikkövektoriksi ja yksikkölukua vastaava oikea yksikkövektori .
Järjestysmatriisin yksikköarvohajotelma on seuraavan muodon hajotelma
jossa on ei-negatiivisia elementtejä sisältävä matriisi, jossa päälävistäjällä sijaitsevat alkiot ovat yksikkölukuja (ja kaikki alkiot, jotka eivät ole päälävistäjällä, ovat nollia), ja matriisit (järjestyksen ) ja (järjestyksen ) ovat kaksi unitaarimatriisia , jotka koostuvat vasemmasta ja oikeasta singulaarivektoreista (a on konjugaattitransponoitu matriisi k ).
Olkoon matriisi annettu:
Yksi tämän matriisin yksittäisarvojaotteluista on dekompositio , jossa matriisit ja ovat seuraavat:
koska matriisit ja ovat unitaarisia ( ja , missä on identiteettimatriisi ), ja on suorakaiteen muotoinen diagonaalinen matriisi , eli jos .
Olkoon matriisi liitetty lineaariseen operaattoriin . Yksittäisen arvon hajottelu voidaan muotoilla uudelleen geometrisesti. Lineaarinen operaattori, joka kartoittaa avaruuselementtejä itseensä, voidaan esittää peräkkäin suoritettavina kierto- ja venytysoperaattoreina. Siksi singulaariarvojaottelun komponentit osoittavat selvästi geometrisia muutoksia, kun lineaarinen operaattori kuvaa joukon vektoreita vektoriavaruudesta itseensä tai toisen ulottuvuuden vektoriavaruuteen [1] .
Visuaalisempaa esitystä varten harkitse yksikkösäteen palloa avaruudessa . Viivakartoitus kartoittaa tämän pallon avaruusellipsoidiksi . Tällöin matriisin diagonaalin nollasta poikkeavat singulaariarvot ovat tämän ellipsoidin puoliakselien pituuksia . Siinä tapauksessa, että kaikki singulaariarvot ovat erilaisia ja poikkeavat nollasta, lineaarisen kartoituksen singulaarinen hajoaminen voidaan helposti analysoida kolmen toimenpiteen seurauksena: tarkastellaan ellipsoidia ja sen akseleita; harkitse sitten suuntia, joissa kartoitus kartoittaa näille akseleille. Nämä suunnat ovat ortogonaalisia. Ensin käytämme isometriaa kartoittamalla nämä suunnat koordinaattiakseleiksi . Toinen vaihe on soveltaa koordinaattiakseleita pitkin diagonalisoitua endomorfismia ja laajentaa/supistaa näitä suuntia käyttämällä venytystekijöinä puoliakselien pituuksia. Sitten tuote kartoittaa yksikköpallon isometriseen ellipsoidiin . Määrittääksesi viimeisen vaiheen , käytä isometriaa tähän ellipsoidiin, jotta se muunnetaan muotoon . Kuten voit helposti tarkistaa, tuote on sama kuin .
Singulaaristen arvojen hajottelulla voidaan löytää pseudoinversomatriiseja , jotka pätevät erityisesti pienimmän neliösumman menetelmään .
Jos , niin matriisi pseudo-inversio löytyy kaavasta:
missä on pseudoinversio matriisiin , joka saadaan siitä korvaamalla jokainen diagonaalinen elementti sen käänteisellä: ja transponoimalla.
Joissakin käytännön ongelmissa tietty matriisi on lähennettävä jollakin toisella matriisilla , jolla on ennalta määrätty arvo . Tunnetaan seuraava lause, jota joskus kutsutaan Eckart -Yang -lauseeksi. [2]
Jos vaadimme, että tällainen approksimaatio on paras siinä mielessä, että matriisien eron euklidinen normi on minimaalinen rajoitteen alaisena , niin käy ilmi, että paras tällainen matriisi saadaan matriisien singulaariarvohajotelmasta. matriisi kaavalla:
missä on matriisi , jossa kaikki diagonaaliset alkiot on korvattu nolilla, paitsi suurimmat alkiot.
Jos matriisin elementit on järjestetty ei-nousevaan järjestykseen, matriisin lauseke voidaan kirjoittaa uudelleen seuraavaan muotoon:
jossa matriisit , ja saadaan vastaavista matriiseista matriisin singulaariarvojaottelussa leikkaamalla täsmälleen ensimmäisiin sarakkeisiin.
Siten voidaan nähdä, että approksimoimalla matriisia alemman tason matriisilla, suoritamme eräänlaisen informaation pakkaamisen : kokomatriisi korvataan pienempikokoisilla matriiseilla ja diagonaalimatriisilla elementeillä . Tässä tapauksessa pakkaus tapahtuu häviöillä - vain merkittävin osa matriisista säilyy approksimaatiossa .
Suurelta osin tämän ominaisuuden ansiosta singulaariarvojen hajottelu löytää laajan käytännön sovelluksen: tiedon pakkaamisessa, signaalinkäsittelyssä, numeerisissa iteratiivisissa menetelmissä matriisien kanssa työskennellä, pääkomponenttianalyysissä , piilevässä semanttisessa analyysissä ja muilla aloilla.
Järjestyksen matriisille , jos on tarpeen approksimoida matriisilla, jonka arvo on pienempi kuin , käytetään usein kompaktia hajotteluesitystä [3] :
Vain sarakkeet ja rivit lasketaan . Muita sarakkeita ja rivejä ei lasketa. Tämä säästää paljon muistia, kun .
Otetaan esimerkki, oletetaan , että tämä on käyttäjien määrä, jotka kukin laittoivat osan arvioista elokuville, joiden kokonaismäärä merkitään , sitten matriisi (erittäin harva, koska jokainen käyttäjä arvioi vain pieni osa elokuvista) merkitään ja niillä on riittävän suuri koko .
Jos haluamme työskennellä pienempien mittojen matriisin kanssa, meidän on laskettava singulaariarvon hajoaminen:
tässä tapauksessa matriisi , kuten aiemmin mainittiin, on diagonaalinen. Tämän jälkeen, jos haluamme tallentaa vain tietoja, meidän on otettava , jotta ensimmäisten elementtien neliöiden summa on lävistäjäelementtien kaikkien neliöiden kokonaissummasta .
Joten saamme dimension ( pylväät huomioon ottaen), ulottuvuuden ja c . Sitten matriisin sijasta voimme käsitellä alemman ulottuvuuden matriisia , joka tulkitaan usein käyttäjien arvioiden matriisiksi elokuvaluokittain.
Numeeriset algoritmit yksittäisen arvon hajoamisen löytämiseksi on rakennettu moniin matemaattisiin pakkauksiin. Esimerkiksi MATLAB- ja GNU Octave -järjestelmissä se löytyy komennolla
[ U , S , V ] = svd ( M );SVD sisältyy monien matemaattisten kirjastojen perusmenetelmien luetteloon, mukaan lukien vapaasti levitettävät kirjastot.
On esimerkiksi toteutuksia
https://www.gnu.org/software/gsl/manual/html_node/Singular-Value-Decomposition.html
https://root.cern.ch/root/htmldoc/guides/users-guide/LinearAlgebra.html#svd
https://software.intel.com/en-us/intel-mkl
https://numpy.org/doc/stable/reference/generated/numpy.linalg.svd.html
https://www.tensorflow.org/api_docs/python/tf/linalg/svd
https://tedlab.mit.edu/~dr/SVDLIBC/
http://www.alglib.net/matrixops/general/svd.php
Vektorit ja matriisit | |||||||||
---|---|---|---|---|---|---|---|---|---|
Vektorit |
| ||||||||
matriiseja |
| ||||||||
Muut |