Grundlegende lineare Algebra für Data Science und maschinelles Lernen

Quellknoten: 1852280

Bild von Benjamin O. Tayo.

Die lineare Algebra ist ein Zweig der Mathematik, der in der Datenwissenschaft und beim maschinellen Lernen äußerst nützlich ist. Lineare Algebra ist die wichtigste mathematische Fähigkeit beim maschinellen Lernen. Die meisten Modelle des maschinellen Lernens können in Matrixform ausgedrückt werden. Ein Datensatz selbst wird häufig als Matrix dargestellt. Lineare Algebra wird bei der Datenvorverarbeitung, Datentransformation und Modellbewertung verwendet. Hier sind die Themen, mit denen Sie vertraut sein müssen:

  • Vektoren
  • Matrizen
  • Transponieren einer Matrix
  • Inverse einer Matrix
  • Determinante einer Matrix
  • Spur einer Matrix
  • Skalarprodukt
  • Eigenwerte
  • Eigenvektoren

In diesem Artikel veranschaulichen wir die Anwendung der linearen Algebra in der Datenwissenschaft und im maschinellen Lernen anhand des verfügbaren Datensatzes zu Technologieaktien hier.

1. Lineare Algebra für die Datenvorverarbeitung

 Wir beginnen mit der Veranschaulichung, wie lineare Algebra bei der Datenvorverarbeitung verwendet wird.

1.1 Importieren Sie die erforderlichen Bibliotheken für die lineare Algebra

numpy als np importieren, Pandas als pd importieren, pylab importieren, matplotlib.pyplot als plt importieren, Seaborn als sns importieren 

 

1.2 Datensatz lesen und Funktionen anzeigen

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

 Tisch 1. Aktienkurse für ausgewählte Aktienkurse für die ersten 16 Tage im April 2021.

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

 Das data.shape Mit dieser Funktion können wir die Größe unseres Datensatzes ermitteln. In diesem Fall verfügt der Datensatz über 5 Features (Datum, AAPL, TSLA, GOOGL und AMZN) und jedes Feature verfügt über 11 Beobachtungen. Datum bezieht sich auf die Handelstage im April 2021 (bis 16. April). AAPL, TSLA, GOOGL und AMZN sind die Schlusskurse der Aktien von Apple, Tesla, Google und Amazon.

1.3 Datenvisualisierung

Um eine Datenvisualisierung durchzuführen, müssten wir definieren Spaltenmatrizen für die zu visualisierenden Features:

x = data['date'] y = data['TSLA'] plt.plot(x,y) plt.xticks(np.array([0,4,9]), ['Apr 1','Apr 8 ','Apr 15']) plt.title('Tesla-Aktienkurs (in Dollar) für April 2021',size=14) plt.show() 

Abbildung 1. Tesla-Aktienkurs für die ersten 16 Tage im April 2021.

2. Kovarianzmatrix

Das Kovarianzmatrix ist eine der wichtigsten Matrizen in der Datenwissenschaft und im maschinellen Lernen. Es liefert Informationen über die gemeinsame Bewegung (Korrelation) zwischen Features. Angenommen, wir haben eine Merkmalsmatrix mit 4 Eigenschaften und Beobachtungen wie in gezeigt Tabelle 2:

Tabelle 2. Merkmalsmatrix mit 4 Variablen und n Beobachtungen.

Um die Korrelationen zwischen den Merkmalen zu visualisieren, können wir ein Streupaardiagramm erstellen:

cols=data.columns[1:5] print(cols) Output = Index(['AAPL', 'TSLA', 'GOOGL', 'AMZN'], dtype='object') sns.pairplot(data[cols] , Höhe=3.0) 

Figure 2. Streupaardiagramm für ausgewählte Technologieaktien.

Um den Grad der Korrelation zwischen Merkmalen (Multikollinearität) zu quantifizieren, können wir die Kovarianzmatrix mithilfe dieser Gleichung berechnen:

wobei und der Mittelwert bzw. die Standardabweichung von feature sind. Diese Gleichung zeigt an, dass bei der Standardisierung von Merkmalen die Kovarianzmatrix einfach die ist Skalarprodukt zwischen Merkmalen.

In Matrixform kann die Kovarianzmatrix als 4 x 4 reelle und symmetrische Matrix ausgedrückt werden:

Diese Matrix kann durch Ausführen von a diagonalisiert werden Einheitstransformation, auch als PCA-Transformation (Principal Component Analysis) bezeichnet, um Folgendes zu erhalten:

Da der Spur einer Matrix unter einer einheitlichen Transformation invariant bleibt, beobachten wir, dass die Summe der Eigenwerte der Diagonalmatrix gleich der in den Merkmalen X enthaltenen Gesamtvarianz ist1, X2, X3und X4.

2.1 Berechnung der Kovarianzmatrix für Technologieaktien

aus sklearn.preprocessing import StandardScaler stdsc = StandardScaler() 

Beachten Sie, dass dies die transponieren der standardisierten Matrix.

2.2 Visualisierung der Kovarianzmatrix

plt.figure(figsize=(8,8)) sns.set(font_scale=1.2) hm = sns.heatmap(cov_mat, cbar=True, annot=True, quadrat=True, fmt='.2f', annot_kws={ 'size': 12}, yticklabels=cols, xticklabels=cols) plt.title('Kovarianzmatrix mit Korrelationskoeffizienten') plt.tight_layout() plt.show() 

Figure 3. Kovarianzmatrixdiagramm für ausgewählte Technologieaktien.

Aus Abbildung 3 geht hervor, dass AAPL stark mit GOOGL und AMZN und schwach mit TSLA korreliert. TSLA korreliert im Allgemeinen schwach mit AAPL, GOOGL und AMZN, während AAPL, GOOGL und AMZN stark untereinander korrelieren.

