Tweet Share Share

Utoljára frissítve: augusztus 9, 2019

a Mátrix bomlása hasznos eszköz a mátrix alkotóelemeinek csökkentésére annak érdekében, hogy egyszerűsítse a bonyolultabb műveleteket.

a mátrixbomlás talán a leggyakrabban használt típusa a sajátvektorokra és sajátértékekre bomlik. Ez a bomlás szerepet játszik a gépi tanulásban alkalmazott módszerekben is, például a főkomponens-elemzési módszerben vagy a PCA-ban.

ebben az oktatóanyagban felfedezheti a sajátgendekompozíciót, sajátvektorokat és sajátértékeket a lineáris algebrában.

a bemutató befejezése után tudni fogja:

  • mi az a sajátkompozíció, valamint a sajátvektorok és sajátértékek szerepe.
  • hogyan lehet kiszámítani egy eigendecomposition Python numpy.
  • hogyan lehet megerősíteni, hogy egy vektor sajátvektor, és hogyan lehet rekonstruálni egy mátrixot sajátvektorokból és sajátértékekből.

indítsa el a projektet az új könyvemmel Lineáris Algebra a gépi tanuláshoz, beleértve a lépésenkénti oktatóanyagokat és a Python forráskód fájlokat az összes példához.

kezdjük.

gyengéd Bevezetés a saját összetételbe, Sajátértékekbe és Sajátvektorokba a gépi tanuláshoz
fotó: Mathias Appel, néhány jog fenntartva.

bemutató Áttekintés

Ez a bemutató 5 részre oszlik; ezek:

  1. egy mátrix Eigendekompozíciója
  2. sajátvektorok és sajátértékek
  3. sajátvektor és sajátérték kiszámítása
  4. sajátvektor és sajátérték megerősítése
  5. rekonstruálni az eredeti mátrixot

segítségre van szüksége lineáris algebra a gépi tanuláshoz?

vegye ki az ingyenes 7 napos e-mail gyorstalpaló tanfolyamomat (mintakóddal).

kattintson a regisztrációhoz, és kapjon egy ingyenes PDF Ebook verziót a tanfolyamról.

töltse le ingyenes Mini-tanfolyamát

Sajátmátrix-összetétel

a mátrix Sajátmátrix-összetétele olyan típusú bomlás, amely magában foglalja a négyzetmátrix lebontását sajátvektorok és sajátértékek halmazára.

a mátrixbomlás egyik legszélesebb körben használt fajtája az eigendecomposition, amelyben egy mátrixot sajátvektorok és sajátértékek halmazára bontunk.

— 42.oldal, mély tanulás, 2016.

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

1
A . v = lambda . v

ezt sajátérték egyenletnek nevezzük, ahol A a szülő négyzetes mátrix, amelyet lebontunk, v A mátrix sajátvektora, a lambda pedig a kisbetűs görög betű, és a sajátérték skalárt képviseli.

vagy pontjelzés nélkül.

1
Av = lambdav

A matrix could have one eigenvector and eigenvalue for each dimension of the parent mátrix. Nem minden négyzetes mátrix bontható sajátvektorokra és sajátértékekre, és néhány csak komplex számokat igénylő módon bontható le. A szülőmátrix a sajátvektorok és sajátértékek szorzata.

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 az átló mentén lévő sajátértékekből áll (néha nagy lambda-val ábrázolva), Q^-1 pedig a sajátvektorokból álló mátrix inverze.

azonban gyakran szeretnénk a mátrixokat sajátértékeikre és sajátvektoraikra bontani. Ez segíthet a mátrix bizonyos tulajdonságainak elemzésében, ugyanúgy, mint egy egész szám elsődleges tényezőkre bontása segíthet megérteni az egész szám viselkedését.

— 43.oldal, mély tanulás, 2016.

Eigen nem név, pl. a módszer neve nem”Eigen”; eigen (ejtsd: eye-gan) egy német szó, amely azt jelenti, hogy “saját” vagy “veleszületett”, mint a szülő mátrixhoz való tartozás.

