- Introduksjon
- Matematiske Objekter
- Beregningsregler
- Matrisemultiplikasjonsegenskaper
- Invers og Transponere
- Sammendrag
- Ressurser
- Introduksjon
- Matematiske Objekter
- skalar
- Vektor
- matrise
- tensor
- Matrise-Skalaroperasjoner
- matrise-vektor multiplikasjon
- Matrix-Matrix Addition and Subtraction
- matrix-matrix multiplikasjon
- Matrix Multiplication Properties
- Ikke Kommutativ
- Associative
- Distributiv
- Identitetsmatrise
- Inverse og Transponere
- Inverse
- Transponere
- sammendrag
- Ressurser
Introduksjon
Lineær Algebra er en kontinuerlig form for matematikk og brukes gjennom vitenskap og ingeniørfag fordi den lar deg modellere naturlige fenomener og å beregne Dem Effektivt. Fordi det er en form for kontinuerlig og ikke diskret matematikk, har mange datavitenskapere ikke mye erfaring med det. Lineær Algebra er også sentral i nesten alle områder av matematikk som geometri og funksjonell analyse. Konseptene er en avgjørende forutsetning for å forstå teorien bak Maskinlæring, spesielt hvis Du jobber Med Dype Læringsalgoritmer. Du trenger ikke å forstå Lineær Algebra før Du begynner Med Maskinlæring, men på et tidspunkt vil du kanskje få en bedre forståelse av hvordan De forskjellige Maskinlæringsalgoritmene virkelig fungerer under hetten. dette vil hjelpe deg med å ta bedre beslutninger under Utviklingen Av Et Maskinlæringssystem. Så hvis du virkelig vil være profesjonell på dette feltet, må du mestre delene Av Lineær Algebra som er viktige For Maskinlæring. I Lineær Algebra er data representert av lineære ligninger, som presenteres i form av matriser og vektorer. Derfor handler du mest om matriser og vektorer i stedet for med skalarer (vi vil dekke disse vilkårene i følgende avsnitt). Når du har de riktige bibliotekene, som Numpy, til din disposisjon, kan du beregne kompleks matrisemultiplikasjon veldig enkelt med bare noen få linjer med kode. (Merk: Dette blogginnlegget ignorerer begreper Lineær Algebra som ikke er viktige For Maskinlæring.)
Matematiske Objekter
skalar
en skalar er ganske enkelt et enkelt tall. For eksempel 24.
Vektor
En Vektor er en ordnet rekke tall og kan være i en rad eller en kolonne. En Vektor har bare en enkelt indeks, som kan peke på en bestemt verdi i Vektoren. For Eksempel refererer V2 Til den andre verdien i Vektoren, som er -8 i grafikken ovenfor.
matrise
en matrise er en bestilt 2d-rekke med tall og den har to indekser. Den første peker på raden og den andre til kolonnen. For Eksempel refererer M23 til verdien i den andre raden og den tredje kolonnen, som er 8 i den gule grafikken ovenfor. En Matrise kan ha flere antall rader og kolonner. Merk at En Vektor også er En Matrise, men med bare en rad eller en kolonne.
Matrisen i eksemplet i den gule grafikken er også en 2-x 3-dimensjonal Matrise (rader x kolonner). Nedenfor kan du se et annet Eksempel På En Matrise sammen med notasjonen:
tensor
du kan tenke på en tensor som en rekke tall, arrangert på et vanlig rutenett, med et variabelt antall akser. En Tensor har tre indekser, hvor den første peker på raden, den andre til kolonnen og den tredje til aksen. For Eksempel peker T232 på den andre raden, den tredje kolonnen og den andre aksen. Dette refererer til verdien 0 i høyre Tensor i grafikken nedenfor:
tensor er den mest generelle termen for alle disse konseptene ovenfor fordi en tensor er en flerdimensjonal matrise, og den kan være en vektor og en matrise, avhengig av antall indekser den har. For eksempel vil en Førsteordens Tensor være En Vektor (1 indeks). En andreordens Tensor er En Matrise (2 indekser) og tredje ordens Tensorer (3 indekser) og høyere kalles Høyere Ordens Tensorer (3 eller flere indekser).
Matrise-Skalaroperasjoner
hvis du multipliserer, deler, trekker fra Eller legger Til En Skalar I En Matrise, gjør du det med hvert element i Matrisen. Bildet nedenfor illustrerer dette perfekt for multiplikasjon:
matrise-vektor multiplikasjon
multiplisere en matrise med en vektor kan betraktes som å multiplisere hver rad av matrisen med kolonnen av vektoren. Utgangen vil være En Vektor som har samme antall rader som Matrisen. Bildet nedenfor viser hvordan dette fungerer:
for bedre å forstå konseptet, vil vi gå gjennom beregningen av det andre bildet. For å få den første verdien av Den resulterende Vektoren (16), tar vi tallene til Vektoren vi vil multiplisere Med Matrisen (1 og 5), og multiplisere dem med tallene i Den Første raden I Matrisen (1 og 3). Dette ser slik ut:
1*1 + 3*5 = 16
Vi gjør det samme for verdiene i Den Andre raden I Matrisen:
4*1 + 0*5 = 4
og igjen for tredje rad Av Matrisen:
2*1 + 1*5 = 7
her er et annet eksempel:
And here is a kind of cheat sheet:
Matrix-Matrix Addition and Subtraction
Matrix-Matrix Addition and Subtraction is fairly easy and straightforward. Kravet er at matrisene har de samme dimensjonene, og resultatet er En Matrise som også har de samme dimensjonene. Du legger bare til eller trekker hver verdi av den første Matrisen med den tilsvarende verdien i den andre Matrisen. Se nedenfor:
matrix-matrix multiplikasjon
multiplisere to matriser sammen er ikke så vanskelig enten hvis du vet hvordan å multiplisere en matrise med en vektor. Merk at Du bare kan multiplisere Matriser sammen hvis tallet for den første matrisens kolonner samsvarer med tallet for den andre matrisens rader. Resultatet blir En Matrise med samme antall rader som den første Matrisen og samme antall kolonner som den andre Matrisen. Det fungerer som følger:
du deler bare den Andre Matrisen i kolonnevektorer og multipliserer den første Matrisen separat av hver Av Disse Vektorene. Deretter legger du resultatene i en ny Matrise (uten å legge dem opp!). Bildet nedenfor forklarer dette trinnvis:
And here is again some kind of cheat sheet:
Matrix Multiplication Properties
Matrix Multiplication has several properties that allow us to bundle a lot of computation into one Matrix multiplication. We will discuss them one by one below. Vi vil begynne med å forklare disse konseptene med Skalarer og Deretter Med Matriser fordi dette vil gi deg en bedre forståelse av prosessen.
Ikke Kommutativ
Skalar Multiplikasjon er kommutativ, Men Matrisemultiplikasjon er ikke. Dette betyr at når vi multipliserer Skalarer, er 7 * 3 det samme som 3*7. Men når Vi multipliserer Matriser med hverandre, Er A * B ikke det samme Som B*A.
Associative
Skalar Og Matrisemultiplikasjon er begge assosiative. Dette betyr At Skalarmultiplikasjonen 3(5*3) er den samme som (3 * 5) 3, Og At Matrisemultiplikasjonen A(B*C) er Den samme som (A*B)C.
Distributiv
Skalar Og Matrisemultiplikasjon er også begge distributive. Dette betyr at
3 (5 + 3) er det samme som 3*5 + 3*3 Og At A(B+C) er det samme Som A*B + A*C.
Identitetsmatrise
Identitetsmatrisen Er en spesiell Type Matrise, men først må vi definere Hva En Identitet er. Tallet 1 er En Identitet fordi alt du multipliserer med 1 er lik seg selv. Derfor er Hver Matrise som multipliseres Med En Identitetsmatrise lik seg selv. For Eksempel Er Matrise a ganger Sin Identitet-Matrise lik A.
du kan oppdage En Identitetsmatrise ved at Den har en Langs diagonalene og at alle andre verdier er null. Det er også en «kvadrert matrise», noe som betyr at antall rader samsvarer med antall kolonner.
vi diskuterte tidligere at matrisemultiplikasjon ikke er kommutativ, men det er ett unntak, nemlig hvis vi multipliserer en matrise med en identitetsmatrise. Derfor er følgende ligning sant: A * i = i * A = a
Inverse og Transponere
Matrisen inverse og Matrisen transponere er to spesielle Typer Matriseegenskaper. Igjen vil vi begynne med å diskutere hvordan disse egenskapene relaterer seg til reelle tall og deretter hvordan De relaterer Seg Til Matriser.
Inverse
Først av Alt, Hva er en invers? Et tall som multipliseres med dets inverse er lik 1. Merk at alle tall unntatt 0 har en invers. Hvis Du multipliserer En Matrise med den inverse, er Resultatet Identitetsmatrisen. Eksemplet nedenfor viser hvordan invers Av Skalarer ser ut:
men ikke alle matriser har en invers. Du kan beregne den inverse Av En Matrise hvis Den er en «kvadrert Matrise» og hvis den har en invers. Å diskutere hvilke Matriser som har en invers, ville dessverre være utenfor omfanget av dette innlegget.
Hvorfor trenger vi en invers? Fordi Vi ikke kan dele Matriser. Det er ikke noe konsept om å dele Med En Matrise, men vi kan multiplisere En Matrise med en invers, noe som resulterer i det samme.
bildet nedenfor viser En Matrise multiplisert med den inverse, noe som resulterer i en 2-x-2 identitetsmatrise.
du kan enkelt beregne den inverse av en matrise (hvis den har en) ved hjelp av numpy. Her er lenken til dokumentasjonen: https://docs.scipy.org/doc/numpy-1.14.0/reference/generated/numpy.linalg.inv.html.
Transponere
og til slutt vil Vi diskutere Matrix Transponere Egenskapen. Dette er i utgangspunktet speilbildet av En Matrise, langs en 45-graders akse. Det er ganske enkelt å Få Transponere En Matrise. Den første kolonnen er Den Første raden I Matrisen Transponere og den andre kolonnen er Den andre raden I Matrisen Transponere. En M * n Matrise er transformert til en n * m Matrise. Også Aij-elementet i A er lik aji (transponere) – elementet. Bildet nedenfor illustrerer at:
sammendrag
i dette innlegget lærte du om matematiske objekter av lineær algebra som brukes i maskinlæring. Du lærte å multiplisere, dele, legge til og trekke fra disse matematiske objektene. Videre har du lært om De viktigste egenskapene Til Matriser og hvorfor De gjør oss i stand til å gjøre mer effektive beregninger. På toppen av det har du lært hva inverse Og transponere Matriser er og hva du kan gjøre med dem. Selv om det også er andre deler Av Lineær Algebra brukt I Maskinlæring, ga dette innlegget deg en riktig introduksjon til de viktigste konseptene.
Ressurser
Dyp Læring (bok) — Ian Goodfellow, Joshua Bengio, Aaron Courville
Andrew Ngs Maskinlæringskurs På Coursera
https://en.wikipedia.org/wiki/Linear_algebra
https://www.mathsisfun.com/algebra/scalar-vector-matrix.html
https://www.quantstart.com/articles/scalars-vectors-matrices-and-tensors-linear-algebra-for-deep-learning-part-1
https://www.aplustopper.com/understanding-scalar-vector-quantities/
dette innlegget ble opprinnelig publisert på bloggen min (https://machinelearning-blog.com).