2.3 Berechnen Sie Eigenwerte der Kovarianzmatrix

np.linalg.eigvals(cov_mat) Ausgabe = Array([3.41582227, 0.4527295, 0.02045092, 0.11099732]) np.sum(np.linalg.eigvals(cov_mat)) Ausgabe = 4.000000000000006 np.trace( cov_mat) Ausgabe = 4.000000000000001 

Wir beobachten, dass die Spur der Kovarianzmatrix wie erwartet gleich der Summe der Eigenwerte ist.

2.4 Berechnen Sie die kumulative Varianz

Da die Spur einer Matrix bei einer einheitlichen Transformation invariant bleibt, beobachten wir, dass die Summe der Eigenwerte der Diagonalmatrix gleich der in den Merkmalen X enthaltenen Gesamtvarianz ist1, X2, X3und X4. Daher können wir folgende Größen definieren:

 

Beachten Sie, dass wenn p = 4, die kumulative Varianz wird wie erwartet gleich 1.

eigen = np.linalg.eigvals(cov_mat) cum_var = eigen/np.sum(eigen) print(cum_var) Ausgabe = [0.85395557 0.11318237 0.00511273 0.02774933] print(np.sum(cum_var)) Ausgabe = 1.0 

 Wir beobachten aus der kumulativen Varianz (cum_var), dass 85 % der Varianz im ersten Eigenwert und 11 % im zweiten enthalten sind. Das bedeutet, dass bei der Implementierung von PCA nur die ersten beiden Hauptkomponenten verwendet werden könnten, da 97 % der Gesamtvarianz auf diese beiden Komponenten zurückzuführen ist. Dies kann die Dimension des Merkmalsraums bei der Implementierung von PCA wesentlich von 2 auf 4 reduzieren.

3. Lineare Regressionsmatrix

Angenommen, wir haben einen Datensatz mit 4 Prädiktorfunktionen und n Beobachtungen, wie unten gezeigt.

Tabelle 3. Merkmalsmatrix mit 4 Variablen und n Beobachtungen. Spalte 5 ist die Zielvariable (y).

Wir möchten ein Multi-Regressionsmodell zur Vorhersage erstellen y Werte (Spalte 5). Unser Modell kann somit in der Form ausgedrückt werden

In Matrixform kann diese Gleichung geschrieben werden als

woher X ist die (nx 4)-Merkmalsmatrix, w ist die (4 x 1)-Matrix, die die zu bestimmenden Regressionskoeffizienten darstellt, und y ist die (nx 1)-Matrix, die die n Beobachtungen der Zielvariablen y enthält.

Beachten Sie, dass X ist eine rechteckige Matrix, daher können wir die obige Gleichung nicht lösen, indem wir die Umkehrung von bilden X.

So konvertieren X In eine quadratische Matrix multiplizieren wir die linke und rechte Seite unserer Gleichung mit transponieren of X, das ist

Diese Gleichung kann auch ausgedrückt werden als:

woher

ist die (4×4)-Regressionsmatrix. Das beobachten wir ganz klar R ist eine reelle und symmetrische Matrix. Beachten Sie, dass in der linearen Algebra die Transponierte des Produkts zweier Matrizen der folgenden Beziehung folgt

Jetzt haben wir unser Regressionsproblem reduziert und es durch die (4×4) reelle, symmetrische und invertierbare Regressionsmatrix ausgedrückt Rist es einfach zu zeigen, dass die exakte Lösung der Regressionsgleichung dann lautet

Im Folgenden finden Sie Beispiele für eine Regressionsanalyse zur Vorhersage kontinuierlicher und diskreter Variablen:

Grundlagen der linearen Regression für absolute Anfänger

Erstellen eines Perceptron-Klassifikators mithilfe der Methode der kleinsten Quadrate

4. Lineare Diskriminanzanalysematrix

Ein weiteres Beispiel für eine reale und symmetrische Matrix in der Datenwissenschaft ist die LDA-Matrix (Linear Discriminant Analysis). Diese Matrix kann in der Form ausgedrückt werden:

woher SW ist die Streumatrix innerhalb des Merkmals und Sist die Streumatrix zwischen Merkmalen. Da beide Matrizen SW und SB sind real und symmetrisch, daraus folgt L ist auch real und symmetrisch. Die Diagonalisierung von L erzeugt einen Merkmalsunterraum, der die Klassentrennbarkeit optimiert und die Dimensionalität reduziert. Daher ist LDA ein überwachter Algorithmus, PCA dagegen nicht.

Weitere Einzelheiten zur Implementierung von LDA finden Sie in den folgenden Referenzen:

Maschinelles Lernen: Dimensionsreduktion durch lineare Diskriminanzanalyse

GitHub-Repository für die LDA-Implementierung mithilfe des Iris-Datensatzes

Python Machine Learning von Sebastian Raschka, 3. Auflage (Kapitel 5)

Zusammenfassung

Zusammenfassend haben wir mehrere Anwendungen der linearen Algebra in der Datenwissenschaft und im maschinellen Lernen diskutiert. Anhand des Datensatzes zu Technologieaktien haben wir wichtige Konzepte wie die Größe einer Matrix, Spaltenmatrizen, quadratische Matrizen, Kovarianzmatrix, Transponierte einer Matrix, Eigenwerte, Skalarprodukte usw. veranschaulicht. Lineare Algebra ist ein wesentliches Werkzeug in der Datenwissenschaft und im Maschinenbau Lernen. Daher müssen sich Einsteiger, die sich für Datenwissenschaft interessieren, mit den wesentlichen Konzepten der linearen Algebra vertraut machen.

Related:

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

Zeitstempel:

Mehr von KDnuggets