Væsentlig lineær algebra til datavidenskab og maskinlæring

Kildeknude: 1852280

Billede af Benjamin O. Tayo.

Lineær algebra er en gren af ​​matematik, der er yderst nyttig i datavidenskab og maskinlæring. Lineær algebra er den vigtigste matematiske færdighed inden for maskinlæring. De fleste maskinlæringsmodeller kan udtrykkes i matrixform. Et datasæt i sig selv er ofte repræsenteret som en matrix. Lineær algebra bruges i dataforbehandling, datatransformation og modelevaluering. Her er de emner, du skal være bekendt med:

  • Vektorer
  • Matricer
  • Transponering af en matrix
  • Omvendt af en matrix
  • Determinant af en matrix
  • Spor af en matrix
  • Prik produkt
  • egenværdier
  • Egenvektorer

I denne artikel illustrerer vi anvendelsen af ​​lineær algebra i datavidenskab og maskinlæring ved hjælp af tech stocks dataset, som kan findes link..

1. Lineær algebra til dataforbehandling

 Vi begynder med at illustrere, hvordan lineær algebra bruges i dataforbehandling.

1.1 Importer nødvendige biblioteker til lineær algebra

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

 

1.2 Læs datasæt og vis funktioner

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

 Bordlampe 1. Aktiekurser for udvalgte aktiekurser for de første 16 dage i april 2021.

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

  data.form funktion gør det muligt for os at kende størrelsen af ​​vores datasæt. I dette tilfælde har datasættet 5 funktioner (dato, AAPL, TSLA, GOOGL og AMZN), og hver funktion har 11 observationer. Dato refererer til handelsdagene i april 2021 (op til 16. april). AAPL, TSLA, GOOGL og AMZN er slutaktiekurserne for henholdsvis Apple, Tesla, Google og Amazon.

1.3 Datavisualisering

For at udføre datavisualisering skal vi definere kolonnematricer for de funktioner, der skal visualiseres:

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

Figur 1. Tesla aktiekurs for de første 16 dage i april 2021.

2. Kovarians Matrix

kovariansmatrix er en af ​​de vigtigste matricer inden for datavidenskab og maskinlæring. Den giver information om sambevægelse (korrelation) mellem funktioner. Antag, at vi har en egenskabsmatrix med 4 funktioner og observationer som vist i Tabel 2:

Tabel 2. Indeholder matrix med 4 variable og n observationer.

For at visualisere korrelationerne mellem funktionerne kan vi generere et scatter-parplot:

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

Figur 2. Scatter-parplot for udvalgte teknologiaktier.

For at kvantificere graden af ​​korrelation mellem funktioner (multikollinearitet), kan vi beregne kovariansmatrixen ved hjælp af denne ligning:

hvor og er henholdsvis middelværdien og standardafvigelsen af ​​funktion . Denne ligning indikerer, at når funktioner er standardiserede, er kovariansmatrixen simpelthen prik produkt mellem funktioner.

I matrixform kan kovariansmatrixen udtrykkes som en 4 x 4 reel og symmetrisk matrix:

Denne matrix kan diagonaliseres ved at udføre en enhedstransformation, også omtalt som Principal Component Analysis (PCA) transformation, for at opnå følgende:

Eftersom spor af en matrix forbliver invariant under en enhedstransformation, observerer vi, at summen af ​​egenværdierne af den diagonale matrix er lig med den totale varians indeholdt i træk X1, X2, X3og X4.

2.1 Beregning af kovariansmatricen for teknologiaktier

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) 

Bemærk, at denne bruger omsætte af den standardiserede matrix.

2.2 Visualisering af kovariansmatrix

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('Kovariansmatrix viser korrelationskoefficienter') plt.tight_layout() plt.show() 

Figur 3. Kovarians matrix plot for udvalgte teknologiaktier.

Vi observerer fra figur 3, at AAPL korrelerer stærkt med GOOGL og AMZN og svagt med TSLA. TSLA korrelerer generelt svagt med AAPL, GOOGL og AMZN, mens AAPL, GOOGL og AMZN korrelerer stærkt indbyrdes.

2.3 Beregn egenværdier af kovariansmatrixen

