Essensiell lineær algebra for datavitenskap og maskinlæring

Kilde node: 1852280

Bilde av Benjamin O. Tayo.

Lineær algebra er en gren av matematikk som er ekstremt nyttig innen datavitenskap og maskinlæring. Lineær algebra er den viktigste matematiske ferdigheten i maskinlæring. De fleste maskinlæringsmodeller kan uttrykkes i matriseform. Et datasett i seg selv er ofte representert som en matrise. Lineær algebra brukes i dataforbehandling, datatransformasjon og modellevaluering. Her er emnene du trenger å være kjent med:

  • vektorer
  • matriser
  • Transponere en matrise
  • Invers av en matrise
  • Determinant av en matrise
  • Spor av en matrise
  • Prikkprodukt
  • egenverdier
  • Egenvektorer

I denne artikkelen illustrerer vi bruken av lineær algebra i datavitenskap og maskinlæring ved å bruke datasettet for tekniske aksjer, som kan finnes her..

1. Lineær algebra for dataforbehandling

 Vi begynner med å illustrere hvordan lineær algebra brukes i dataforbehandling.

1.1 Importer nødvendige biblioteker for lineær algebra

import numpy as np import pandaer som pd import pylab import matplotlib.pyplot as plt import seaborn as sns 

 

1.2 Les datasett og vis funksjoner

data = pd.read_csv("tech-stocks-04-2021.csv") data.head() 

 Bord 1. Aksjekurser for utvalgte aksjekurser de første 16 dagene i april 2021.

print(data.shape) output = (11,5) 

 De data.form funksjonen lar oss vite størrelsen på datasettet vårt. I dette tilfellet har datasettet 5 funksjoner (dato, AAPL, TSLA, GOOGL og AMZN), og hver funksjon har 11 observasjoner. Dato refererer til handelsdagene i april 2021 (frem til 16. april). AAPL, TSLA, GOOGL og AMZN er sluttaksjekursene for henholdsvis Apple, Tesla, Google og Amazon.

1.3 Datavisualisering

For å utføre datavisualisering, må vi definere kolonnematriser for funksjonene som skal visualiseres:

x = data['dato'] y = data['TSLA'] plt.plot(x,y) plt.xticks(np.array([0,4,9]), ['1. april','8. april ','15. april']) plt.title('Tesla-aksjekurs (i dollar) for april 2021',size=14) plt.show() 

Figur 1. Tesla-aksjekurs for de første 16 dagene i april 2021.

2. Kovariansmatrise

De samvariasjonsmatrise er en av de viktigste matrisene innen datavitenskap og maskinlæring. Den gir informasjon om sambevegelse (korrelasjon) mellom funksjoner. Anta at vi har en funksjonsmatrise med 4 Funksjoner og observasjoner som vist i Tabell 2:

Tabell 2. Har matrise med 4 variabler og n observasjoner.

For å visualisere korrelasjonene mellom funksjonene, kan vi generere et scatter-parplott:

cols=data.columns[1:5] print(cols) output = Index(['AAPL', 'TSLA', 'GOOGL', 'AMZN'], dtype='object') sns.pairplot(data[cols] , høyde=3.0) 

Figur 2. Scatter-parplott for utvalgte teknologiaksjer.

For å kvantifisere graden av korrelasjon mellom funksjoner (multikollinearitet), kan vi beregne kovariansmatrisen ved å bruke denne ligningen:

hvor og er henholdsvis gjennomsnittet og standardavviket for funksjonen. Denne ligningen indikerer at når funksjoner er standardisert, er kovariansmatrisen ganske enkelt prikkprodukt mellom funksjoner.

I matriseform kan kovariansmatrisen uttrykkes som en 4 x 4 reell og symmetrisk matrise:

Denne matrisen kan diagonaliseres ved å utføre en enhetlig transformasjon, også referert til som Principal Component Analysis (PCA) transformasjon, for å oppnå følgende:

Siden spor av en matrise forblir invariant under en enhetlig transformasjon, observerer vi at summen av egenverdiene til den diagonale matrisen er lik den totale variansen i trekk X1, X2, X3, og X4.

2.1 Beregning av kovariansmatrisen for teknologiaksjer

fra sklearn.preprocessing import StandardScaler stdsc = StandardScaler() X_std = stdsc.fit_transform(data[cols].iloc[:,range(0,4)].values) cov_mat = np.cov(X_std.T, bias= True) 

Merk at denne bruker transponere av den standardiserte matrisen.

2.2 Visualisering av kovariansmatrise

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={ 'størrelse': 12}, yticklabels=cols, xticklabels=cols) plt.title('Kovariansmatrise som viser korrelasjonskoeffisienter') plt.tight_layout() plt.show() 

Figur 3. Kovariansmatriseplott for utvalgte teknologiaksjer.

