Tweet share Podělte

Naposledy Aktualizován dne 9. srpna 2019

Maticové rozklady jsou užitečným nástrojem pro snížení matice jejich částí s cílem zjednodušit řadu složitějších operací.

snad nejpoužívanějším typem rozkladu matice je eigendecomposition, která rozkládá matici na vlastní vektory a vlastní čísla. Tento rozklad také hraje roli v metodách používaných ve strojovém učení, například v metodě analýzy hlavních komponent nebo PCA.

v tomto tutoriálu objevíte eigendecomposition, vlastní vektory a vlastní čísla v lineární algebře.

po dokončení tohoto tutoriálu budete vědět:

  • co je eigendecomposition a role vlastních vektorů a vlastních čísel.
  • jak vypočítat eigendsložení v Pythonu s NumPy.
  • jak potvrdit vektor je vlastní vektor a jak rekonstruovat matici z vlastních vektorů a vlastních čísel.

nastartujte svůj projekt s mou novou knihou Lineární Algebra pro strojové učení, včetně podrobných tutoriálů a souborů zdrojového kódu Pythonu pro všechny příklady.

začněme.

Jemný Úvod do Eigendecomposition, vlastní čísla a vlastní Vektory pro Strojové Učení
Foto Mathias Appel, některá práva jsou vyhrazena.

přehled tutoriálu

tento tutoriál je rozdělen do 5 částí; jsou:

  1. Eigendecomposition Matice
  2. vlastní Vektory a vlastní čísla
  3. Výpočet Eigendecomposition
  4. Potvrzení vlastní vektor a vlastní číslo
  5. Rekonstruovat Původní Matrix

Potřebujete pomoci s Lineární Algebry pro Strojové Učení?

Vezměte si zdarma 7denní e-mailový rychlokurz (se vzorovým kódem).

kliknutím se zaregistrujete a také získáte zdarma PDF Ebook verzi kurzu.

Stáhněte si ZDARMA Mini-Kurz,

Eigendecomposition Matice

Eigendecomposition matice je typ rozkladu, který zahrnuje rozkladu čtvercové matice do souboru vlastní vektory a vlastní čísla.

jeden z nejpoužívanějších druhů rozkladu matic se nazývá eigendecomposition, ve kterém rozložíme matici na sadu vlastních vektorů a vlastních čísel.

— – Strana 42, hluboké učení, 2016.

A vector is an eigenvector of a matrix if it satisfies the following equation.

1
A . v = lambda . v

To se nazývá vlastní číslo rovnice, kde je rodič čtvercové matice, že jsme v rozkladu, v je vlastní vektor matice a λ je malé řecké písmeno a představuje vlastní čísla skalární.

nebo bez bodového zápisu.

1
Av = lambdav

A matrix could have one eigenvector and eigenvalue for each dimension of the parent matika. Ne všechny čtvercové matice lze rozložit na vlastní vektory a vlastní čísla a některé lze rozložit pouze způsobem, který vyžaduje složitá čísla. Rodičovská matice může být ukázána jako produkt vlastních vektorů a vlastních čísel.

1
A = Q . diag(V) . Q^-1

Or, without the dot notation.

1
A = Qdiag(V)Q^-1

Where Q is a matrix comprised of the eigenvectors, diag(V) is a diagonal matrix skládá se z vlastních čísel podél úhlopříčky (někdy reprezentovaných velkým lambda) a Q^-1 je inverzní matice složená z vlastních vektorů.

často však chceme matice rozložit na jejich vlastní čísla a vlastní vektory. Přitom nám může pomoci analyzovat určité vlastnosti matrice, stejně jako rozkládající se celé na jeho prvočinitele nám může pomoci pochopit chování, že celé číslo.

— – strana 43, hluboké učení, 2016.

