5

Sto risolvendo un problema di classificazione. Allena la mia rete neurale non sorvegliata per un insieme di entità (usando l'architettura skip-gram).Valutazione delle prestazioni degli embeddings della Rete Neurale nel classificatore kNN

Il modo in cui valuto è di cercare vicini più vicini k per ogni punto dati di convalida, dai dati di training. Prendo la somma ponderata (pesi in base alla distanza) delle etichette dei vicini più vicini e uso quel punteggio di ciascun punto dei dati di convalida.

osservazione - Mentre aumenta il numero di epoche (model1 - 600 epoche, model 2 - 1400 epoche e model 3 - 2000 epoche), il mio AUC migliora a valori minori di k ma saturi ai valori simili.

Quale potrebbe essere una possibile spiegazione di questo comportamento?

enter image description here

[Reposted da CrossValidated]

+0

Sto cercando di classificare le recensioni dei clienti in due categorie. Gli Embeddings sono addestrati usando sentence2vec. Ho scritto un classificatore kNN personalizzato per hadoop. – kampta

+0

Potrebbe semplicemente essere che non c'è abbastanza separazione tra le due classi? Ad esempio, se questo fosse un tipo di analisi dei sentimenti, spesso sperimentiamo doppie espressioni negative che possono sconvolgere un classificatore ingenuo. –

+0

Se 'model3' è migliore nella classificazione di tali casi, non avrebbe una AUC migliore di' model1'? – kampta

risposta

0

per un controllo incrociato se le classi sbilanciate sono un problema, provare il montaggio di un modello di SVM. Se ciò fornisce una classificazione migliore (possibile se la tua ANN non è molto profonda) si può concludere che le classi dovrebbero essere bilanciate prima.

Inoltre, provare alcune funzioni del kernel per verificare se questa trasformazione rende i dati linearmente separabili?

Problemi correlati