Hellävarainen johdatus lineaarialgebraan

Twiittaa Jaa Jaa

Viimeisin päivitetty 9.8.2019

Mitä on lineaarialgebra?

Lineaarialgebra on matematiikan osa-alue, joka on yleisesti sovittu edellytykseksi koneoppimisen syvällisemmälle ymmärtämiselle.

Vaikka lineaarialgebra on laaja ala, jolla on monia esoteerisia teorioita ja havaintoja, alalta otetut pähkinänkuoriset työkalut ja merkinnät ovat käytännöllisiä koneoppimisen harjoittajille. Kun sinulla on vankka perusta siitä, mitä lineaarialgebra on, on mahdollista keskittyä vain hyviin tai olennaisiin osiin.

Tässä opetusohjelmassa saat selville, mitä lineaarialgebra tarkalleen ottaen on koneoppimisen näkökulmasta.

Tämän opetusohjelman suoritettuasi tiedät:

  • Lineaarialgebra on datan matematiikkaa.
  • Lineaarialgebralla on ollut huomattava vaikutus tilastotieteen alaan.
  • Lineaarialgebra on monien käytännöllisten matemaattisten työkalujen, kuten Fourier-sarjojen ja tietokonegrafiikan, perustana.

Käynnistä projektisi uudella kirjallani Linear Algebra for Machine Learning, joka sisältää vaiheittaiset opetusohjelmat ja Python-lähdekooditiedostot kaikille esimerkeille.

Aloitetaan.

A Gentle Introduction to Linear Algebra
Photo by Steve Corey, some rights reserved.

Oppikirjan yleiskatsaus

Tämä opetusohjelma on jaettu neljään osaan; ne ovat:

  1. Lineaarialgebra
  2. Numeerinen lineaarialgebra
  3. Lineaarialgebra ja tilastotiede
  4. Lineaarialgebran sovelluksia

Tarvitsetko apua koneoppimisen lineaarialgebrasta?

Osta nyt ilmainen 7 päivän sähköpostin pikakurssini (esimerkkikoodilla).

Klikkaa ilmoittautuaksesi ja saat myös kurssin ilmaisen PDF Ebook -version.

Lataa ILMAINEN minikurssisi

Lineaarialgebra

Lineaarialgebra on matematiikan haara, mutta totuus on, että lineaarialgebra on tietojen matematiikkaa. Matriisit ja vektorit ovat datan kieltä.

Lineaarialgebrassa on kyse lineaarisista yhdistelmistä. Eli aritmeettisten laskutoimitusten käyttäminen vektoreiksi kutsutuille numerosarakkeille ja matriisiksi kutsutuille numerosarjoille uusien numerosarakkeiden ja numerosarjojen luomiseksi. Lineaarialgebra on suorien ja tasojen, vektoriavaruuksien ja lineaaristen muunnosten edellyttämien kuvausten tutkimista.

Se on suhteellisen nuori tieteenala, joka alun perin formalisoitiin 1800-luvulla tuntemattomien löytämiseksi lineaaristen yhtälöiden järjestelmissä. Lineaarinen yhtälö on vain sarja termejä ja matemaattisia operaatioita, joissa jotkut termit ovat tuntemattomia; esim:

1
y = 4 * x + 1

Tämmöiset yhtälöt ovat lineaarisia siinä mielessä, että ne kuvaavat suoraa kahdella-kaksiulotteista kuvaajaa. Viiva syntyy, kun kytketään tuntemattomaan x:ään eri arvoja, jotta saadaan selville, mitä yhtälö tai malli tekee y:n arvolle.

Voidaan linjata samanmuotoinen yhtälösysteemi kahdella tai useammalla tuntemattomalla; esim:

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

Y:n arvojen sarakkeesta voidaan ottaa y:n arvojen sarakevektori yhtälön ulostulojen sarakevektoriksi. Kaksi liukulukuarvojen saraketta ovat datasarakkeita, vaikkapa a1 ja a2, ja ne voidaan ottaa matriisiksi A. Kaksi tuntematonta arvoa x1 ja x2 voidaan ottaa yhtälön kertoimiksi, ja ne muodostavat yhdessä ratkaistavan tuntemattomien vektorin b. Voimme kirjoittaa tämän kompaktisti käyttäen lineaarialgebran merkintätapaa seuraavasti:

1
y = A . b

Tämän muotoiset ongelmat ovat yleensä haastavia ratkaista, koska tuntemattomia on enemmän (tässä meillä on 2) kuin ratkaistavia yhtälöitä (tässä meillä on 3). Lisäksi usein ei ole olemassa yhtä ainoaa linjaa, joka tyydyttäisi kaikki yhtälöt virheettömästi. Järjestelmillä, jotka kuvaavat meitä usein kiinnostavia ongelmia (kuten lineaarinen regressio), voi olla ääretön määrä ratkaisuja.

