Tweet Share Share

päivitetty viimeksi 9.elokuuta 2019

matriisin dekompositiot ovat hyödyllinen työkalu matriisin pelkistämiseksi niiden rakenneosiin, jotta voidaan yksinkertaistaa useita monimutkaisempia operaatioita.

ehkä käytetyin matriisihajoamisen tyyppi on eigendekompositio, joka hajottaa matriisin eigenvektoreiksi ja eigenvalueiksi. Tällä hajoamisella on merkitystä myös koneoppimisessa käytetyissä menetelmissä, kuten Pääkomponenttianalyysimenetelmässä tai PCA: ssa.

tässä opetusohjelmassa löydät lineaarialgebran eigendecomposition, eigenvektorit ja eigenvalut.

tämän opetusohjelman suoritettuasi saat tietää:

  • mikä on ominaisuuskoostumus ja mikä on ominaisuusvektoreiden ja-arvojen rooli.
  • Miten lasketaan eigendecompositio Pythonissa numpy: lla.
  • miten vektori vahvistetaan eigenvektoriksi ja miten matriisi rekonstruoidaan eigenvektoreista ja eigenvaluista.

Kick-start your project with my new book Linear Algebra for Machine Learning, including step-by-step tutorials and the Python source code files for all examples.

aloitetaan.

Gentle Introduction to Eigendecomposition, Eigenvalues, and Eigenvectors for Machine Learning
Photo by Mathias Appel, some rights reserved.

opetusohjelma yleiskatsaus

Tämä opetusohjelma on jaettu 5 osaan; ne ovat:

  1. Eigendecomposition matriisi
  2. Eigenvektorit ja Eigenvalues
  3. Eigendecomposition laskeminen
  4. Vahvista Eigenvektori ja Eigenvalue
  5. rekonstruoi Alkuperäinen matriisi

tarvitsevat apua lineaarinen algebra koneoppimiseen?

ota ilmainen 7 päivän sähköpostin pikakurssi nyt (näytekoodilla).

klikkaa ilmoittautuaksesi ja saat myös ilmaisen PDF Ebook-version kurssista.

Download Your FREE Mini-Course

Eigendecomposition of a Matrix

eigendecomposition of a matrix on hajoamistyyppi, jossa neliömatriisi hajotetaan joukko eigenvektoreita ja eigenvalues.

yksi yleisimmin käytetyistä matriisihajoamisen lajeista on nimeltään eigendecomposition, jossa hajotamme matriisin eigenvektorien ja eigenvalueiden joukoksi.

— Page 42, Deep Learning, 2016.

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

1
A . v = lambda . v

tätä kutsutaan eigenvaluyhtälöksi, jossa A on hajoava kantaneliömatriisi, v on matriisin eigenvektori ja lambda on kreikankielinen pienaakkonen ja edustaa eigenvalu-skalaaria.

tai ilman piste-notaatiota.

1
Av = lambdav

A matrix could have one eigenvector and eigenvalue for each dimension of the parent matriisi. Kaikkia neliömatriiseja ei voida hajottaa eigenvektoreiksi ja eigenvalueiksi, ja joitakin voidaan hajottaa vain kompleksilukuja vaativalla tavalla. Kantamatriisin voidaan osoittaa olevan eigenvektorien ja eigenvalujen tulo.

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 koostuu eigenvalues pitkin lävistäjä (joskus esitetty Isolla lambda), ja Q^-1 on käänteismatriisin koostuu eigenvektoreista.

kuitenkin halutaan usein hajottaa matriisit niiden eigenvektoreiksi ja eigenvektoreiksi. Tämä voi auttaa meitä analysoimaan tiettyjä ominaisuuksia matriisin, paljon kuin hajottamalla kokonaisluku osaksi sen prime tekijät voivat auttaa meitä ymmärtämään käyttäytymistä, että kokonaisluku.

— Page 43, Deep Learning, 2016.

Eigen ei ole nimi, esimerkiksi menetelmää ei ole nimetty ”Eigenin” mukaan; eigen (lausutaan eye-gan) on saksan kielen sana, joka tarkoittaa ”omaa” tai ”synnynnäistä”, kuten kantamatriisiin kuuluminen.