Eigen není název, např. metoda není pojmenována po „Eigen“; eigen (vyslovováno oko-gan)je německé slovo, které znamená „vlastní“ nebo „vrozené“, jako v příslušnosti k mateřské matici.

rozklad provozu nemá za následek kompresi matice; místo toho, to ji rozloží na základní části, aby se některé operace na matrice jednodušší provádět. Stejně jako jiné metody rozkladu matic, Eigendecomposition se používá jako prvek pro zjednodušení výpočtu dalších složitějších maticových operací.

téměř všechny vektory mění směr, když jsou vynásobeny a. Některé výjimečné vektory x jsou ve stejném směru jako Ax. To jsou „vlastní vektory“. Vynásobte to vlastní vektor, a vektor Ax je číslo lambda krát původní x. The eigenvalue lambda řekne, zda zvláštní vektor x je natažené nebo zmenšil, nebo obráceně, nebo ponechány beze změny – když se to vynásobí.

— Stránka 289, Úvod do Lineární Algebry, Páté Vydání, 2016.

Eigendecomposition lze také použít k výpočtu hlavních složek matice v metodě analýzy hlavních komponent nebo PCA, které lze použít ke snížení dimenzionality dat ve strojovém učení.

vlastní vektory a vlastní hodnoty

vlastní vektory jsou jednotkové vektory, což znamená, že jejich délka nebo velikost se rovná 1,0. Často se označují jako pravé vektory, což jednoduše znamená sloupcový vektor(na rozdíl od řádkového vektoru nebo levého vektoru). Pravoúhlý vektor je vektor, jak je chápeme.

vlastní čísla jsou koeficienty aplikované na vlastní vektory, které dávají vektorům jejich délku nebo velikost. Například, záporné vlastní číslo může zvrátit směr eigenvector jako součást škálování.

matice, která má pouze kladná vlastní čísla, se označuje jako kladná definitivní matice, zatímco pokud jsou vlastní čísla záporná, označuje se jako záporná definitivní matice.

rozklad matice z hlediska vlastních čísel a vlastních vektorů poskytuje cenné vhledy do vlastností matice. Některé maticové výpočty, jako je výpočet výkonu matice, jsou mnohem jednodušší, když použijeme eigendecomposition matice.

— Stránka 262, Ne Kecy Průvodce Lineární Algebry, 2017

Výpočet Eigendecomposition

eigendecomposition je vypočtena na čtvercové matici pomocí efektivní iterativní algoritmus, který jsme se jít do detailů.

často je nejprve nalezeno vlastní číslo, pak je nalezen vlastní vektor, který řeší rovnici jako sadu koeficientů.

eigendecomposition lze vypočítat v NumPy pomocí funkce eig ().

níže uvedený příklad nejprve definuje čtvercovou matici 3×3. Eigendecomposition se vypočítá na matici vracející vlastní čísla a vlastní vektory.

spuštění příkladu první otisky definované matice, následuje vlastní čísla a vlastní vektory. Přesněji řečeno, vlastní vektory jsou pravé boční vlastní vektory a jsou normalizovány na jednotkovou délku.

Potvrdit vlastní vektor a vlastní číslo

můžeme potvrdit, že vektor je skutečně vlastní vektor matice.

děláme to vynásobením kandidáta vlastní vektor u je vlastní vektor a porovnáním výsledku s eigenvalue.

nejprve definujeme matici a poté vypočítáme vlastní čísla a vlastní vektory. Budeme tedy testovat, zda první vektor a hodnoty jsou ve skutečnosti, což je vlastní číslo a vlastní vektor pro matrix. Víme, že jsou, ale je to dobré cvičení.

vlastní vektory jsou vráceny jako matice se stejnými rozměry jako původní matice, kde každý sloupec je vlastní vektor, tj. první je vlastní vektor vektorů. Vlastní hodnoty jsou vráceny jako seznam, kde hodnoty indexů ve vráceném poli jsou spárované s vektory do sloupců index, např. první eigenvalue na hodnoty je spárováno s první vlastní vektor na vektory.

