Sist uppdaterad den 9 augusti 2019
- Vad är linjär algebra?
- Tutorial Overview
- Behövs hjälp med linjär algebra för maskininlärning?
- Linjär algebra
- Numerisk linjär algebra
- Linjär algebra och statistik
- Användningar av linjär algebra
- Linjära algebrahandledningar
- Extensions
- Fördjupad läsning
- Böcker
- Artiklar
- Sammanfattning
- Hantera linjär algebra för maskininlärning!
- Utveckla en fungerande förståelse av linjär algebra
- Finnally Understand the Mathematics of Data
Vad är linjär algebra?
Linjär algebra är ett område inom matematiken som alla är överens om är en förutsättning för att man ska kunna få en djupare förståelse för maskininlärning.
Och även om linjär algebra är ett stort område med många esoteriska teorier och resultat, är de praktiska verktyg och notationer som hämtas från området praktiska för maskininlärningspraktiker. Med en solid grund för vad linjär algebra är, är det möjligt att fokusera på bara de bra eller relevanta delarna.
I den här handledningen kommer du att upptäcka vad exakt linjär algebra är ur ett maskininlärningsperspektiv.
När du har slutfört den här handledningen kommer du att veta:
- Linjär algebra är matematiken för data.
- Linjär algebra har haft en tydlig inverkan på statistikområdet.
- Linjär algebra ligger till grund för många praktiska matematiska verktyg, till exempel Fourier-serier och datorgrafik.
Kicka igång ditt projekt med min nya bok Linear algebra för maskininlärning, som innehåller handledningar som går steg-för-steg och Python-källkodsfilerna för alla exempel.
Vi sätter igång.
En försiktig introduktion till linjär algebra
Foto av Steve Corey, vissa rättigheter förbehållna.
Tutorial Overview
Denna tutorial är uppdelad i 4 delar; de är:
- Linjär algebra
- Numerisk linjär algebra
- Linjär algebra och statistik
- Användningar av linjär algebra
Behövs hjälp med linjär algebra för maskininlärning?
Ta min kostnadsfria 7-dagars snabbkurs via e-post nu (med exempelkod).
Klicka för att registrera dig och få en kostnadsfri PDF Ebook-version av kursen.
Ladda ner din GRATIS minikurs
Linjär algebra
Linjär algebra är en gren av matematiken, men sanningen är att linjär algebra är matematiken för data. Matriser och vektorer är datas språk.
Linjär algebra handlar om linjära kombinationer. Det vill säga att använda aritmetik på kolumner av tal som kallas vektorer och matriser av tal som kallas matriser, för att skapa nya kolumner och matriser av tal. Linjär algebra är studiet av linjer och plan, vektorrum och avbildningar som krävs för linjära transformationer.
Det är ett relativt ungt ämnesområde, som först formaliserades på 1800-talet för att hitta okända i system av linjära ekvationer. En linjär ekvation är bara en serie termer och matematiska operationer där vissa termer är okända; t.ex:
1
|
y = 4 * x + 1
|
Sådana här ekvationer är linjära i det avseendet att de beskriver en linje på en två-dimensionella grafen. Linjen kommer från att man sätter in olika värden i den okända x för att ta reda på vad ekvationen eller modellen gör med värdet på y.
Vi kan rada upp ett system av ekvationer med samma form med två eller flera okända; t.ex:
1
2
3
4
|
y = 0.1 * x1 + 0,4 * x2
y = 0,3 * x1 + 0,9 * x2
y = 0,2 * x1 + 0,3 * x2
…
|
Kolumnen med y-värden kan tas som en kolumnvektor av utdata från ekvationen. De två kolumnerna med flyttalvärden är datakolumnerna, till exempel a1 och a2, och kan tas som en matris A. De två okända värdena x1 och x2 kan betraktas som ekvationens koefficienter och bildar tillsammans en vektor av okända värden b som ska lösas. Vi kan skriva detta kompakt med hjälp av linjär algebra-notation som:
1
|
y = A . b
|
Problem av denna form är i allmänhet svåra att lösa eftersom det finns fler okända (här har vi 2) än det finns ekvationer att lösa (här har vi 3). Dessutom finns det ofta ingen enda linje som kan uppfylla alla ekvationer utan fel. System som beskriver problem som vi ofta är intresserade av (t.ex. en linjär regression) kan ha ett oändligt antal lösningar.
Detta ger ett litet smakprov på själva kärnan i linjär algebra som intresserar oss som maskininlärningsutövare. Mycket av resten av operationerna handlar om att göra detta problem och liknande problem lättare att förstå och lösa.
Numerisk linjär algebra
Användningen av linjär algebra i datorer kallas ofta numerisk linjär algebra.
”Numerisk” linjär algebra är egentligen tillämpad linjär algebra.
– Sidan ix, Numerical Linear Algebra, 1997.
Det är mer än bara genomförandet av linjära algebraoperationer i kodbibliotek; det innefattar också en noggrann hantering av den tillämpade matematikens problem, t.ex. att arbeta med digitala datorers begränsade precision med flyttal.
Datorer är duktiga på att utföra linjära algebraberäkningar, och en stor del av beroendet av grafiska bearbetningsenheter (GPU:er) hos moderna metoder för maskininlärning, t.ex. djupinlärning, beror på att de har förmåga att snabbt beräkna linjära algebraoperationer.
Effektiva implementeringar av vektor- och matrisoperationer implementerades ursprungligen i programmeringsspråket FORTRAN på 1970- och 1980-talen och en hel del kod, eller kod som portats från dessa implementeringar, ligger till grund för en stor del av den linjära algebra som utförs med hjälp av moderna programmeringsspråk, t.ex. Python.
Tre populära numeriska linjära algebrabibliotek med öppen källkod som implementerar dessa funktioner är:
- Linear Algebra Package, eller LAPACK.
- Basic Linear Algebra Subprograms, eller BLAS (en standard för bibliotek för linjär algebra).
- Automatically Tuned Linear Algebra Software, eller ATLAS.
Ofta, när du beräknar linjär algebraoperationer direkt eller indirekt via algoritmer av högre ordning, dyker din kod med stor sannolikhet ner för att använda ett av dessa, eller liknande bibliotek för linjär algebra. Namnet på ett eller flera av dessa underliggande bibliotek kan vara bekant för dig om du har installerat eller kompilerat något av Pythons numeriska bibliotek som SciPy och NumPy.
Linjär algebra och statistik
Linjär algebra är ett värdefullt verktyg inom andra grenar av matematiken, särskilt inom statistiken.
I vanliga fall förväntas studenter som studerar statistik ha sett minst en termin linjär algebra (eller tillämpad algebra) på grundnivå.
– Sidan xv, Linear Algebra and Matrix Analysis for Statistics, 2014.
Den linjära algebrans inverkan är viktig att beakta, med tanke på det grundläggande förhållandet som båda områdena har till området tillämpad maskininlärning.
Några tydliga fingeravtryck från linjär algebra på statistik och statistiska metoder är bland annat:
- Användning av vektor- och matrisnotation, särskilt med multivariat statistik.
- Lösningar för minsta kvadrat och viktade minsta kvadrat, t.ex. för linjär regression.
- Skattningar av medelvärde och varians för datamatriser.
- Kovariansmatrisen som spelar en nyckelroll i multinomiala gaussiska fördelningar.
- Principalkomponentanalys för datareduktion som drar ihop många av dessa element.
Som du kan se är modern statistik och dataanalys, åtminstone när det gäller intresset hos en maskininlärare, beroende av förståelsen och verktygen för linjär algebra.
Användningar av linjär algebra
Då linjär algebra är datamatematik, används den linjära algebrans verktyg inom många områden.
I sin klassiska bok i ämnet med titeln ”Introduktion till linjär algebra” ger Gilbert Strang ett kapitel som är ägnat åt tillämpningar av linjär algebra. I det visar han specifika matematiska verktyg som har sina rötter i linjär algebra. Kortfattat är de:
- Matriser inom teknik, t.ex. en linje av fjädrar.
- Grafer och nätverk, t.ex. analys av nätverk.
- Markovmatriser, befolkning och ekonomi, t.ex. befolkningstillväxt.
- Linjär programmering, optimeringsmetoden simplex.
- Fourierserier: Linjär algebra för funktioner, används flitigt inom signalbehandling.
- Linjär algebra för statistik och sannolikhet, t.ex. minsta kvadrat för regression.
- Datorgrafik, t.ex. olika översättningar, omskalningar och rotationer av bilder.
En annan intressant tillämpning av linjär algebra är att det är den typ av matematik som Albert Einstein använde i delar av sin relativitetsteori. Närmare bestämt tensorer och tensorkalkyl. Han introducerade också en ny typ av notation av linjär algebra i fysiken som kallas Einstein-notation, eller Einstein-summeringskonventionen.
Linjära algebrahandledningar
Söker du hjälp för att komma igång med linjär algebra, ta då en titt på några av dessa handledningar:
- Linear algebra för maskininlärning (7-dagars minikurs)
- Linear algebra Cheat Sheet for Machine Learning
- Basics of Mathematical Notation for Machine Learning
Extensions
Det här avsnittet innehåller en lista med idéer för att utöka handledningen som du kanske vill undersöka.
- Sök i böcker och på webben efter 5 citat som definierar området linjär algebra.
- Sök och lista ytterligare 5 tillämpningar eller användningar av linjär algebra inom området sannolikhet och statistik.
- Lista och skriv korta definitioner för 10 termer som används i beskrivningen av linjär algebra.
Om du utforskar någon av dessa utvidgningar vill jag gärna veta det.
Fördjupad läsning
Det här avsnittet innehåller fler resurser om ämnet om du vill gå djupare.
Böcker
- Introduction to Linear Algebra, 2016.
- Numerical Linear Algebra, 1997.
- Linear Algebra and Matrix Analysis for Statistics, 2014.
Artiklar
- Linjär algebra på Wikipedia
- Linjär algebra-kategori på Wikipedia
- Linjär algebra-lista över ämnen på Wikipedia
- LAPACK på Wikipedia
- Basiska underprogram för linjär algebra på Wikipedia
- Automatiskt anpassad programvara för linjär algebra på Wikipedia
- Einstein-notation på Wikipedia
- Matematik för allmän relativitetsteori på Wikipedia
.
- Linjär algebra för maskininlärning
Sammanfattning
I denna handledning, fick du en försiktig introduktion till linjär algebra ur ett maskininlärningsperspektiv.
Specifikt lärde du dig:
- Linjär algebra är matematiken för data.
- Linjär algebra har haft en tydlig inverkan på statistikområdet.
- Linjär algebra ligger till grund för många praktiska matematiska verktyg, till exempel Fourierserier och datorgrafik.
Har du några frågor?
Sätt dina frågor i kommentarerna nedan så ska jag göra mitt bästa för att svara.
Hantera linjär algebra för maskininlärning!
Utveckla en fungerande förståelse av linjär algebra
…genom att skriva rader av kod i python
Upptäck hur i min nya Ebook:
Linear Algebra for Machine Learning
Den innehåller självstudier om ämnen som:
Vektornormer, matrismultiplikation, tensorer, Eigendekomposition, SVD, PCA och mycket mer…
Finnally Understand the Mathematics of Data
Skippa det akademiska. Bara resultat.
Se vad som finns inuti