Algebra lineare essenziale per la scienza dei dati e l'apprendimento automatico

Nodo di origine: 1852280

Immagine di Benjamin O. Tayo.

L'algebra lineare è una branca della matematica estremamente utile nella scienza dei dati e nell'apprendimento automatico. L'algebra lineare è l'abilità matematica più importante nell'apprendimento automatico. La maggior parte dei modelli di machine learning può essere espressa in forma matriciale. Un set di dati stesso è spesso rappresentato come una matrice. L'algebra lineare viene utilizzata nella preelaborazione dei dati, nella trasformazione dei dati e nella valutazione del modello. Ecco gli argomenti che devi conoscere:

  • Vettori
  • Matrici
  • Trasposizione di una matrice
  • Inversa di una matrice
  • Determinante di una matrice
  • Traccia di una matrice
  • Prodotto dot
  • autovalori
  • Autovettori

In questo articolo, illustriamo l'applicazione dell'algebra lineare nella scienza dei dati e nell'apprendimento automatico utilizzando il set di dati sulle azioni tecnologiche, che può essere trovato qui.

1. Algebra lineare per la preelaborazione dei dati

 Iniziamo illustrando come viene utilizzata l'algebra lineare nella preelaborazione dei dati.

1.1 Importare le librerie necessarie per l'algebra lineare

importare numpy come np importare panda come pd importare pylab importare matplotlib.pyplot come plt importare seaborn come sns 

 

1.2 Leggere il set di dati e visualizzare le funzionalità

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

 Table 1. Prezzi delle azioni per i prezzi delle azioni selezionati per i primi 16 giorni di aprile 2021.

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

 Il dati.forma La funzione ci consente di conoscere la dimensione del nostro set di dati. In questo caso, il set di dati ha 5 caratteristiche (data, AAPL, TSLA, GOOGL e AMZN) e ciascuna caratteristica ha 11 osservazioni. Data si riferisce ai giorni di negoziazione di aprile 2021 (fino al 16 aprile). AAPL, TSLA, GOOGL e AMZN sono i prezzi di chiusura delle azioni rispettivamente di Apple, Tesla, Google e Amazon.

1.3 Visualizzazione dei dati

Per eseguire la visualizzazione dei dati, avremmo bisogno di definire matrici di colonne per le caratteristiche da visualizzare:

x = dati['date'] y = dati['TSLA'] plt.plot(x,y) plt.xticks(np.array([0,4,9]), ['1 apr','8 apr ','15 aprile']) plt.title('Prezzo azioni Tesla (in dollari) per aprile 2021',size=14) plt.show() 

figura 1. Prezzo delle azioni Tesla per i primi 16 giorni nell'aprile 2021.

2. Matrice di covarianza

Il matrice di covarianza è una delle matrici più importanti nella scienza dei dati e nell'apprendimento automatico. Fornisce informazioni sul co-movimento (correlazione) tra le caratteristiche. Supponiamo di avere una matrice di caratteristiche con 4 caratteristiche e osservazioni come mostrato in Tabella 2:

Tabella 2. Matrice di caratteristiche con 4 variabili e n osservazioni.

Per visualizzare le correlazioni tra le caratteristiche, possiamo generare un pairplot a dispersione:

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

Figure 2 . Grafico a dispersione per titoli tecnologici selezionati.

Per quantificare il grado di correlazione tra le caratteristiche (multicollinearità), possiamo calcolare la matrice di covarianza usando questa equazione:

dove e sono rispettivamente la media e la deviazione standard di feature . Questa equazione indica che quando le caratteristiche sono standardizzate, la matrice di covarianza è semplicemente la punto prodotto tra le caratteristiche.

In forma matriciale, la matrice di covarianza può essere espressa come una matrice reale e simmetrica 4 x 4:

Questa matrice può essere diagonalizzata eseguendo a trasformazione unitaria, nota anche come trasformazione PCA (Principal Component Analysis), per ottenere quanto segue:

Poiché traccia di una matrice rimane invariante per trasformazione unitaria, si osserva che la somma degli autovalori della matrice diagonale è uguale alla varianza totale contenuta nelle caratteristiche X1, X2, X3e X4.

2.1 Calcolo della matrice di covarianza per i titoli tecnologici

da 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) 

Nota che questo utilizza l'estensione trasporre della matrice standardizzata.

2.2 Visualizzazione della matrice di covarianza

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={ 'size': 12}, yticklabels=cols, xticklabels=cols) plt.title('Matrice di covarianza che mostra i coefficienti di correlazione') plt.tight_layout() plt.show() 

Figure 3 . Grafico della matrice di covarianza per titoli tecnologici selezionati.

Osserviamo dalla Figura 3 che AAPL è fortemente correlato con GOOGL e AMZN e debolmente con TSLA. TSLA si correla generalmente debolmente con AAPL, GOOGL e AMZN, mentre AAPL, GOOGL e AMZN sono fortemente correlati tra loro.

