Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Come funziona l'algoritmo PCA

Modalità Focus
Come funziona l'algoritmo PCA - Amazon SageMaker AI

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

L'analisi delle componenti principali (PCA, Principal Component Analysis) è un algoritmo di apprendimento che riduce la dimensionalità (numero di caratteristiche) di un set di dati mantenendo la maggior quantità possibile di informazioni.

L'algoritmo PCA riduce le dimensioni individuando un nuovo insieme di caratteristiche denominate componenti, che sono compositi delle caratteristiche originali non correlate le une alle altre. La prima componente rappresenta la maggiore variabilità possibile nei dati, la seconda componente la seconda maggiore variabilità e così via.

Si tratta di un algoritmo di riduzione dimensionale non supervisionata. Nell'apprendimento non supervisionato, le etichette che possono essere associate con gli oggetti nel set di dati di addestramento non verranno utilizzate.

Considerato l'input di una matrice con righe x_1,…,x_n ciascuna con dimensione 1 * d, i dati vengono partizionati in mini-batch di righe e distribuiti tra i nodi di addestramento (worker). Quindi, ogni worker calcola un riepilogo dei propri dati. I riepiloghi dei diversi worker vengono quindi uniti in un'unica soluzione al termine del calcolo.

Modalità

L'algoritmo PCA di Amazon SageMaker AI utilizza una delle due modalità per calcolare questi riepiloghi, a seconda della situazione:

  • regular (normale): per i set di dati con dati a densità bassa e un numero modesto di osservazioni e caratteristiche.

  • randomized (randomizzata): per i set di dati con un elevato numero di osservazioni e caratteristiche. Questo modo adotta un algoritmo di approssimazione.

Come ultima fase, l'algoritmo esegue la decomposizione dei singoli valori sulla soluzione unificata, dalla quale derivano le componenti principali.

Modalità 1: regular (normale)

I worker calcolano insieme Equation in text-form: \sum x_i^T x_i e Equation in text-form: \sum x_i .

Nota

Poiché Equation in text-form: x_i sono vettori della riga 1 * d, Equation in text-form: x_i^T x_i è una matrice (non un valore scalare). L'utilizzo dei vettori delle righe nel codice permette di ottenere il caching efficiente.

La matrice di covarianza viene calcolata come Equation in text-form: \sum x_i^T x_i - (1/n) (\sum x_i)^T \sum x_i e i relativi vettori delle singole num_components superiori formano il modello.

Nota

Se subtract_mean è False, si evita di calcolare e sottrarre Equation in text-form: \sum x_i .

Utilizza questo algoritmo quando la dimensione d dei vettori è sufficientemente piccola affinché Equation in text-form: d^2 rientri in memoria.

Modalità 2: randomized (randomizzata)

Quando il numero di caratteristiche nel set di dati di input è elevato, si utilizza un metodo di approssimazione del parametro di covarianza. Per ogni mini-batch Equation in text-form: X_t di dimensione b * d, si inizializza in modo casuale una matrice (num_components + extra_components) * b da moltiplicare per ogni mini-batch per creare una matrice (num_components + extra_components) * d. La somma di queste matrici viene calcolata dai worker e i server eseguono la SVD (Singular Value Decomposition) sulla matrice (num_components + extra_components) * d finale. I vettori delle singole num_components in alto a destra sono l'approssimazione dei vettori singoli superiori della matrice di input.

Consenti Equation in text-form: \ell = num_components + extra_components. Considerato un mini-batch Equation in text-form: X_t di dimensione b * d, il worker disegna una matrice casuale Equation in text-form: H_t di dimensione Equation in text-form: \ell * b . A seconda se l'ambiente utilizza una GPU o un CPU e in base alla grandezza della dimensione, la matrice è una matrice a segni casuali dove ogni voce è +-1 o una FJLT (Fast Johnson-Lindenstrauss Transform; per informazioni consulta FJLT Transforms e i documenti di follow-up). Quindi, il worker calcola Equation in text-form: H_t X_t e mantiene Equation in text-form: B = \sum H_t X_t . Il worker mantiene anche Equation in text-form: h^T , la somma delle colonne di Equation in text-form: H_1,..,H_T (dove T è il numero totale di mini-batch) e s, la somma di tutte le righe di input. Dopo l'elaborazione dell'intero shard di dati, il worker invia al server B, h, s e n (il numero di righe di input).

Indica i diversi input al server come Equation in text-form: B^1, h^1, s^1, n^1,… Il server calcola B, h, s, n le somme dei rispettivi input. Quindi, calcola Equation in text-form: C = B – (1/n) h^T s e rileva la relativa decomposizione dei singoli valori. I vettori singoli in alto a destra e i valori singoli di C vengono utilizzati come soluzione approssimativa del problema.

In questa pagina

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.