NP.LinalG.EigVals (COV_MAT) output = Array ([3.41582227, 0.4527295, 0.02045092, 0.11099732]) NP.SUM (NP.LINGN.EIGVALS (COV_MAT) OUTPUT = 4.000000000000006 NP.TRACE (COV_MAT) output = 4.000000000000001 

Vi observerer, at sporet af kovariansmatrixen er lig med summen af ​​egenværdierne som forventet.

2.4 Beregn den kumulative varians

Da sporet af en matrix forbliver invariant under en enhedstransformation, observerer vi, at summen af ​​egenværdierne af den diagonale matrix er lig med den totale varians indeholdt i træk X1, X2, X3og X4. Derfor kan vi definere følgende mængder:

 

Læg mærke til, hvornår p = 4, bliver den kumulative varians lig med 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) 1.0 output = . 

 Vi observerer fra den kumulative varians (cum_var) at 85 % af variansen er indeholdt i den første egenværdi og 11 % i den anden. Dette betyder, at når PCA er implementeret, kan kun de to første hovedkomponenter bruges, da 97 % af den samlede varians er bidraget af disse 2 komponenter. Dette kan i det væsentlige reducere funktionsrummets dimensionsmæssigt fra 4 til 2, når PCA er implementeret.

3. Lineær regressionsmatrix

Antag, at vi har et datasæt, der har 4 prædiktorfunktioner og n observationer, som vist nedenfor.

Tabel 3. Indeholder matrix med 4 variable og n observationer. Kolonne 5 er målvariablen (y).

Vi vil gerne bygge en multi-regressionsmodel til at forudsige y værdier (kolonne 5). Vores model kan således udtrykkes i formen

På matrixform kan denne ligning skrives som

hvor X er ( nx 4) egenskabsmatrix, w er (4 x 1) matrixen, der repræsenterer de regressionskoefficienter, der skal bestemmes, og y er (nx 1) matrixen indeholdende de n observationer af målvariablen y.

Bemærk, at X er en rektangulær matrix, så vi kan ikke løse ovenstående ligning ved at tage det omvendte af X.

Hvis du vil konvertere X til en kvadratisk matrix multiplicerer vi venstre side og højre side af vores ligning med omsætte of X, det er

Denne ligning kan også udtrykkes som

hvor

er (4×4) regressionsmatricen. Det er klart, at vi observerer det R er en reel og symmetrisk matrix. Bemærk, at i lineær algebra overholder transponeringen af ​​produktet af to matricer følgende forhold

Nu hvor vi har reduceret vores regressionsproblem og udtrykt det i form af den (4×4) reelle, symmetriske og inverterbare regressionsmatrix R, er det ligetil at vise, at den nøjagtige løsning af regressionsligningen er derefter

Eksempler på regressionsanalyse til forudsigelse af kontinuerte og diskrete variable er givet i det følgende:

Grundlæggende om lineær regression for absolutte begyndere

Opbygning af en perceptronklassifikator ved hjælp af mindste kvadraters metode

4. Lineær Diskriminant Analyse Matrix

Et andet eksempel på en reel og symmetrisk matrix inden for datavidenskab er den Linear Discriminant Analysis (LDA) matrix. Denne matrix kan udtrykkes i formen:

hvor SW er scatter-matrixen inden for træk, og Ser spredningsmatrixen mellem funktioner. Da begge matricer SW , SB er reelle og symmetriske, følger det L er også ægte og symmetrisk. Diagonaliseringen af L producerer et funktionsunderrum, der optimerer klassens adskillelighed og reducerer dimensionalitet. Derfor er LDA en overvåget algoritme, mens PCA ikke er det.

For flere detaljer om implementeringen af ​​LDA, se venligst følgende referencer:

Machine Learning: Dimensionalitetsreduktion via lineær diskriminantanalyse

GitHub-lager til LDA-implementering ved hjælp af Iris-datasæt

Python Machine Learning af Sebastian Raschka, 3. udgave (kapitel 5)

Resumé

Sammenfattende har vi diskuteret adskillige anvendelser af lineær algebra inden for datavidenskab og maskinlæring. Ved hjælp af datasættet for teknologiske aktier illustrerede vi vigtige begreber såsom størrelsen af ​​en matrix, søjlematricer, kvadratmatricer, kovariansmatrix, transponering af en matrix, egenværdier, prikprodukter osv. Lineær algebra er et væsentligt værktøj inden for datavidenskab og maskine læring. Således skal begyndere, der er interesseret i datavidenskab, sætte sig ind i væsentlige begreber i lineær algebra.

Relateret:

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

Tidsstempel:

Mere fra KDnuggets