příklad násobí původní matice s první vlastní vektor a srovnává ji s první vlastní vektor vynásobí první vlastní číslo.

spuštění příkladu vytiskne výsledky těchto dvou násobení, které ukazují stejný výsledný vektor, jak bychom očekávali.

1
2
3

Reconstruct Original Matrix

We může zvrátit proces a rekonstruovat původní matice dána pouze vlastní vektory a vlastní čísla.

nejprve musí být seznam vlastních vektorů převeden na matici, kde se každý vektor stává řádkem. Vlastní čísla musí být uspořádána do diagonální matice. K tomu lze použít funkci NumPy diag ().

dále musíme vypočítat inverzní matici vlastního vektoru, které můžeme dosáhnout pomocí funkce Inv () NumPy. Nakonec je třeba tyto prvky vynásobit společně s funkcí dot ().

příklad znovu vypočítá vlastní čísla a vlastní vektory a použije je k rekonstrukci původní matice.

spuštění příkladu nejprve vytiskne původní matici, poté matici rekonstruovanou z vlastních čísel a vlastních vektorů odpovídajících původní matici.

1
2
3
4
5
6
7

]
]

Rozšíření

Tento oddíl uvádí některé nápady pro rozšíření kurzu, které možná budete chtít prozkoumat.

  • Vytvořte 5 příkladů pomocí každé operace s vlastními daty.
  • implementujte každou maticovou operaci ručně pro matice definované jako seznamy seznamů.
  • hledat strojového učení papíry a najít 1 příklad každé operace se používá.

pokud prozkoumáte některé z těchto rozšíření, rád bych to věděl.

další čtení

tato část poskytuje více zdrojů k tématu, pokud chcete jít hlouběji.

knihy

  • Oddíl 6.1 vlastní čísla a vlastní vektory. No Bullshit Guide To Linear Algebra, 2017.
  • Kapitola 6 vlastní čísla a vlastní vektory, Úvod do lineární algebry, páté vydání, 2016.
  • oddíl 2.7 Eigendecomposition, hluboké učení, 2016.
  • Kapitola 5 Vlastní čísla, vlastní vektory a invariantní podprostory, Lineární Algebra hotovo správně, třetí vydání, 2015.
  • Přednáška 24, vlastní čísla, Numerická Lineární Algebra, 1997.

API

  • numpy.linalgu.eig () API
  • numpy.diag () API
  • numpy.dot () API
  • numpy.linalgu.inv() API

Články

  • vlastní na Wikislovníku
  • vlastní čísla a vlastní vektory
  • Eigendecomposition matice
  • vlastní číslo algoritmus
  • Matrix rozkladu

Shrnutí

V tomto tutoriálu, se objevil eigendecomposition, vlastní vektory, a vlastní čísla v lineární algebře.

konkrétně jste se dozvěděli:

  • co je eigendecomposition a role vlastních vektorů a vlastních čísel.
  • jak vypočítat eigendsložení v Pythonu s NumPy.
  • jak potvrdit vektor je vlastní vektor a jak rekonstruovat matici z vlastních vektorů a vlastních čísel.

máte nějaké dotazy?
zeptejte se v komentářích níže a já se budu snažit odpovědět.

získejte popisovač lineární algebry pro strojové učení!

Rozvíjet pracovní pochopit, lineární algebry,

…o psaní řádků kódu v pythonu

Zjistit, jak v mé nové Ebook:
Lineární Algebry pro Strojové Učení,

To poskytuje self-studovat návody na témata, jako jsou:
Vektorové Normy, Násobení matic, Tenzory, Eigendecomposition, SVD, PCA a mnohem více…

konečně pochopte matematiku dat

přeskočte akademiky. Jen Výsledky.

podívejte se, co je uvnitř

Tweet Sdílet Sdílet

Napsat komentář

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