2016-01-22 7 views
6

Sto usando la funzione Doc2Vec di gensim in Python per convertire un documento in un vettore.Come devo interpretare il parametro "size" nella funzione Doc2Vec di gensim?

Un esempio di utilizzo

model = Doc2Vec(documents, size=100, window=8, min_count=5, workers=4)

Come devo interpretare il parametro size. So che se imposto size = 100, la lunghezza del vettore di output sarà 100, ma cosa significa? Ad esempio, se aumento il numero da size a 200, qual è la differenza?

+1

Ah, la dimensione della magia nera! – alvas

risposta

1

La differenza è il dettaglio, che il modello può catturare. Generalmente, più dimensioni assegni a Word2Vec, migliore è il modello, fino a un certo punto.

Normalmente la dimensione è compresa tra 100 e 300. Devi sempre considerare che più dimensioni significano anche che è necessaria più memoria.

+0

Ciao, grazie mille per il tuo commento. Ma la mia domanda, che cosa "cattura" il modello? Ad esempio, nel modello TF, se imposto la dimensione = 100, restituirà 100 parole più frequenti: è facile da capire. Ma in Doc2Vec, non capisco davvero. – mamatv

+0

Il problema è che non puoi semplicemente dire quali effetti avranno più dimensioni. Devi guardarlo in un modo diverso. Quando hai 100 dimensioni, hai solo 100 variabili per modellare le relazioni di una parola. Ma con 300 dimensioni ne hai 300. Quindi in teoria può catturare più dettagli, perché ha più variabili con cui giocare durante l'allenamento. O breve: Tweet vs Book, dove troveresti una panoramica più dettagliata su un argomento? : D – Saytiras

+0

Ciao @Saytiras, lo capisco completamente :), ma la mia domanda è, cosa significa "100". Per esempio, come ho detto, nel modello TF, 100 significa 100 parole più frequenti nel testo, quindi se cambio il parametro a 200, mi restituirà 200 parole più frequenti. Ma in Doc2Vec, cosa significa veramente, nel linguaggio tecnico? – mamatv

7

Word2Vec coglie la rappresentazione distribuita di una parola che significa essenzialmente, più neuroni catturare un singolo concetto (concetto può essere parola che significa/sentimento/parte del discorso, ecc), e anche un singolo neurone contribuisce a più concetti .

Questi concetti vengono appresi automaticamente e non predefiniti, quindi è possibile considerarli latenti/nascosti. Anche per lo stesso motivo, i vettori di parole possono essere utilizzati per più applicazioni.

Più è il parametro delle dimensioni, più sarà la capacità della rete neurale di rappresentare questi concetti, ma saranno necessari più dati per addestrare questi vettori (poiché vengono inizializzati casualmente). In assenza di un numero sufficiente di frasi/potenza di calcolo, è meglio mantenere il size piccolo.

Doc2Vec segue un'architettura di rete neurale leggermente diversa rispetto a Word2Vec, ma il significato di size è analogo.

+0

Ciao, tu intendi che '' size'' è il numero di neuroni nella rete neurale Doc2Vec usato per addestrare e produrre il vettore? –

+0

numero di neuroni in ogni strato della rete neurale dipenderà dall'architettura, sia DBOW che DM. Controlla il documento (menzionato nella risposta) – kampta

Problemi correlati