2.3 Calcolare gli autovalori della matrice di covarianza

np.linalg.eigvals(cov_mat) output = array([3.41582227, 0.4527295 , 0.02045092, 0.11099732]) np.sum(np.linalg.eigvals(cov_mat)) output = 4.000000000000006 np.trace(cov4.000000000000001matXNUMX) = XNUMX 

Osserviamo che la traccia della matrice di covarianza è uguale alla somma degli autovalori come previsto.

2.4 Calcolare la varianza cumulativa

Poiché la traccia di una matrice rimane invariante per trasformazione unitaria, osserviamo che la somma degli autovalori della matrice diagonale è uguale alla varianza totale contenuta nelle caratteristiche X1, X2, X3e X4. Possiamo quindi definire le seguenti grandezze:

 

Notare che quando p = 4, la varianza cumulativa diventa uguale a 1 come previsto.

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)) output = 1.0 

 Osserviamo dalla varianza cumulativa (cum_var) che l'85% della varianza è contenuta nel primo autovalore e l'11% nel secondo. Ciò significa che quando viene implementato il PCA, è possibile utilizzare solo i primi due componenti principali, poiché il 97% della varianza totale è contribuito da questi 2 componenti. Ciò può essenzialmente ridurre la dimensione dello spazio delle caratteristiche da 4 a 2 quando viene implementato il PCA.

3. Matrice di regressione lineare

Supponiamo di avere un set di dati con 4 funzionalità predittive e n osservazioni, come mostrato di seguito.

Tabella 3. Matrice di caratteristiche con 4 variabili e n osservazioni. La colonna 5 è la variabile di destinazione (y).

Vorremmo costruire un modello multi-regressione per prevedere il y valori (colonna 5). Il nostro modello può quindi essere espresso nella forma

In forma matriciale, questa equazione può essere scritta come

where X è la matrice delle caratteristiche (nx 4), w è la matrice (4 x 1) che rappresenta i coefficienti di regressione da determinare, e y è la matrice (nx 1) contenente le n osservazioni della variabile target y.

Si noti che X è una matrice rettangolare, quindi non possiamo risolvere l'equazione sopra prendendo l'inverso di X.

Per convertire X in una matrice quadrata, moltiplichiamo il lato sinistro e il lato destro della nostra equazione per il trasporre of X, questo è

Questa equazione può anche essere espressa come

where

è la matrice di regressione (4×4). Chiaramente, lo osserviamo R è una matrice reale e simmetrica. Si noti che in algebra lineare, la trasposizione del prodotto di due matrici obbedisce alla seguente relazione

Ora che abbiamo ridotto il nostro problema di regressione e lo abbiamo espresso in termini di matrice di regressione reale, simmetrica e invertibile (4×4) R, è semplice mostrare che la soluzione esatta dell'equazione di regressione è allora

Di seguito sono riportati esempi di analisi di regressione per la previsione di variabili continue e discrete:

Nozioni di base sulla regressione lineare per principianti assoluti

Costruire un classificatore Perceptron utilizzando il metodo dei minimi quadrati

4. Matrice di analisi discriminante lineare

Un altro esempio di matrice reale e simmetrica nella scienza dei dati è la matrice LDA (Linear Discriminant Analysis). Questa matrice può essere espressa nella forma:

where SW è la matrice di dispersione all'interno delle caratteristiche e Sè la matrice di dispersione tra le caratteristiche. Poiché entrambe le matrici SW ed SB sono reali e simmetrici, ne consegue L è anche reale e simmetrico. La diagonalizzazione di L produce un sottospazio delle caratteristiche che ottimizza la separabilità delle classi e riduce la dimensionalità. Quindi LDA è un algoritmo supervisionato, mentre PCA non lo è.

Per maggiori dettagli sull'implementazione di LDA, consultare i seguenti riferimenti:

Apprendimento automatico: riduzione della dimensionalità tramite analisi discriminante lineare

Repository GitHub per l'implementazione di LDA utilizzando il set di dati Iris

Python Machine Learning di Sebastian Raschka, 3a edizione (Capitolo 5)

Sommario

In sintesi, abbiamo discusso diverse applicazioni dell'algebra lineare nella scienza dei dati e nell'apprendimento automatico. Utilizzando il set di dati sulle azioni tecnologiche, abbiamo illustrato concetti importanti come la dimensione di una matrice, matrici di colonne, matrici quadrate, matrice di covarianza, trasposizione di una matrice, autovalori, prodotti scalari, ecc. L'algebra lineare è uno strumento essenziale nella scienza dei dati e nelle macchine apprendimento. Pertanto, i principianti interessati alla scienza dei dati devono familiarizzare con i concetti essenziali dell'algebra lineare.

Correlato:

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

Timestamp:

Di più da KDnuggets