Come funziona LDA - Amazon SageMaker

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à.

Come funziona LDA

Amazon SageMaker LDA è un algoritmo di apprendimento senza supervisione che tenta di descrivere un insieme di osservazioni come una combinazione di diverse categorie. Queste categorie sono di per sé una distribuzione di probabilità sulle caratteristiche. LDA è un modello di probabilità generativa, ovvero che tenta di fornire un modello per la distribuzione di output e input in base a variabili latenti. Questo si oppone ai modelli discriminativi, che tentano di apprendere il modo in cui gli input sono mappati agli output.

Puoi utilizzare LDA per un'ampia gamma di attività, dal clustering di clienti in base agli acquisti di prodotti all'analisi armonica automatica in musica. Tuttavia, è più comunemente associato al topic modeling in corpora di testo. Le osservazioni vengono definite documenti. Il set di caratteristiche viene definito vocabolario. Una funzione viene definita parola. Inoltre, le categorie risultanti vengono definite argomenti.

Nota

La lemmatizzazione aumenta in modo significativo le prestazioni e la precisione dell'algoritmo. Prendi in considerazione la possibilità di eseguire una pre-elaborazione di qualsiasi dato di testo di input. Per ulteriori informazioni, consulta Stemming e lemmatizzazione.

Un modello LDA è definito da due parametri:

  • α - Una stima precedente sulla probabilità dell'argomento (in altre parole, la frequenza media con cui si verifica ogni argomento all'interno di un determinato documento).

  • β - Una raccolta di argomenti k in cui a ogni argomento è fornita una distribuzione di probabilità sul vocabolario utilizzato in un corpus documento, nota anche come "distribuzione argomento-parola".

LDA è un modello "bag-of-words", il che significa che l'ordine delle parole non ha importanza. LDA è un modello generativo in cui ogni documento viene generato word-by-word scegliendo una combinazione di argomenti θ ∼ Dirichlet (α).

Per ogni parola nel documento:

  • Scegli un argomento z ∼ Multinomial(θ)

  • Scegli la distribuzione argomento-parola β_z corrispondente.

  • Estrai una parola w ∼ Multinomial(β_z).

Quando addestri il modello, l'obiettivo è trovare i parametri α e β, che massimizzano la probabilità che il corpus di testo venga generato dal modello.

I metodi più comuni per valutare il modello LDA utilizzano le tecniche di campionamento di Gibbs o di massimizzazione dell'aspettativa (EM, Expectation Maximization). Amazon SageMaker LDA utilizza la decomposizione spettrale tensoriale. Questo offre diversi vantaggi:

  • Garanzie teoriche sui risultati. Il metodo EM standard converge unicamente verso optima locali, che sono spesso di scarsa qualità.

  • Facile parallelizzabilità. Il lavoro può essere facilmente ripartito sui documenti di input in addestramento e inferenza. Gli approcci del metodo EM e del campionamento di Gibbs possono essere parallelizzati, ma non così facilmente.

  • Rapidità. Sebbene presenti un basso costo di iterazione, il metodo EM tende a ridurre i tassi di convergenza. Il campionamento di Gibbs, inoltre, tende a ridurre i tassi di convergenza e richiede un numero elevato di campioni.

A un alto livello, l'algoritmo di decomposizione tensore segue questa procedura:

  1. L'obiettivo è calcolare la decomposizione spettrale di un tensore V x V x V, che riepiloga i momenti dei documenti del nostro corpus. V rappresenta la dimensione del vocabolario (in altre parole, il numero di parole distinte in tutti i documenti). I componenti spettrali di questo tensore sono i parametri LDA α e β, che massimizzano la probabilità generale del corpus di documento. Tuttavia, poiché le dimensioni del vocabolario tendono a essere grandi, questo tensore V x V x V è troppo voluminoso per essere archiviato nella memoria.

  2. Al contrario, utilizza una matrice d'inerzia V x V, che è l'analogo bidimensionale del tensore della fase 1, per trovare un matrice di sbiancamento della dimensione V x k. Questa matrice può essere utilizzata per convertire la matrice d'inerzia V x V in una matrice d'identità k x k. k è il numero di argomenti nel modello.

  3. Questa stessa matrice di sbiancamento può quindi essere utilizzata per trovare un tensore più piccolo k x k x k. Una volta decomposto spettralmente, questo tensore include componenti che hanno una semplice relazione con i componenti del tensore V x V x V.

  4. Il metodo dei minimi quadrati alternati viene utilizzato per decomporre il tensore più piccolo k x k x k. Questo offre un sostanziale miglioramento dell'utilizzo della memoria e della velocità. I parametri α e β possono essere reperiti "sbiancando" questi output nella decomposizione spettrale.

Una volta trovati i parametri del modello LDA, puoi trovare le combinazioni di argomenti per ogni documento. Puoi utilizzare la discesa stocastica del gradiente per massimizzare la probabilità di osservare una combinazione di argomenti specifici corrispondente a questi dati.

La qualità degli argomenti può essere migliorata aumentando il numero di argomenti da cercare nell’addestramento, quindi filtrando quelli di scarsa qualità. Questa operazione viene infatti eseguita automaticamente in SageMaker LDA: vengono calcolati il 25% in più di argomenti e vengono restituiti solo quelli con i maggiori precedenti di Dirichlet associati. Per eseguire ulteriore filtraggio e analisi degli argomenti, puoi aumentare il numero degli argomenti e modificare il modello LDA risultante come segue:

> import mxnet as mx > alpha, beta = mx.ndarray.load(‘model.tar.gz’) > # modify alpha and beta > mx.nd.save(‘new_model.tar.gz’, [new_alpha, new_beta]) > # upload to S3 and create new SageMaker model using the console

Per ulteriori informazioni sugli algoritmi per LDA e sull'implementazione, consulta quanto segue: SageMaker

  • Animashree Anandkumar, Rong Ge, Daniel Hsu, Sham M Kakade e Matus Telgarsky. Tensor Decompositions for Learning Latent Variable Models, Journal of Machine Learning Research, 15:2773–2832, 2014.

  • David M Blei, Andrew Y Ng e Michael I Jordan. Allocazione latente di Dirichlet (LDA, Latent Dirichlet Allocation). Journal of Machine Learning Research, 3 (gen):993–1022, 2003.

  • Thomas L Griffiths e Mark Steyvers. Finding Scientific Topics. Proceedings of the National Academy of Sciences, 101(suppl 1):5228–5235, 2004.

  • Tamara G Kolda e Brett W Bader. Tensor Decompositions and Applications. SIAM Review, 51(3):455–500, 2009.