hajotusoperaatio ei johda matriisin puristumiseen, vaan se pilkkoo sen osiin, jotta tietyt operaatiot matriisissa olisivat helpompia suorittaa. Muiden matriisihajoamismenetelmien tapaan Eigendekompositiota käytetään elementtinä yksinkertaistamaan muiden monimutkaisempien matriisioperaatioiden laskentaa.

lähes kaikki vektorit muuttavat suuntaa, kun ne kerrotaan A: lla. Tietyt Poikkeukselliset vektorit x ovat samaan suuntaan kuin Ax. Ne ovat”eigenvektorit”. Kerrotaan eigenvektori A: lla, ja vektori Ax on luku lambda kertaa alkuperäinen X. eigenvalue lambda kertoo, venyykö, kutistuuko, kääntyykö vai jättääkö se ennalleen – kun se kerrotaan A: lla

— Page 289, Introduction to Linear Algebra, viides painos, 2016.

Eigendecomposition avulla voidaan laskea myös matriisin pääkomponenttianalyysimenetelmässä tai PCA: ssa olevat pääkomponentit, joita voidaan käyttää datan dimensionaalisuuden vähentämiseen koneoppimisessa.

Eigenvektorit ja Eigenvektorit

Eigenvektorit ovat yksikkövektoreita, jolloin niiden pituus tai magnitudi on yhtä suuri kuin 1,0. Niitä kutsutaan usein oikeiksi vektoreiksi, mikä tarkoittaa yksinkertaisesti sarakevektoria (erotuksena rivivektorista tai vasemmasta vektorista). Oikea vektori on vektori sellaisena kuin me niitä ymmärrämme.

Eigenvalues ovat eigenvektoreille sovellettavia kertoimia, jotka antavat vektoreille niiden pituuden tai suuruuden. Esimerkiksi negatiivinen eigenvektori voi kääntää sen suunnan osana skaalausta.

matriisia, jossa on vain positiivisia eigenvalueita, kutsutaan positiiviseksi definiittiseksi matriisiksi, kun taas jos eigenvalueet ovat kaikki negatiivisia, kutsutaan sitä negatiiviseksi definiittiseksi matriisiksi.

matriisin hajottaminen sen eigenvektorien ja sen eigenvektorien suhteen antaa arvokasta tietoa matriisin ominaisuuksista. Tietyt matriisilaskelmat, kuten matriisin tehon laskeminen, tulevat paljon helpommiksi, kun käytämme matriisin eigendecompositiota.

— Page 262, no Bullshit Guide To Linear Algebra, 2017

Eigendecomposition laskeminen

eigendecomposition laskeminen neliömatriisille tehokkaalla iteratiivisella algoritmilla, jonka yksityiskohtiin emme mene.

usein ensin löydetään eigenvektori, sitten löydetään eigenvektori, joka ratkaisee yhtälön kertoimena.

eigendekoostumus voidaan laskea NumPy-muodossa käyttäen eig () – funktiota.

alla olevassa esimerkissä määritellään ensin 3×3 neliömatriisi. Eigendecomposition lasketaan matriisilla, joka palauttaa eigenvalues ja eigenvektorit.

esimerkin suorittaminen tulostaa ensin määritellyn matriisin, jota seuraavat eigenvalues ja eigenvektorit. Tarkemmin sanottuna eigenvektorit ovat oikeanpuoleisia eigenvektoreita ja ne normalisoidaan yksikkömitaksi.

Vahvista Eigenvektori ja Eigenvalue

voimme vahvistaa, että vektori on todellakin matriisin eigenvektori.

teemme tämän kertomalla ehdokkaan eigenvektorin eigenvektorilla ja vertaamalla tulosta eigenvektoriin.

ensin määritellään matriisi, sitten lasketaan eigenvalues ja eigenvektorit. Tämän jälkeen testataan, ovatko ensimmäinen vektori ja arvo itse asiassa matriisin eigenvalue ja eigenvektori. Tiedämme, että ne ovat, mutta se on hyvä harjoitus.

eigenvektorit palautetaan matriisina, jonka mitat ovat samat kuin kantamatriisilla, jossa jokainen sarake on eigenvektori, esimerkiksi ensimmäinen eigenvektori on vektori. Eigenvalues palautetaan listana, jossa palautetun joukon arvoindeksit paritetaan eigenvektorien kanssa sarakeindeksillä, esim.ensimmäinen eigenvalue arvoilla paritetaan ensimmäisen eigenvektorin kanssa vektoreilla.

