Vai al contenuto principale

Autovettori e Autovalori: concetti chiave per la Data Science

Autovettori e autovalori sono essenziali per comprendere le trasformazioni lineari. Questo articolo ne illustra l'interpretazione geometrica, il calcolo matematico e l'importanza nel machine learning.
Aggiornato 29 set 2026  · 9 min leggi

Scopri con l'IA

ChatGPTClaudePerplexity

Autovettori e autovalori sono concetti fondamentali dell'algebra lineare con implicazioni profonde nella data science e nel machine learning. Queste entità matematiche offrono intuizioni preziose sul comportamento delle trasformazioni lineari, permettendoci di comprendere la struttura sottostante dei dati, semplificare dataset complessi con un gran numero di variabili e, quindi, renderne possibile l'elaborazione per raggiungere l'obiettivo desiderato.

Se ti ricorda la riduzione della dimensionalità, hai ragione. Autovettori e autovalori lavorano dietro le quinte di molte tecniche di riduzione della dimensionalità, come l'analisi delle componenti principali (PCA). Sono anche gli ingranaggi del clustering spettrale, che prevede la riduzione della dimensionalità come passo iniziale.

Per afferrare il concetto di questo mondo "eigen", ti serve una buona comprensione dei concetti propedeutici di algebra lineare, soprattutto vettori e scalari, trasformazioni lineari e determinanti. Se sei nuovo a questi concetti, puoi seguire il nostro corso pratico Linear Algebra for Data Science in R; oppure, se usi Python, puoi consultare questo tutorial di SciPy su vettori e array.

Cosa sono autovettori e autovalori?

Partiamo dal fatto che la parte "eigen" di autovettori e autovalori ha effettivamente un significato e non è il nome di qualcuno che li ha inventati. Eigen è una parola tedesca che, in questo contesto, può essere resa come la "cosa caratteristica" o la "cosa intrinseca" di qualcosa.

Ora, immagina di sottoporre un gruppo di vettori a una trasformazione lineare, come dilatazione, taglio o rotazione. Alcuni vettori cambiano direzione, e altri no. I vettori che non cambiano direzione (o ruotano esattamente nella direzione opposta) sono quelli che chiamiamo autovettori, perché diventano i vettori "caratteristici" della trasformazione avvenuta (o della matrice che la descrive). L'entità (magnitudine) con cui vengono scalati è l'autovalore. Cioè, l'autovalore è il fattore di scala della trasformazione.

Capire autovettori e autovalori

Per comprendere meglio questi due concetti, partiamo da un caso geometrico e poi passiamo alla loro applicazione nella data science.

Interpretazione geometrica

Immagina uno spazio bidimensionale, in cui abbiamo tre vettori: uno blu sull'asse x, uno rosso sull'asse y e uno verde in diagonale tra i due. Ora applichiamo una trasformazione di scala lungo l'asse y con fattore due, come mostrato nelle immagini qui sotto.

Vectors before stretching

Vettori prima dell'allungamento. Immagine dell'autore

Vectors after stretching

Vettori dopo l'allungamento. Immagine dell'autore

Cosa è successo ai vettori direzione? Quelli rosso e blu non hanno cambiato direzione con la scalatura, mentre quello verde sì, giusto? Quindi, in questo tipo di trasformazione, i vettori rosso e blu sono quelli che chiamiamo autovettori, poiché diventano i vettori caratteristici della trasformazione.

Osserva di nuovo le immagini sopra e nota cosa è successo alla magnitudine degli autovettori (il rosso e il blu). L'autovettore blu non ha cambiato magnitudine, mentre quello rosso è raddoppiato o, detta in modo elegante, è stato scalato di un fattore due. La quantità di cui ciascun autovettore è stato scalato con la trasformazione è ciò che chiamiamo autovalore. Quindi, l'autovalore dell'autovettore blu qui è 1 (pensalo come una moltiplicazione), mentre l'autovalore dell'autovettore rosso è 2, dato che la sua magnitudine è raddoppiata.

Proprietà degli autovalori