Vi ser fra figur 3 at AAPL korrelerer sterkt med GOOGL og AMZN, og svakt med TSLA. TSLA korrelerer generelt svakt med AAPL, GOOGL og AMZN, mens AAPL, GOOGL og AMZN korrelerer sterkt mellom hverandre.

2.3 Beregn egenverdier til kovariansmatrisen

NP.LINGG.EIGVALS (COV_MAT) OUTPUT = Array ([3.41582227, 0.4527295, 0.02045092, 0.11099732]) NP.SUM (NEDPLE4.000000000000006 NP. 

Vi observerer at sporet til kovariansmatrisen er lik summen av egenverdiene som forventet.

2.4 Beregn den kumulative variansen

Siden sporet til en matrise forblir invariant under en enhetlig transformasjon, observerer vi at summen av egenverdiene til den diagonale matrisen er lik den totale variansen i funksjoner X1, X2, X3, og X4. Derfor kan vi definere følgende mengder:

 

Legg merke til at når p = 4, blir den kumulative variansen lik 1 som forventet.

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) 

 Vi observerer fra den kumulative variansen (cum_var) at 85 % av variansen er inneholdt i den første egenverdien og 11 % i den andre. Dette betyr at når PCA er implementert, kan bare de to første hovedkomponentene brukes, siden 97 % av den totale variansen er bidratt av disse 2 komponentene. Dette kan i hovedsak redusere dimensjonen til funksjonsrommet fra 4 til 2 når PCA er implementert.

3. Lineær regresjonsmatrise

Anta at vi har et datasett som har 4 prediktorfunksjoner og n observasjoner, som vist nedenfor.

Tabell 3. Har matrise med 4 variabler og n observasjoner. Kolonne 5 er målvariabelen (y).

Vi ønsker å bygge en multiregresjonsmodell for å forutsi y verdier (kolonne 5). Vår modell kan dermed uttrykkes i formen

På matriseform kan denne ligningen skrives som

hvor X er ( nx 4) funksjonsmatrisen, w er (4 x 1) matrisen som representerer regresjonskoeffisientene som skal bestemmes, og y er (nx 1) matrisen som inneholder de n observasjonene av målvariabelen y.

Legg merke til at X er en rektangulær matrise, så vi kan ikke løse ligningen ovenfor ved å ta inversen av X.

Å konvertere X til en kvadratisk matrise multipliserer vi venstre og høyre side av ligningen vår med transponere of X, det er

Denne ligningen kan også uttrykkes som

hvor

er (4×4) regresjonsmatrisen. Det er klart vi observerer det R er en ekte og symmetrisk matrise. Legg merke til at i lineær algebra følger transponeringen av produktet av to matriser følgende forhold

Nå som vi har redusert regresjonsproblemet vårt og uttrykt det i form av den (4×4) reelle, symmetriske og inverterbare regresjonsmatrisen R, er det enkelt å vise at den eksakte løsningen av regresjonsligningen er da

Eksempler på regresjonsanalyse for å forutsi kontinuerlige og diskrete variabler er gitt i det følgende:

Grunnleggende lineær regresjon for absolutt nybegynnere

Bygge en perceptronklassifiser ved å bruke minste kvadraters metode

4. Matrise for lineær diskriminering

Et annet eksempel på en reell og symmetrisk matrise innen datavitenskap er matrisen Linear Discriminant Analysis (LDA). Denne matrisen kan uttrykkes i formen:

hvor SW er spredningsmatrisen innenfor funksjonen, og Ser spredningsmatrisen mellom funksjoner. Siden begge matrisene SW og SB er ekte og symmetriske, følger det L er også ekte og symmetrisk. Diagonaliseringen av L produserer et funksjonsunderrom som optimerer klasseseparbarhet og reduserer dimensjonalitet. Derfor er LDA en overvåket algoritme, mens PCA ikke er det.

For mer informasjon om implementeringen av LDA, se følgende referanser:

Maskinlæring: Dimensjonsreduksjon via lineær diskrimineringsanalyse

GitHub-depot for LDA-implementering ved bruk av Iris-datasett

Python Machine Learning av Sebastian Raschka, 3. utgave (kapittel 5)

Oppsummering

Oppsummert har vi diskutert flere anvendelser av lineær algebra innen datavitenskap og maskinlæring. Ved å bruke datasettet for teknologiske aksjer illustrerte vi viktige konsepter som størrelsen på en matrise, kolonnematriser, kvadratmatriser, kovariansmatrise, transponering av en matrise, egenverdier, punktprodukter osv. Lineær algebra er et viktig verktøy innen datavitenskap og maskin. læring. Dermed må nybegynnere som er interessert i datavitenskap gjøre seg kjent med essensielle begreper i lineær algebra.

Relatert:

Kilde: https://www.kdnuggets.com/2021/05/essential-linear-algebra-data-science-machine-learning.html

Tidstempel:

Mer fra KDnuggets