esimerkki kertoo alkuperäisen matriisin ensimmäisellä eigenvektorilla ja vertaa sitä ensimmäiseen eigenvektoriin kerrottuna ensimmäisellä eigenvektorilla.

esimerkin suorittaminen tulostaa näiden kahden kertolaskun tulokset, jotka näyttävät saman tuloksena olevan vektorin, kuten olettaisimmekin.

1
2
3

Reconstruct Original Matrix

We voi kääntää prosessin ja rekonstruoida alkuperäisen matriisin, joka annetaan vain eigenvektoreille ja eigenvaluille.

ensin eigenvektorien luettelo on muunnettava matriisiksi, jossa jokaisesta vektorista tulee rivi. Eigenvalues on järjestettävä diagonaalimatriisiksi. Tähän voidaan käyttää funktiota NumPy diag ().

seuraavaksi on laskettava eigenvektorin matriisin käänteisluku, jonka voimme saavuttaa inv() NumPy-funktiolla. Lopuksi nämä alkuaineet on kerrottava yhteen piste () – funktiolla.

esimerkki laskee eigenvalut ja eigenvektorit uudelleen ja käyttää niitä alkuperäisen matriisin rekonstruoimiseen.

esimerkin suorittaminen tulostaa ensin alkuperäisen matriisin, jonka jälkeen matriisi rekonstruoidaan alkuperäistä matriisia vastaavista eigenvalueista ja eigenvektoreista.

1
2
3
4
5
6

td>

]

laajennukset

tässä osiossa luetellaan muutamia ideoita opetusohjelman laajentamiseen, joita kannattaa tutkia.

  • luo 5 esimerkkiä käyttäen jokaista operaatiota omilla tiedoillasi.
  • toteutetaan kukin matriisioperaatio manuaalisesti matriisiluetteloina määritellyille matriiseille.
  • Hae koneoppimispapereita ja etsi 1 esimerkki jokaisesta käytetystä operaatiosta.

jos tutkit jotain näistä laajennuksista, haluaisin tietää.

lisätietoja

tästä osiosta saa lisää resursseja aiheeseen, jos haluaa mennä syvemmälle.

Kirjat

  • kohta 6.1 ominaisarvot ja ominaisvektorit. No Bullshit Guide To Linear Algebra, 2017.
  • Luku 6 Eigenvalues and Eigenvectors, Introduction to Linear Algebra, viides painos, 2016.
  • Section 2.7 Eigendecomposition, Deep Learning, 2016.
  • Luku 5 Eigenvalues, Eigenvectors, and Invariant Subspaces, Linear Algebra Done Right, kolmas painos, 2015.
  • Luento 24, Eigenvalue Problems, numeerinen Linear Algebra, 1997.

API

  • numpy.linalg.eig () API
  • numpy.diag () API
  • numpy.piste () API
  • numpy.linalg.inv() API

Articles

  • eigen on Wiktionary
  • Eigenvalues and eigenvectors
  • Eigenvalue algorithm
  • matriisin hajoaminen

Yhteenveto

tässä opetusohjelmassa löysit eigendecomposition eigenvektorit ja eigenvalues lineaarialgebrassa.

erityisesti opittiin:

  • mikä on eigendekoostumus ja mikä on eigenvektorien ja eigenvalujen rooli.
  • Miten lasketaan eigendecompositio Pythonissa numpy: lla.
  • miten vektori vahvistetaan eigenvektoriksi ja miten matriisi rekonstruoidaan eigenvektoreista ja eigenvaluista.

onko sinulla kysyttävää?
kysy kysymyksesi alla olevissa kommenteissa ja teen parhaani vastatakseni.

Get a Handle on Linear Algebra for Machine Learning!

Develop a working understand of linear algebra

… kirjoittamalla rivejä koodia python

Discover how in my new Ebook:
Lineaarialgebra koneoppimiseen

se tarjoaa itseopiskelua aiheista kuten:
Vektorinormit, Matriisikertolasku, tensorit, Eigendecomposition, SVD, PCA ja paljon muuta…

vihdoin ymmärtää datan matematiikan

ohittaa akateemikot. Pelkkiä Tuloksia.

see What ’ s Inside

Tweet Share Share

Vastaa

Sähköpostiosoitettasi ei julkaista.