Singulaariarvon hajottelu

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 5. tammikuuta 2022 tarkistetusta versiosta . tarkastukset vaativat 8 muokkausta .

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.

Määritelmä

Olkoon järjestysmatriisi elementtejä kentästä , jossa  on joko reaalilukukenttä tai kompleksilukukenttä .

Yksikköluvut ja yksikkövektorit

Ei-negatiivista reaalilukua kutsutaan matriisin singulaariseksi arvoksi , kun on kaksi yksikköpituista vektoria ja sellainen, että:

ja

Tällaisia ​​vektoreita kutsutaan vastaavasti vasen yksikkövektoriksi ja yksikkölukua vastaava oikea yksikkövektori .

Matriisihajotus

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 ).

Esimerkki

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 .

Geometrinen tunne

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 .

Sovellukset

Pseudo-inverse matriisi

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.

Approksimaatio alemman tason matriisilla

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.

Lyhennetty versio

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.

Ohjelmistototeutukset

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

  • GNU Scientific -kirjastosta (GSL):

https://www.gnu.org/software/gsl/manual/html_node/Singular-Value-Decomposition.html

  • CERNissä kehitetyssä ROOT-kehyksessä, jota käytetään laajalti tiedeyhteisössä:

https://root.cern.ch/root/htmldoc/guides/users-guide/LinearAlgebra.html#svd

  • Intel® Math Kernel Libraryssa (Intel® MKL).

https://software.intel.com/en-us/intel-mkl

  • Pythonin lineaarialgebran numpy- kirjastossa :

https://numpy.org/doc/stable/reference/generated/numpy.linalg.svd.html

  • Tensorflow-koneoppimiskirjastossa:

https://www.tensorflow.org/api_docs/python/tf/linalg/svd

  • Ja jotkut muut

https://tedlab.mit.edu/~dr/SVDLIBC/
http://www.alglib.net/matrixops/general/svd.php

Katso myös

Muistiinpanot

  1. Yksittäisen arvon hajottelu tunnistuswikissä . Haettu 8. marraskuuta 2009. Arkistoitu alkuperäisestä 26. toukokuuta 2012.
  2. Eckart, C. ja Young, G. Yhden matriisin approksimaatio toisella, jolla on matalampi arvo. Psychometrica, 1936, 1, 211-218.
  3. Peter Harrington. Koneoppiminen toiminnassa . - Shelter Island, 2012. - S.  280 . — ISBN 9781617290183 .

Kirjallisuus

  • William H. Press, Saul A. Teukolsky, William T. Vetterling, Brian P. Flannery. 2.6 Singular Value Decomposition // Numeeriset reseptit C. - 2. painos. — Cambridge: Cambridge University Press. - ISBN 0-521-43108-5 .

Linkit

Artikkelit

Luennot verkossa