a bomlási művelet nem eredményezi a mátrix tömörítését; ehelyett alkotóelemekre bontja, hogy a mátrix bizonyos műveleteit könnyebben elvégezhesse. A többi mátrix bomlási módszerhez hasonlóan az Eigendekompozíciót is elemként használják más összetettebb mátrixműveletek kiszámításának egyszerűsítésére.

szinte minden vektor megváltoztatja az irányt, amikor megszorozzák a-Val. Bizonyos kivételes x Vektorok ugyanabban az irányban vannak, mint az Ax. Ezek a “sajátvektorok”. Szorozzuk meg a sajátvektort A – val, és a vektor Ax a lambda szám az eredeti x— szerese. a sajátérték lambda megmondja, hogy a speciális x vektor megnyúlik-e, zsugorodik-e, megfordult-e vagy változatlan marad-ha megszorozzuk a-val.

– 289. oldal, Bevezetés a lineáris Algebrába, ötödik kiadás, 2016.

az Eigendecomposition felhasználható egy mátrix fő összetevőinek kiszámításához a főkomponens-elemzési módszerben vagy a PCA-ban, amely felhasználható az adatok dimenziójának csökkentésére a gépi tanulásban.

sajátvektorok és sajátértékek

sajátvektorok egységvektorok, ami azt jelenti, hogy hosszuk vagy nagyságuk 1,0. Gyakran jobb vektoroknak nevezik őket, ami egyszerűen oszlopvektort jelent (szemben a sorvektorral vagy a bal vektorral). A jobb vektor egy vektor, ahogy megértjük őket.

sajátértékek a sajátvektorokra alkalmazott együtthatók, amelyek megadják a vektorok hosszát vagy nagyságát. Például egy negatív sajátérték megfordíthatja a sajátvektor irányát a méretezés részeként.

azt a mátrixot, amelynek csak pozitív sajátértékei vannak, pozitív határozott mátrixnak nevezzük, míg ha a sajátértékek mind negatívak, akkor negatív határozott mátrixnak nevezzük.

a mátrix sajátértékei és sajátvektorai szerinti lebontása értékes betekintést nyújt a mátrix tulajdonságaiba. Bizonyos mátrix számítások, mint például a mátrix teljesítményének kiszámítása, sokkal könnyebbé válnak, ha a mátrix sajátösszetételét használjuk.

— 262.oldal, nincs baromság útmutató a lineáris algebrához, 2017

Sajátgendekompozíció kiszámítása

a sajátgendekompozíciót egy négyzetes mátrixon számítjuk ki egy hatékony iteratív algoritmus segítségével, amelynek részleteibe nem megyünk bele.

gyakran először egy sajátértéket találunk, majd egy sajátvektort találunk az egyenlet megoldására együtthatók halmazaként.

az eigendecomposition számolható NumPy-ban az eig() függvény segítségével.

az alábbi példa először egy 3 db 3 négyzetmátrixot határoz meg. Az eigendekompozíciót a sajátértékeket és sajátvektorokat visszaadó mátrix alapján számítjuk ki.

a példa futtatása először kiírja a definiált mátrixot, majd a sajátértékeket és a sajátvektorokat. Pontosabban, a sajátvektorok a jobb oldali sajátvektorok, és egységhosszra normalizálódnak.

sajátvektor és sajátérték megerősítése

megerősíthetjük, hogy egy vektor valóban egy mátrix sajátvektora.

ezt úgy végezzük, hogy megszorozzuk a jelölt sajátvektort a sajátvektorral, és összehasonlítjuk az eredményt a sajátértékkel.

először definiálunk egy mátrixot, majd kiszámítjuk a sajátértékeket és sajátvektorokat. Ezután megvizsgáljuk, hogy az első vektor és érték valójában egy sajátérték és sajátvektor a mátrix számára. Tudjuk, hogy vannak, de ez egy jó gyakorlat.

a sajátvektorok mátrixként kerülnek visszaadásra, ugyanolyan méretekkel, mint a szülő mátrix, ahol minden oszlop sajátvektor, pl. az első sajátvektor Vektorok. A sajátértékek listaként kerülnek visszaadásra, ahol a visszaadott tömb értékindexei oszlopindex szerint párosulnak sajátvektorokkal, pl. az első sajátérték az értékeknél párosítva van az első sajátvektorral a vektoroknál.