Tämä antaa pienen maistiaisen juuri siitä lineaarialgebran ytimestä, joka kiinnostaa meitä koneoppimisen harjoittajia. Suuri osa lopuista operaatioista tähtää siihen, että tätä ongelmaa ja sen kaltaisia ongelmia on helpompi ymmärtää ja ratkaista.

Numeerinen lineaarialgebra

Lineaarialgebran soveltamista tietokoneissa kutsutaan usein numeeriseksi lineaarialgebraksi.

”Numeerinen” lineaarialgebra on todellisuudessa sovellettua lineaarialgebraa.

– Sivu ix, Numeerinen lineaarialgebra, 1997.

Se on muutakin kuin vain lineaarialgebran operaatioiden toteuttamista koodikirjastoissa; siihen kuuluu myös soveltavan matematiikan ongelmien huolellinen käsittely, kuten työskentely digitaalisten tietokoneiden rajallisella liukulukutarkkuudella.

Tietokoneet ovat hyviä suorittamaan lineaarialgebran laskutoimituksia, ja suuri osa nykyaikaisten koneoppimismenetelmien, kuten syväoppimisen (deep learning) riippuvaisuudesta grafiikkalaskentayksiköistä (Graphical Processing Units, GPU) johtuu niiden kyvystä laskea lineaarialgebran operaatiot nopeasti.

Vektori- ja matriisioperaatioiden tehokkaat toteutukset toteutettiin alun perin FORTRAN-ohjelmointikielellä 1970- ja 1980-luvuilla, ja paljon koodia tai näistä toteutuksista siirrettyä koodia on suuren osan nykyaikaisilla ohjelmointikielillä, kuten Pythonilla, suoritettavan lineaarialgebran taustalla.

Kolme suosittua avoimen lähdekoodin numeerista lineaarialgebraa sisältävää kirjastoa, jotka toteuttavat näitä funktioita, ovat:

  • Linear Algebra Package eli LAPACK.
  • Basic Linear Algebra Subprograms, eli BLAS (lineaarialgebrakirjastojen standardi).
  • Automatically Tuned Linear Algebra Software, eli ATLAS.

Usein, kun lasket lineaarialgebran operaatioita suoraan tai epäsuorasti korkeamman kertaluvun algoritmien välityksellä, koodisi uppoaa suurella todennäköisyydellä käyttämään jotakin näistä tai vastaavista lineaarialgebraa sisältävistä kirjastoista. Yhden tai useamman näistä taustalla olevista kirjastoista nimi saattaa olla sinulle tuttu, jos olet asentanut tai kääntänyt jonkin Pythonin numeerisista kirjastoista, kuten SciPy ja NumPy.

Lineaarialgebra ja tilastotiede

Lineaarialgebra on arvokas työkalu muilla matematiikan osa-alueilla, erityisesti tilastotieteessä.

Vakiintuneesti tilastotiedettä opiskelevien opiskelijoiden odotetaan nähneen vähintään yhden lukukauden verran lineaarialgebraa (tai soveltavaa algebraa) perustutkintotasolla.

– Sivu xv, Linear Algebra and Matrix Analysis for Statistics, 2014.

Lineaarialgebran vaikutus on tärkeä huomioida, kun otetaan huomioon molempien alojen perustavanlaatuinen suhde sovellettuun koneoppimiseen.

Joitakin selkeitä lineaarialgebran sormenjälkiä tilastotieteeseen ja tilastollisiin metodeihin ovat:

  • Vektori- ja matriisimerkintöjen käyttö erityisesti monimuuttujaisten tilastojen yhteydessä.
  • Ratkaisut pienimpiin neliöihin ja painotettuihin pienimpiin neliöihin, kuten lineaarista regressiota varten.
  • Aineistomatriisien keskiarvon ja varianssin estimaatit.
  • Kovarianssimatriisi, joka on avainasemassa multinomiaalisissa Gaussin jakaumissa.
  • Pääkomponenttianalyysi aineiston pelkistämistä varten, joka piirtää monia näistä tekijöistä yhteen.

Kuten näet, nykyaikainen tilastotiede ja data-analyysi, ainakin mitä tulee koneoppimisen harjoittajan intresseihin, ovat riippuvaisia lineaarialgebran ymmärryksestä ja työkaluista.

Lineaarialgebran sovellukset

Koska lineaarialgebra on datan matematiikkaa, lineaarialgebran työkaluja käytetään monilla aloilla.

