Výuka rozkladu singulárních hodnot (SVD)

Výuka rozkladu singulárních hodnot (SVD)

BE.400 / 7.548

Rozklad singulárních hodnot bere obdélníkovou matici dat genové exprese (definovanoujako A, kde A je matice n x p), v níž n řádků představuje geny a p sloupců představuje experimentální podmínky. Věta SVD uvádí:

Anxp= Unxn Snxp VTpxp

Kde

UTU = Inxn

VTV = Ipxp (tj.U a V jsou ortogonální)

Kde sloupce U jsou levé singulární vektory (vektory genových koeficientů);S (stejné rozměry jako A) má singulární hodnoty a je diagonální (modeamplitudy); a VT má řádky, které jsou pravé singulární vektory(vektory expresních úrovní). SVD představuje expanzi původních dat v souřadnicovém systému, kde je kovarianční matice diagonální.

Výpočet SVD spočívá ve zjištění vlastních hodnot a vlastních vektorů AAT a ATA.Vlastní vektory ATA tvoří sloupce V , vlastní vektory AAT tvoří sloupce U. Takésingulární hodnoty v S jsou odmocniny vlastních hodnot z AATnebo ATA. Singulární hodnoty jsou diagonálníčísla matice S a jsou uspořádány v sestupném pořadí. Singulární hodnoty jsou vždy reálná čísla. Pokud je matice A reálná matice, pak jsou UaV rovněž reálné.

Abychom pochopili, jak řešit SVD, vezměme si příklad matice, který byl uveden v Kuruvilla et al:

V tomto příkladu je matice 4×2.Víme, že pro matici n x n W platí, že nenulový vektor x je vlastním vektorem W, jestliže:

W x = l x

Pro nějaký skalár l. Pak se skalár l nazývá vlastní hodnota A a o x se říká, že je vlastním vektorem A odpovídajícím l.

Pro nalezení vlastních hodnot výše uvedené matice tedy vypočítáme matice AAT a ATA. Jakjsme již uvedli,vlastnívektory AAT tvoří sloupce U, takže pro nalezení U můžeme provést následující analýzu.

Nyní, když máme matici nx n, můžeme určit vlastní hodnoty matice W.

Protože W x = l x pak (W- lI) x = 0

Pro jedinečnou množinu vlastních čísel musí být determinant matice (W-lI) roven nule. Z řešenícharakteristickérovnice |W-lI|=0 tedy dostaneme:

l=0, l=0; l = 15+Ö221,5 ~ 29,883; l = 15-Ö221,5 ~ 0,117 (čtyři vlastní čísla, protože jde opolynom čtvrtého stupně). Tuto hodnotu lze použít k určenívlastníhovektoru, který lze umístit do sloupců U. Získáme tak následující rovnice:

19,883 x1 + 14 x2= 0

14 x1 + 9.883 x2 = 0

x3 = 0

x4 = 0

Po zjednodušení prvních dvou rovnic získáme poměr, který vztahuje hodnotu x1 k x2. Hodnoty x1 a x2 jsou zvoleny tak, žeprvkem S jsou odmocniny z vlastních čísel. Tedy řešení, které splňuje výše uvedenou rovnicix1 = -0,58 a x2 = 0,82 a x3 = x4 = 0 (to je druhý sloupec matice U).

Při dosazení druhého vlastního čísla dostaneme:

-9,883×1 + 14 x2 = 0

14 x1 – 19. Při dosazení druhého vlastního čísla dostaneme:

-9,883×1 + 14 x2 = 0

.883 x2= 0

x3 = 0

x4 = 0

Takže řešení, které splňuje tuto množinu rovnic, je x1 = 0,82 a x2 = -0,58 a x3 = x4 = 0 (to je první sloupec matice U). Jejich kombinací získáme:

Podobně ATA tvoří sloupce V, takže můžeme provést podobnou analýzu, abychom našli hodnotu V.

a podobně dostaneme výraz:

Nakonec, jak již bylo zmíněno, S je odmocnina z vlastních čísel z AATnebo ATA. a lze je získatpřímo, což nám dává:

Všimněte si, že: s1 > s2 > s3 > … což je to, co naznačoval obrázek 4 z Kuruvillapapíru. V tomto článku byly hodnotyvypočítány a normalizovány tak, že nejvyšší singulární hodnota byla rovna 1.

Důkaz:

A=USVT a AT=VSUT

ATA = VSUTUSVT

ATA = VS2VT

ATAV = VS2

  • Alter O, Brown PO, Botstein D. (2000) Singular value decomposition for genome-wide expression data processing and modeling (Rozklad singulárních hodnot pro zpracování a modelování expresních dat celého genomu). Proc Natl Acad Sci U S A, 97, 10101-6.
  • Golub, G.H. a Van Loan, C.F. (1989) Matrix Computations, 2. vyd. (Baltimore: Johns Hopkins University Press).
  • Greenberg, M. (2001) Differential equations & Linear algebra (Upper Saddle River, N.J. : Prentice Hall).
  • Strang, G. (1998) Introduction to linear algebra (Wellesley, MA : Wellesley-Cambridge Press).

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.