Tweet Share Share

Sist Oppdatert 9. August 2019

matrisedomposisjoner er et nyttig verktøy for å redusere en matrise til sine bestanddeler for å forenkle en rekke mer komplekse operasjoner.

Kanskje den mest brukte typen matrisedbrytning er egenendekomposisjonen som dekomponerer en matrise i egenvektorer og egenverdier. Denne dekomponeringen spiller også en rolle i metoder som brukes i maskinlæring, for eksempel I Hovedkomponentanalysemetoden eller PCA.

i denne opplæringen vil du oppdage egen sammensetning, egenvektorer og egenverdier i lineær algebra.

etter å ha fullført denne opplæringen, vil du vite:

  • Hva en egen sammensetning er og rollen som egenvektorer og egenverdier.
  • hvordan beregne en egenendecomposition I Python med NumPy.
  • hvordan bekrefte en vektor er en egenvektor og hvordan å rekonstruere en matrise fra egenvektorer og egenverdier.Kick-starte prosjektet med Min nye bok Lineær Algebra For Maskinlæring, inkludert trinn-for-trinn tutorials og Python kildekodefiler for alle eksempler.

    La oss komme i gang.

    Forsiktig Introduksjon til Egenkomposisjon, Egenverdier og Egenvektorer for Maskinlæring
    Foto Av Mathias Appel, noen rettigheter reservert.

    Tutorial Oversikt

    denne opplæringen er delt inn i 5 deler; de er:

    1. Egenvektorer og Egenverdier
    2. Beregning av Egenvektor
    3. Bekreft En Egenvektor og Egenverdi
    4. Rekonstruere Originalmatrise
    5. Trenger du hjelp med lineær algebra for maskinlæring?

      Ta min gratis 7-dagers e-lynkurs nå (med eksempelkode).

      Klikk for å registrere deg og få også en GRATIS Pdf Ebook-versjon av kurset.

      Last Ned Ditt Gratis Minikurs

      Egenendekomposisjon av En Matrise

      Egenendekomposisjon av en matrise er en type dekomponering som innebærer dekomponering av en kvadratisk matrise i et sett med egenvektorer og egenverdier.

      en av de mest brukte typer matrisedbrytning kalles egenendekomposisjon, der vi dekomponerer en matrise i et sett med egenvektorer og egenverdier.

      — Side 42, Dyp Læring, 2016.

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

      1
      A . v = lambda . v

      dette kalles egenvalue-ligningen, Hvor A er den overordnede firkantmatrisen som vi dekomponerer, v er egenvektoren til matrisen, og lambda er den små greske bokstaven og representerer egenverdien skalar.

      Eller uten punktnotasjonen.

      1
      Av = lambdav

      A matrix could have one eigenvector and eigenvalue for each dimension of the parent matrise. Ikke alle kvadratiske matriser kan dekomponeres i egenvektorer og egenverdier, og noen kan bare dekomponeres på en måte som krever komplekse tall. Den overordnede matrisen kan bli vist å være et produkt av egenvektorer og egenverdier.

      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 består av egenverdiene langs diagonalen( noen ganger representert med en stor lambda), Og Q^-1 er den inverse av matrisen som består av egenvektorer.

      vi vil imidlertid ofte dekomponere matriser i deres egenverdier og egenvektorer. Å gjøre det kan hjelpe oss med å analysere visse egenskaper av matrisen, mye som å dekomponere et heltall i dets hovedfaktorer, kan hjelpe oss å forstå oppførselen til det heltallet.

      — Side 43, Dyp Læring, 2016.

      Eigen er ikke et navn, for eksempel er metoden ikke oppkalt etter «Eigen»; eigen (uttales eye-gan) er et tysk ord som betyr «egen» eller «medfødt», som i tilhørighet til den overordnede matrise.en dekomponeringsoperasjon resulterer ikke i komprimering av matrisen; i stedet bryter den ned i bestanddeler for å gjøre visse operasjoner på matrisen enklere å utføre. Som andre matrise dekomponeringsmetoder, Er Eigendecomposition brukes som et element for å forenkle beregningen av andre mer komplekse matrise operasjoner.

      nesten alle vektorer endrer retning når de multipliseres Med A. Visse eksepsjonelle vektorer x er i samme retning Som Ax. Det er «egenvektorer». Multipliser en egenvektor Med A, og vektorøksen er tallet lambda ganger den opprinnelige x. egenverdien lambda forteller om den spesielle vektoren x er strukket eller krympet eller reversert eller uendret – når den multipliseres Med A.

      — Side 289, Introduksjon Til Lineær Algebra, Femte Utgave, 2016.Eigendecomposition kan også brukes til å beregne hovedkomponentene i en matrise i Hovedkomponentanalysemetoden ELLER PCA som kan brukes til å redusere dimensjonaliteten av data i maskinlæring.

      Egenvektorer og Egenverdier

      Egenvektorer er enhetsvektorer, noe som betyr at deres lengde eller størrelse er lik 1,0. De blir ofte referert til som høyre vektorer, som ganske enkelt betyr en kolonnevektor (i motsetning til en radvektor eller en venstre vektor). En rettvektor er en vektor slik vi forstår dem.Egenverdier Er koeffisienter som brukes på egenvektorer som gir vektorene deres lengde eller størrelse. For eksempel kan en negativ egenverdi reversere retningen til egenvektoren som en del av skaleringen.

      en matrise som bare har positive egenverdier refereres til som en positiv bestemt matrise, mens hvis egenverdiene er alle negative, blir den referert til som en negativ bestemt matrise.

      Dekomponering av en matrise i form av egenverdier og egenvektorer gir verdifull innsikt i egenskapene til matrisen. Visse matriseberegninger, som å beregne kraften til matrisen, blir mye lettere når vi bruker eigendecomposition av matrisen.

      — Side 262, Ingen Bullshit Guide Til Lineær Algebra, 2017

      Beregning av Egenkomposisjon

      en egenkomposisjon beregnes på en firkantet matrise ved hjelp av en effektiv iterativ algoritme, som vi ikke vil gå inn i detaljene.

      ofte er en egenverdi funnet først, så er en egenvektor funnet for å løse ligningen som et sett med koeffisienter.

      egenendekomposisjonen kan beregnes I NumPy ved hjelp av eig () – funksjonen.

      eksemplet nedenfor definerer først en 3×3 kvadratmatrise. Eigendecomposition er beregnet på matrisen som returnerer egenverdier og egenvektorer.

      Kjører eksemplet skriver først den definerte matrisen, etterfulgt av egenverdiene og egenvektorene. Nærmere bestemt er egenvektorer høyre side egenvektorer og normaliseres til enhetslengde.

      Bekreft En Egenvektor og Egenverdi

      vi kan bekrefte at en vektor faktisk er en egenvektor av en matrise.

      vi gjør dette ved å multiplisere kandidatens egenvektor med egenvektoren og sammenligne resultatet med egenverdien.

      først vil vi definere en matrise, deretter beregne egenverdier og egenvektorer. Vi vil da teste om den første vektoren og verdien faktisk er en egenverdi og egenvektor for matrisen. Det vet vi, men det er en god øvelse.

      egenvektorene returneres som en matrise med samme dimensjoner som foreldrematrisen, hvor hver kolonne er en egenvektor, for eksempel den første egenvektoren er vektorer. Egenverdier returneres som en liste, hvor verdiindekser i den returnerte matrisen er parret med egenvektorer etter kolonneindeks, f.eks.

      eksemplet multipliserer den opprinnelige matrisen med den første egenvektoren og sammenligner den med den første egenvektoren multiplisert med den første egenverdien.Kjører eksemplet skriver ut resultatene av disse to multiplikasjonene som viser den samme resulterende vektoren, som vi forventer.

      1
      2
      3

      Reconstruct Original Matrix

      We kan reversere prosessen og rekonstruere den opprinnelige matrisen gitt bare egenvektorer og egenverdier.

      først må listen over egenvektorer konverteres til en matrise, hvor hver vektor blir en rad. Egenverdiene må ordnes i en diagonal matrise. NumPy diag () – funksjonen kan brukes til dette.

      Deretter må vi beregne den inverse av egenvektormatrisen, som vi kan oppnå med inv () NumPy-funksjonen. Til slutt må disse elementene multipliseres sammen med dot () – funksjonen.

      eksemplet beregner egenverdier og egenvektorer igjen og bruker dem til å rekonstruere den opprinnelige matrisen.

      Kjører eksemplet skriver først ut den opprinnelige matrisen, deretter rekonstrueres matrisen fra egenverdier og egenvektorer som samsvarer med den opprinnelige matrisen.

      1
      2
      3
      5
      6
      7

      ]

      Utvidelser

      denne delen viser noen ideer for å utvide opplæringen som du kanskje ønsker å utforske.

    • Lag 5 eksempler ved hjelp av hver operasjon med dine egne data.
    • Implementer hver matriseoperasjon manuelt for matriser definert som lister over lister.
    • Søk maskinlæringspapirer og finn 1 eksempel på hver operasjon som brukes.

    hvis du utforsker noen av disse utvidelsene, vil jeg gjerne vite.

    Videre Lesing

    denne delen gir flere ressurser om emnet hvis du ønsker å gå dypere.

    Bøker

    • Seksjon 6.1 Egenverdier og egenvektorer. Ingen Bullshit Guide Til Lineær Algebra, 2017.Kapittel 6 Egenverdier Og Egenvektorer, Introduksjon Til Lineær Algebra, Femte Utgave, 2016.
    • Seksjon 2.7 Egen Sammensetning, Dyp Læring, 2016.Kapittel 5 Egenverdier, Egenvektorer og Invariante Delrom, Lineær Algebra Gjort Riktig, Tredje Utgave, 2015.
    • Forelesning 24, Egenverdiproblemer, Numerisk Lineær Algebra, 1997.

    API

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

    Artikler

    • eigen på Wiktionary
    • Egenverdier og egenvektorer
    • Egenverdialgoritme
    • matrisedbrytning

    Sammendrag

    i denne opplæringen oppdaget du egenverdienes sammensetning, lineær algebra og lineær algebra.

    spesielt lærte du:

    • Hva en egenendecomposition er og rollen som egenvektorer og egenverdier.
    • hvordan beregne en egenendecomposition I Python med NumPy.
    • hvordan bekrefte en vektor er en egenvektor og hvordan å rekonstruere en matrise fra egenvektorer og egenverdier.

    har du noen spørsmål?
    Still dine spørsmål i kommentarfeltet nedenfor, og jeg vil gjøre mitt beste for å svare.

    Få Et Håndtak På Lineær Algebra for Maskinlæring!

    Utvikle en fungerende forståelse av lineær algebra

    …Ved å skrive linjer med kode i python

    Oppdag hvordan i min nye Ebok:
    Lineær Algebra For Maskinlæring

    Det gir selvstudium tutorials på emner som:
    Vektor Normer, Matrise Multiplikasjon, Tensorer, Egen Sammensetning, SVD, PCA og mye mer…

    Endelig Forstå Matematikken Til Data

    Hopp Over Akademikerne. Bare Resultater.

    Se Hva Som Er Inni

    Tweet Share Share

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.