Considera la trasformazione mostrata nelle immagini qui sotto e, prima di tutto, pensa a quali siano gli autovettori in questo caso. Se hai detto che sono i tre vettori, rosso, verde e giallo, hai ragione, poiché dopo la trasformazione puntano tutti esattamente nella direzione opposta. Vediamo che il segno del numero (l'autovalore) può dirci informazioni aggiuntive sulla trasformazione avvenuta. Un autovalore positivo indica che la trasformazione non ha incluso una rotazione, mentre un autovalore negativo indica che la trasformazione ha incluso una rotazione dell'autovettore attorno alla sua origine.

Vectors before rotation

Vettori prima della rotazione. Immagine dell'autore

Vectors after rotation

Vettori dopo la rotazione. Immagine dell'autore

Ora, qual è l'autovalore di ciascuno di questi autovettori? Il fatto che la loro magnitudine resti la stessa significa che l'autovalore è 1, ma il fatto che abbiano anche ruotato implica che il segno dell'1 deve essere negativo. Quindi, in questo caso, l'autovalore è -1.

Nel nostro esempio, gli autovalori sono semplici (sono tutti 1), ma gli autovalori possono essere qualsiasi numero, che si tratti di un intero o di un numero naturale, come 1 e 2, o di un razionale (frazione) come ½ e 0,75. Possono essere quelli che chiamiamo numeri irrazionali, come il valore di π. Gli autovalori possono anche essere numeri complessi, come a + bi, dove "a" e "b" sono separatamente numeri reali e "i" è l'unità immaginaria, come la radice quadrata di -1. Gli autovalori complessi possono anche indicare il tipo di trasformazione lineare avvenuta, che si tratti di una rotazione o di una più complessa come un'oscillazione.

Come calcolare autovettori e autovalori

Sebbene le librerie del pacchetto base in R e le librerie in Python come SciPy e NumPy possano trovare facilmente autovettori e autovalori, comprendere le equazioni che li governano è estremamente prezioso. In questa sezione rivedremo la cosiddetta equazione caratteristica, che calcola autovettori e autovalori data una semplice matrice passo dopo passo. Poi citeremo altri metodi di calcolo per matrici più grandi (cioè dataset estesi).

Equazione caratteristica

Possiamo trovare autovettori e autovalori usando quella che è nota come equazione caratteristica. Con l'equazione caratteristica, prima si trovano gli autovalori e poi gli autovettori. Una volta noto l'autovalore, lo si usa per calcolare l'autovettore corrispondente risolvendo un sistema di equazioni lineari. 

Passo 1: parti dall'equazione di trasformazione della matrice

Per una matrice 𝐴 e un vettore 𝑣, l'equazione di base per autovettori e autovalori è:

A black symbols with a white background

Description automatically generated

Questo significa che quando la matrice 𝐴 agisce sul vettore 𝑣, il risultato è una versione scalata di 𝑣. Qui:

  • 𝐴 è una matrice (una griglia quadrata di numeri).
  • 𝑣 è l'autovettore
  • λ (lambda) è l'autovalore.

Teniamo a mente che l'obiettivo è trovare sia λ (l'autovalore) sia 𝑣 (l'autovettore).

Passo 2: riorganizza l'equazione

Per proseguire verso il nostro obiettivo, dobbiamo risolvere rispetto a λ. Perciò riorganizziamo l'equazione per renderla più maneggevole spostando il termine di destra a sinistra con segno opposto:

A black and white image of a letter

Description automatically generated

Ora possiamo raccogliere 𝑣, ma poiché 𝐴 è una matrice e 𝑣 è un vettore, dobbiamo moltiplicare 𝑣 per quella che è chiamata matrice identità, indicata con I. Una matrice identità è una matrice quadrata (di dimensione n×n) con 1 sulla diagonale e 0 altrove. Per le proprietà della moltiplicazione tra matrici, una matrice identità si comporta come il numero 1 per le matrici. Ecco, ad esempio, una matrice identità 3×3:

A number and a mathematical equation

Description automatically generated with medium confidence

Tornando alla nostra equazione, se raccogliamo 𝑣 e lo moltiplichiamo per I, il risultato sarà il seguente:

A black text with dots and a white background

Description automatically generated

Passo 3: imposta il determinante

Per risolvere l'equazione a cui siamo arrivati, o l'autovettore 𝑣 deve essere zero, oppure l'autovettore sarebbe uguale a qualunque cosa sia 𝐴 −λ⋅I. E adesso è il momento adatto per dire un'altra cosa sugli autovettori: non possono essere uguali a zero. Pertanto, 𝐴 −λ⋅I deve essere uguale a zero. Ma dato che lambda è l'incognita, possiamo far sì che il lato sinistro dell'equazione sia uguale al lato destro prendendo il determinante di 𝐴 −λ⋅I. Arriviamo quindi alla seguente equazione:

A black and white image of a letter

Description automatically generated

Qui siamo arrivati all'equazione caratteristica. Risolverla ci può dare sia gli autovalori λ sia l'autovettore 𝑣, come mostrato nei passaggi rimanenti.

Passo 4: risolvi per gli autovalori

Supponiamo di avere la seguente matrice 𝐴:

A black and white image of a mathematical equation

Description automatically generated

Sostituendo 𝐴 con la matrice effettiva nell'equazione caratteristica, l'equazione diventa:

A black rectangular object with numbers

Description automatically generated with medium confidence

E quindi:

A group of black letters

Description automatically generated

E quindi ancora:

A black and white image of a smiley face

Description automatically generated

Da questa forma di equazione molto più semplice, possiamo calcolare i valori degli autovalori λ semplicemente sostituendo i valori della matrice.

Passo 5: risolvi per gli autovettori 𝑣

Ottenuti gli autovalori λ, resta da trovare gli autovettori 𝑣. Possiamo farlo tornando a questa forma precedente dell'equazione:

A black text with dots and a white background

Description automatically generated

Ora, se sostituiamo 𝐴, λ e I con i loro valori, possiamo calcolare facilmente il valore dell'autovettore 𝑣.

Metodi di calcolo numerico

Come abbiamo visto, la complessità del calcolo di autovettori e autovalori dipende in larga misura dalla dimensione della matrice. Nel nostro esempio, abbiamo usato una semplice matrice 𝐴 2×2. Ma non è pratico trovare autovettori e autovalori in questo modo quando le matrici diventano molto più grandi, ad esempio con centinaia o migliaia di righe e colonne. In questi casi, usiamo linguaggi di programmazione come Python e R, che impiegano metodi di calcolo numerico anziché metodi simbolici. Alcune delle tecniche usate includono:

  1. Algoritmo QR: è un metodo comune per trovare gli autovalori. Prevede una sequenza di fattorizzazioni di matrici (fattorizzazioni QR) per convergere iterativamente agli autovalori.
  2. Decomposizione di Cholesky o LU: per certi tipi di matrici (ad es. simmetriche o definite positive), si possono usare metodi specializzati come la decomposizione di Cholesky o LU per un calcolo più efficiente.
  3. Bilanciamento e scaling: per migliorare la stabilità numerica, R e Python spesso scalano e bilanciano le matrici prima di effettuare i calcoli.

Considerazioni in Data Science e Machine Learning

Autovettori e autovalori sono essenziali in molte applicazioni, tra cui le seguenti:

  • Elaborazione di immagini: sono usati nel riconoscimento facciale e nella classificazione di immagini.
  • Natural Language Processing (NLP): autovettori e autovalori sono usati nel topic modeling e nelle word embeddings.
  • Sistemi di raccomandazione: come nel filtering collaborativo e basato sui contenuti, dove la riduzione della dimensionalità può migliorare l'accuratezza dei sistemi di raccomandazione.
  • Clustering spettrale: autovettori e autovalori sono anche un componente fondante del clustering spettrale, un metodo che raggruppa i punti dati osservando le loro connessioni in un grafo, usando informazioni dalla struttura dei dati invece che solo dalla distanza, con diverse applicazioni pratiche, ad esempio nell'elaborazione di immagini.
  • Analisi delle componenti principali: la PCA è una tecnica di riduzione della dimensionalità comune nel machine learning. Con la PCA, troviamo gli autovettori della matrice di covarianza standardizzata e li ordiniamo per autovalore. 

Abbiamo detto che gli autovalori possono essere numeri reali o complessi di qualsiasi tipo. Ciò significa che l'autovalore può essere zero e può anche capitare che nella matrice analizzata ci siano più autovalori uguali. Questi due casi sono considerati due problemi che possono sorgere in qualsiasi analisi eigen. Vediamoli.

Problema dell'autovalore zero

Un autovalore zero è un problema perché significa che la trasformazione del suo autovettore corrispondente ha prodotto un vettore nullo, che può essere immaginato come un singolo punto nello spazio senza magnitudine e, quindi, non spiega varianza nel dataset. Il problema può essere gestito con tecniche di regolarizzazione, come la ridge regression (regolarizzazione di Tikhonov), o rimuovendo le feature collineari (cioè riduzione della dimensionalità), che avviene naturalmente in un algoritmo PCA. Pertanto, l'autovalore zero non è un problema per la PCA e, anzi, la PCA può esserne una soluzione. Tuttavia, per altri algoritmi di machine learning che prevedono la risoluzione di sistemi lineari, come le regressioni lineare, ridge e lasso, il problema dell'autovalore zero va gestito in anticipo.

Autovalori degeneri

Quando più autovalori hanno lo stesso valore, si dicono degeneri e costituiscono un problema in data science, soprattutto da un punto di vista pratico in PCA e clustering spettrale. In PCA, se più autovettori hanno autovalori identici, significa che quegli autovettori catturano la stessa quantità di varianza nel dataset e, dunque, la scelta delle k componenti principali diventa problematica. Nel clustering spettrale, dove si usano gli autovalori della matrice di similarità per raggruppare i punti dati, autovalori degeneri possono indicare che i punti sono ugualmente simili in più dimensioni, rendendo difficile determinare quali dimensioni o autovettori usare per separare i cluster.

Autovettori, autovalori ed eigendecomposition

Qualsiasi discussione su autovettori e autovalori non sarebbe completa senza parlare anche di eigendecomposition. L'eigendecomposition è il processo di scomposizione di una matrice quadrata A nei suoi autovettori e autovalori. Per una matrice che può essere scomposta, essa può essere espressa come:

L'eigendecomposition ci dice che la matrice A può essere espressa come il prodotto della matrice degli autovettori Q, di una matrice diagonale Λ dei suoi autovalori e dell'inversa della matrice degli autovettori Q-1. Queste matrici, moltiplicate tra loro con la moltiplicazione tra matrici, ricostruiranno la matrice originale A. L'eigendecomposition è importante perché fornisce un modo per comprendere e semplificare trasformazioni lineari complesse, offrendo intuizioni sul comportamento del sistema e semplificando molti calcoli. 

Conclusione

In questo articolo abbiamo visto cosa sono autovettori e autovalori e quanto siano rilevanti per la data science e il machine learning. Abbiamo anche esaminato come si calcolano matematicamente, oltre ai problemi che possono sorgere quando si cercano autovettori e autovalori.

Oltre al corso Linear Algebra in R e al tutorial di SciPy su vettori e array, se vuoi approfondire seriamente autovettori e autovalori e le loro applicazioni nel machine learning, prova il nostro percorso professionale Machine Learning Scientist with Python e diventa un esperto di apprendimento supervisionato e non supervisionato, inclusa, ovviamente, la riduzione della dimensionalità.


Islam Salahuddin's photo
Author
Islam Salahuddin

Islam è un consulente dati presso The KPI Institute. Con un background nel giornalismo, Islam ha interessi diversi, tra cui scrittura, filosofia, media, tecnologia e cultura.

Domande frequenti

Cosa sono autovettori e autovalori?

Gli autovettori sono vettori che mantengono la loro direzione dopo una trasformazione lineare, mentre gli autovalori rappresentano il fattore di scala applicato a tali vettori.

Come si usano autovettori e autovalori nella data science?

Sono fondamentali per tecniche di riduzione della dimensionalità come la Principal Component Analysis (PCA), che semplifica i dataset preservando le informazioni importanti.

Qual è la relazione tra autovalori e autovettori in PCA?

In PCA, gli autovettori rappresentano le componenti principali del dataset, mentre i corrispondenti autovalori indicano la quantità di varianza spiegata da ciascuna componente.

Cos'è l'equazione caratteristica nel contesto degli autovalori?

L'equazione caratteristica aiuta a calcolare gli autovalori ed è derivata dall'equazione di trasformazione della matrice, fornendo i valori chiave per gli autovettori.

Gli autovalori possono essere negativi o zero?

Sì, un autovalore negativo indica una rotazione nella trasformazione, mentre un autovalore zero può creare problemi ma viene gestito in tecniche come la PCA.

Argomenti
Data Science
R

Impara con DataCamp

Corso

Algebra lineare per la Data Science in R

4 ore
21.8K
Questo corso è un'introduzione all'algebra lineare, uno dei temi matematici più importanti alla base della scienza dei dati.
Vedi i dettagliRight Arrow
Inizia Il Corso
Mostra altroRight Arrow
Correlato

blog

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

blog

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

blog

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

Mostra AltroMostra Altro