Klassisessa kirjassaan aiheesta ”Introduction to Linear Algebra” (Johdatus lineaarialgebraan) Gilbert Strang tarjoaa luvun, joka on omistettu lineaarialgebran sovelluksille. Siinä hän esittelee erityisiä matemaattisia työkaluja, joiden juuret ovat lineaarialgebrassa. Lyhyesti ne ovat:

  • Matriisit tekniikassa, kuten jousilinja.
  • Graafit ja verkostot, kuten verkostojen analysointi.
  • Markovin matriisit, väestö ja taloustiede, kuten väestönkasvu.
  • Lineaarinen ohjelmointi, simplex-optimointimenetelmä.
  • Fourier-sarjat: Lineaarialgebra funktioille, jota käytetään laajalti signaalinkäsittelyssä.
  • Lineaarialgebra tilastotieteelle ja todennäköisyydelle, kuten pienimmät neliöt regressiossa.
  • Tietokonegrafiikka, kuten kuvien erilaiset translaatiot, uudelleenskaalaukset ja rotaatiot.

Muuten mielenkiintoinen lineaarialgebran sovellutus on se, että se on se matematiikkatyyppi, jota Albert Einstein käytti suhteellisuusteoriansa osissa. Erityisesti tensoreita ja tensorilaskentaa. Hän myös otti fysiikassa käyttöön uudenlaisen lineaarialgebran merkintätavan, jota kutsutaan Einsteinin merkintätavaksi eli Einsteinin summauskonventioksi.

Lineaarialgebran opetusohjelmat

Etsitkö apua lineaarialgebran alkuun, niin katso näitä opetusohjelmia:

  • Lineaarialgebra for Machine Learning (7-Day Mini-Course)
  • Linear Algebra Cheat Sheet for Machine Learning
  • Basics of Mathematical Notation for Machine Learning

Laajennukset

Tässä osiossa on lueteltu joitain ideoita tutoriaalin laajentamiseksi, joita voit halutessasi tutkia.

  • Etsikää kirjoista ja verkosta 5 lainausta, jotka määrittelevät lineaarialgebran alaa.
  • Etsikää ja listatkaa 5 muuta lineaarialgebran sovellusta tai käyttökohdetta todennäköisyyden ja tilastotieteen alalta.
  • Luettele ja kirjoita lyhyet määritelmät 10:lle termille, joita käytetään lineaarialgebran kuvauksessa.

Jos tutkit jotain näistä laajennuksista, haluaisin tietää siitä.

Lisälukemista

Tässä osiossa on lisää resursseja aiheesta, jos haluat syventyä.

Kirjat

  • Johdatus lineaarialgebraan, 2016.
  • Numeerinen lineaarialgebra, 1997.
  • Lineaarialgebra ja matriisianalyysi tilastotieteessä, 2014.

Artikkelit

  • Lineaarialgebra Wikipediassa
  • Lineaarialgebran kategoria Wikipediassa
  • Lineaarialgebran aihealueluettelo Wikipediassa
  • LAPACK Wikipediassa
  • Lineaarialgebran perusalaohjelmat Wikipediassa
  • Automaattisesti viritetty lineaarialgebraohjelmisto Wikipediassa
  • Einsteinin notaatio Wikipediassa
  • Yleisen suhteellisuusteorian matematiikka Wikipediassa
  • Lineaarialgebra koneoppimisessa

Yhteenveto

Tässä opetusohjelmassa, löysit lempeän johdannon lineaarialgebraan koneoppimisen näkökulmasta.

Kohtaisesti opit:

  • Lineaarialgebra on datan matematiikkaa.
  • Lineaarialgebralla on ollut huomattava vaikutus tilastotieteen alalla.
  • Lineaarialgebra on monien käytännön matemaattisten työkalujen, kuten Fourier-sarjojen ja tietokonegrafiikan, taustalla.

Onko sinulla kysyttävää?
Kysy kysymyksesi alla olevissa kommenteissa, niin teen parhaani vastatakseni.

Get a Handle on Linear Algebra for Machine Learning!

Develop a working understand of linear algebra

…kirjoittamalla rivejä koodia pythonissa

Tutustu siihen uudessa Ebookissani:
Lineaarialgebra for Machine Learning

Se tarjoaa itseopiskeluoppaita aiheista kuten:
Vektorinormit, matriisien monistaminen, tensorit, Eigendekompositio, SVD, PCA ja paljon muuta…

Ymmärrä vihdoinkin datan matemaattiset perusteet:

Lopeta akateemiset opinnot. Just Results.

See What’s Inside

Tweet Share Share Share

Vastaa

Sähköpostiosoitettasi ei julkaista.