Kuva Benjamin O. Tayo.
Lineaarinen algebra on matematiikan ala, joka on erittäin hyödyllinen datatieteessä ja koneoppimisessa. Lineaarinen algebra on tärkein matemaattinen taito koneoppimisessa. Suurin osa koneoppimismalleista voidaan ilmaista matriisimuodossa. Itse datajoukko on usein esitetty matriisina. Lineaarista algebraa käytetään tietojen esikäsittelyssä, tiedonmuunnoksessa ja mallin arvioinnissa. Tässä on aiheita, jotka sinun on tunnettava:
- vektorit
- matriisit
- Transponoi matriisi
- Käänteinen matriisi
- Matriisin determinantti
- Matriisin jäljitys
- Pistetuote
- ominaisarvot
- Ominaisvektorit
Tässä artikkelissa havainnollistetaan lineaarisen algebran soveltamista datatieteessä ja koneoppimisessa käyttämällä teknisten varastojen tietojoukkoa, joka löytyy tätä.
1. Lineaarinen algebra tietojen esikäsittelyä varten
Aloitamme havainnollistamalla, kuinka lineaarista algebraa käytetään tietojen esikäsittelyssä.
1.1 Tuo tarvittavat kirjastot lineaariselle algebralle
tuonti numero kuten np tuonti pandat as pd tuonti pylab tuonti matplotlib.pyplot as plt tuonti merenpoika kuin sns
1.2 Lue tietoaineisto ja näyttöominaisuudet
data = pd.read_csv ("tech-stocks-04-2021.csv") data.head ()
Pöytä 1. Valittujen osakekurssien hinnat ensimmäisten 16 päivän ajalta huhtikuussa 2021.
tulosta (data.shape) tulos = (11,5)
- data.shape -toiminnon avulla voimme tietää tietojoukkomme koon. Tässä tapauksessa tietojoukolla on 5 ominaisuutta (päivämäärä, AAPL, TSLA, GOOGL ja AMZN), ja jokaisella ominaisuudella on 11 havaintoa. Päivämäärä viittaa kaupankäyntipäiviin huhtikuussa 2021 (16. huhtikuuta saakka). AAPL, TSLA, GOOGL ja AMZN ovat Applen, Teslan, Googlen ja Amazonin päätöskurssit.
1.3 Tietojen visualisointi
Tietojen visualisoinnin suorittamiseksi meidän on määriteltävä sarakematriisit visualisoitavien ominaisuuksien osalta:
x = data ['päivämäärä'] y = data ['TSLA'] plt.plot (x, y) plt.xticks (np.array ([0,4,9]), ['1. huhtikuuta', '8. huhtikuuta ',' 15.]]) Plt.title ('Teslan osakekurssi (dollareina) huhtikuulle 2021', koko = 14) plt.show ()
Kuva 1. Teslan osakekurssi ensimmäisiltä 16 päivältä huhtikuussa 2021.
2. Kovarianssimatriisi
- kovarianssimatriisi on yksi tärkeimmistä matriiseista datatieteessä ja koneoppimisessa. Se tarjoaa tietoa ominaisuuksien välisestä yhteisliikkeestä (korrelaatiosta). Oletetaan, että meillä on ominaisuusmatriisi 4 ominaisuudet ja n havainnot, jotka on esitetty kohdassa Taulukko 2:
Taulukko 2. Sisältää matriisin, jossa on 4 muuttujaa ja n havaintoa.
Ominaisuuksien välisten korrelaatioiden visualisoimiseksi voimme luoda sirontapariskuvan:
cols = data.columns [1: 5] print (cols) output = Hakemisto (['AAPL', 'TSLA', 'GOOGL', 'AMZN'], dtype = 'object') sns.pairplot (data [cols] , korkeus = 3.0)
Kuva 2. Hajota pariliitos valitulle teknologiakannalle.
Ominaisuuksien välisen korrelaation määrän (monikollineaarisuus) kvantifioimiseksi voimme laskea kovarianssimatriisin käyttämällä tätä yhtälöä:
missä ja ovat ominaisuuden keskiarvo ja keskihajonta. Tämä yhtälö osoittaa, että kun ominaisuudet standardoidaan, kovarianssimatriisi on yksinkertaisesti pistetuote ominaisuuksien välillä.
Matriisimuodossa kovarianssimatriisi voidaan ilmaista 4 x 4 todellisena ja symmetrisenä matriisina:
Tämä matriisi voidaan diagonalisoida suorittamalla a yhtenäinen muutos, jota kutsutaan myös pääkomponenttianalyysin (PCA) muunnokseksi, saadakseen seuraavat:
Koska matriisin jälki pysyy muuttumattomana yhtenäisen muunnoksen aikana, havaitsemme, että diagonaalimatriisin ominaisarvojen summa on yhtä suuri kuin ominaisuuksien X sisältämä kokonaisvarianssi1, X2, X3ja X4.
2.1 Kovarianssimatriisin laskeminen teknisten osakkeiden osalta
sklearn.preprocessing-tuonnista StandardScaler stdsc = StandardScaler () X_std = stdsc.fit_transform (data [cols] .iloc [:, range (0,4)]. arvot) cov_mat = np.cov (X_std.T, bias = True)
Huomaa, että tässä käytetään osaksi kansallista lainsäädäntöä standardoidun matriisin.
2.2 Kovarianssimatriisin visualisointi
plt.figure (figsize = (8,8)) sns.set (font_scale = 1.2) hm = sns.heatmap (cov_mat, cbar = True, annot = True, square = True, fmt = '. 2f', annot_kws = { 'koko': 12}, yticklabels = cols, xticklabels = cols) plt.title ('Kovarianssimatriisi, joka näyttää korrelaatiokertoimet') plt.tight_layout () plt.show ()
Kuva 3. Kovarianssimatriisikaavio valitulle teknologiakannalle.
Kuvasta 3 havaitaan, että AAPL korreloi voimakkaasti GOOGL: n ja AMZN: n kanssa ja heikosti TSLA: n kanssa. TSLA korreloi yleensä heikosti AAPL: n, GOOGL: n ja AMZN: n kanssa, kun taas AAPL, GOOGL ja AMZN korreloivat voimakkaasti keskenään.
2.3 Laske kovarianssimatriisin ominaisarvot
np.linalg.eigvals (cov_mat) output = taulukko ([3.41582227, 0.4527295, 0.02045092, 0.11099732]) np.sum (np.linalg.eigvals (cov_mat)) output = 4.000000000000006 np.trace (cov_mat) output = 4.000000000000001
Huomaamme, että kovarianssimatriisin jälki on yhtä suuri kuin ominaisarvojen summa odotetusti.
2.4 Laske kumulatiivinen varianssi
Koska matriisin jälki pysyy muuttumattomana yhtenäisen muunnoksen aikana, havaitsemme, että diagonaalimatriisin ominaisarvojen summa on yhtä suuri kuin ominaisuuksien X sisältämä varianssi1, X2, X3ja X4. Siksi voimme määritellä seuraavat määrät:
Huomaa, että kun p = 4, kumulatiivisesta varianssista tulee yhtä kuin yksi odotetusti.
eigen = np.linalg.eigvals (cov_mat) cum_var = eigen / np.sum (eigen) print (cum_var) output = [0.85395557 0.11318237 0.00511273 0.02774933] print (np.sum (cum_var)) tulos = 1.0
Havaitsemme kumulatiivisesta varianssista (cum_var) että 85% varianssista sisältyy ensimmäiseen ominaisarvoon ja 11% toiseen. Tämä tarkoittaa, että kun PCA otetaan käyttöön, vain kahta ensimmäistä pääkomponenttia voitiin käyttää, koska nämä 97 komponenttia vaikuttavat 2 prosenttiin kokonaisvarianssista. Tämä voi olennaisesti vähentää ominaisuusalueen ulottuvuutta 4: stä 2: een, kun PCA toteutetaan.
3. Lineaarinen regressiomatriisi
Oletetaan, että meillä on tietojoukko, jolla on 4 ennustinominaisuutta ja n havaintoja, kuten alla on esitetty.
Taulukko 3. Sisältää matriisin, jossa on 4 muuttujaa ja n havaintoa. Sarake 5 on kohdemuuttuja (y).
Haluamme rakentaa moniregressiomallin y arvot (sarake 5). Mallimme voidaan siten ilmaista muodossa
Matriisimuodossa tämä yhtälö voidaan kirjoittaa muodossa
jossa X on (nx 4) ominaisuusmatriisi, w on (4 x 1) matriisi, joka edustaa määritettäviä regressiokertoimia, ja y on (nx 1) matriisi, joka sisältää kohdemuuttujan y n havaintoa.
Huomaa, että X on suorakulmainen matriisi, joten emme voi ratkaista yllä olevaa yhtälöä ottamalla käänteinen X.
Muuntaa X neliömatriisiksi, moninkertaistamme yhtälömme vasemman ja oikean puolen osaksi kansallista lainsäädäntöä of X, tuo on
Tämä yhtälö voidaan myös ilmaista
jossa
on (4 × 4) regressiomatriisi. Selvästi havaitsemme sen R on todellinen ja symmetrinen matriisi. Huomaa, että lineaarisessa algebrassa kahden matriisin tuloksen transponointi noudattaa seuraavaa suhdetta
Nyt kun olemme vähentäneet regressio-ongelmaa ja ilmaisseet sen reaalisen, symmetrisen ja käänteisen regressiomatriisin (4 × 4) muodossa R, on suoraviivaista osoittaa, että regressioyhtälön tarkka ratkaisu on silloin
Seuraavassa on esimerkkejä regressioanalyysistä jatkuvien ja diskreettien muuttujien ennustamiseksi:
Lineaarisen regressio-perusteet ehdottomille aloittelijoille
Perceptron-luokittelijan rakentaminen käyttämällä pienimmän neliösumman menetelmää
4. Lineaarinen diskriminanttianalyysi
Toinen esimerkki todellisesta ja symmetrisestä matriisista datatieteessä on Linear Discriminant Analysis (LDA) -matriisi. Tämä matriisi voidaan ilmaista muodossa:
jossa SW on ominaisuuden sisäinen sirontamatriisi ja SB on ominaisuuksien välinen sirontamatriisi. Koska molemmat matriisit SW ja SB ovat todellisia ja symmetrisiä, tästä seuraa L on myös todellinen ja symmetrinen. Lävistäjä L tuottaa ominaisuuden alatilan, joka optimoi luokan erotettavuuden ja vähentää ulottuvuutta. Siksi LDA on valvottu algoritmi, kun taas PCA ei.
Lisätietoja LDA: n toteuttamisesta on seuraavissa viitteissä:
Koneoppiminen: ulottuvuuden vähentäminen lineaarisen erotteluanalyysin avulla
GitHub-arkisto LDA-käyttöönottoa varten Iris-tietojoukolla
Python-koneoppiminen, kirjoittanut Sebastian Raschka, 3. painos (luku 5)
Yhteenveto
Yhteenvetona olemme keskustelleet useista lineaarisen algebran sovelluksista datatieteessä ja koneoppimisessa. Teknisten varastojen tietojoukon avulla havainnollistimme tärkeitä käsitteitä, kuten matriisin koko, sarakematriisit, neliömatriisit, kovarianssimatriisi, matriisin siirtäminen, ominaisarvot, pistetuotteet jne. Lineaarinen algebra on olennainen työkalu datatieteessä ja koneessa oppiminen. Tietotieteestä kiinnostuneiden aloittelijoiden on siis perehdyttävä lineaarisen algebran keskeisiin käsitteisiin.
Related:
Lähde: https://www.kdnuggets.com/2021/05/essential-linear-algebra-data-science-machine-learning.html
- 11
- 2021
- 7
- 77
- 84
- 9
- absoluuttinen
- algoritmi
- Amazon
- keskuudessa
- analyysi
- omena
- Hakemus
- sovellukset
- huhtikuu
- artikkeli
- Perusasiat
- rakentaa
- Sarake
- komponentti
- Laskea
- tietojenkäsittely
- osaltaan
- tiedot
- tietojenkäsittely
- datan visualisointi
- dollaria
- jne.
- Ominaisuus
- Ominaisuudet
- Kuva
- Etunimi
- muoto
- toiminto
- tätä
- Miten
- HTTPS
- tiedot
- IT
- oppiminen
- koneoppiminen
- matematiikka
- matematiikka
- malli
- Muut
- hinta
- Tuotteet
- Tuotteemme
- vähentää
- regressio
- tiede
- valittu
- Koko
- So
- SOLVE
- Tila
- neliö
- Varastossa
- Osakkeet
- Kohde
- teknologia
- Tesla
- Teslan osake
- Aiheet
- kaupankäynti
- Muutos
- us
- visualisointi
- X