a példa megsokszorozza az eredeti mátrixot az első sajátvektorral, és összehasonlítja az első sajátvektorral, szorozva az első sajátértékkel.

a példa futtatása kinyomtatja ennek a két szorzásnak az eredményeit, amelyek ugyanazt a kapott vektort mutatják, ahogy elvárnánk.

1
2
3

Reconstruct Original Matrix

We megfordíthatja a folyamatot és rekonstruálhatja az eredeti mátrixot, csak a sajátvektorok és sajátértékek alapján.

először a sajátvektorok listáját mátrixgá kell konvertálni, ahol minden vektor sorrá válik. A sajátértékeket átlós mátrixba kell rendezni. Ehhez a numpy diag () függvény használható.

ezután ki kell számolnunk a sajátvektor mátrix inverzét, amelyet az inv() NumPy függvénnyel érhetünk el. Végül ezeket az elemeket meg kell szorozni a dot() függvénnyel.

a példa ismét kiszámítja a sajátértékeket és sajátvektorokat, és felhasználja őket az eredeti mátrix rekonstruálására.

a példa futtatása először kinyomtatja az eredeti mátrixot, majd az eredeti mátrixnak megfelelő sajátértékekből és sajátvektorokból rekonstruált mátrixot.

1
2
3
4
5
6
7

]
]

Extensions

Ez a szakasz felsorol néhány ötletet az oktatóanyag kiterjesztésére, amelyet érdemes felfedezni.

  • hozzon létre 5 példát az egyes műveletek használatával a saját adataival.
  • az egyes mátrixműveleteket manuálisan hajtsa végre a listák listájaként definiált mátrixokhoz.
  • keresse meg a gépi tanulási papírokat, és keressen 1 példát minden használt műveletre.

ha felfedezed ezeket a kiterjesztéseket, szeretném tudni.

további olvasmányok

Ez a szakasz további forrásokat biztosít a témában, ha mélyebbre szeretne menni.

Könyvek

  • 6.1. szakasz sajátértékek és sajátvektorok. Nincs Baromság Útmutató A Lineáris Algebrához, 2017.
  • 6. fejezet sajátértékek és sajátvektorok, Bevezetés a lineáris Algebrába, ötödik kiadás, 2016.
  • 2.7. szakasz Eigendecomposition, mély tanulás, 2016.
  • 5. fejezet sajátértékek, sajátvektorok és invariáns Alterek, Lineáris Algebra Done Right, harmadik kiadás, 2015.
  • 24. előadás, sajátérték problémák, numerikus Lineáris Algebra, 1997.

API

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

cikkek

  • eigen a Wikiszótárban
  • sajátértékek és sajátvektorok
  • mátrix sajátérték-összetétele algoritmus
  • Mátrixbontás

Összegzés

ebben a bemutatóban felfedezted az eigendekompozíciót, sajátvektorok és sajátértékek a lineáris algebrában.

konkrétan megtanultad:

  • mi a sajátvektor és a sajátértékek szerepe.
  • hogyan lehet kiszámítani egy eigendecomposition Python numpy.
  • hogyan lehet megerősíteni, hogy egy vektor sajátvektor, és hogyan lehet rekonstruálni egy mátrixot sajátvektorokból és sajátértékekből.

kérdése van?
tegye fel kérdéseit az alábbi megjegyzésekben, és mindent megteszek, hogy válaszoljak.

kap egy fogantyú Lineáris Algebra Gépi tanulás!

dolgozzon ki egy működő megérteni a lineáris algebra

… írásban sorokat kódot python

fedezze fel, hogyan az én új Ebook:
Lineáris Algebra a gépi tanuláshoz

önálló tanulási oktatóanyagokat biztosít olyan témákban, mint:
Vektor normák, mátrix szorzás, tenzorok, Eigendecomposition, SVD, PCA és még sok más…

végül megérteni a matematika adatok

ugrás a tudósok. Csak Eredmények.

lásd, mi van benne

Tweet Share Share

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.