Domanda

Sono mano messaggi di tagging Twitter come positiva, negativa, neutra. Sto cerco di apprezzare c'è una certa logica si può usare per identificare della formazione insieme quale percentuale di messaggio dovrebbe essere positivo / negativo e neutro?

Così, per esempio se mi alleno un classificatore Naive Bayes con 1000 messaggi di Twitter dovrebbe la proporzione di pos: neg: neutro del 33%: 33%: 33% o dovrebbe essere del 25%: 25%: 50%

Logicamente nella mia testa sembra che io mi alleno (vale a dire dare più campioni per neutro) che il sistema sarebbe stato meglio ad individuare frasi neutrali poi se sono positivi o negativi - è vero? o mi manca un po 'di teoria qui?

Grazie Rahul

È stato utile?

Soluzione

Il problema a cui ti riferisci è noto come il problema di squilibrio. Molti algoritmi di machine learning eseguono male quando si confronta con i dati di formazione squilibrata, vale a dire quando le istanze di una classe molto più numerosi quelli dell'altra classe. Leggi questo articolo per ottenere un buona panoramica del problema e come affrontarla. Per tecniche come Naive Bayes o alberi di decisione è sempre una buona idea per bilanciare i dati in qualche modo, ad esempio, dal sovracampionamento casuale (spiegato nel documento i riferimenti). Sono d'accordo con il suggerimento di MJV avere un training set corrispondono le proporzioni nel mondo reale. Questo può essere opportuno in alcuni casi, ma sono abbastanza sicuro che non è nel vostro ambiente. Per un problema di classificazione come quello che lei descrive, più le dimensioni dei gruppi di classe differiscono, più la maggior parte degli algoritmi di ML avranno problemi che discriminano le classi in modo corretto. Tuttavia, è sempre possibile utilizzare le informazioni su quale classe è il più grande in realtà prendendo come ripiego in modo tale che, quando la fiducia del classificatore per una particolare istanza è basso o questo caso non poteva essere classificato a tutti, si assegna il maggiore classe.

Una ulteriore osservazione: trovare la positività / negatività / neutralità nei messaggi di Twitter mi sembra essere una questione di grado. Come tale, può essere viewes come una regressione, piuttosto che un problema di classificazione, vale a dire al posto di uno schema di tre classi si forse potrebbe voler calcolare un punteggio che ti dice come positivo / negativo il messaggio è.

Altri suggerimenti

Ci sono molti altri fattori ... ma importante (nel determinare un rapporto adeguato e il volume dei dati di allenamento) è la distribuzione atteso di ciascuna classe di segnalazione (positivo, neutro, negativo) nel mondo reale. In effetti, una buona base per il set di formazione (e il set di controllo) è

  • [qualitativamente] il più possibile rappresentativi di tutta la "popolazione"
  • [quantitativamente] basta che le misurazioni effettuate da tali gruppi è statisticamente significativa grande.

L'effetto della [relativa] abbondanza di una certa categoria di messaggi nel training set è difficile da determinare; è in ogni caso un fattore minore, o meglio uno che è altamente sensibile to altri fattori. Miglioramento della precisione del classificatore, nel suo complesso, o per quanto riguarda una categoria particolare, è tipicamente legato più alla specifica implementazione del classificatore (es. È Bayesiano, quali sono i token, sono rumore gettone eliminato, è vicinanza un fattore, stiamo usando bi-grammi ecc ...) rispetto a quello puramente quantitativa caratteristiche del training set.

Mentre il sopra è generalmente di fatto, ma moderatamente utile per la selezione della dimensione e della composizione del training set, ci sono modi di determinare, post facto , quando una dimensione e la composizione di una formazione adeguata i dati sono stati forniti.
Un modo per ottenere questo è quello di introdurre un insieme di controllo, cioè una etichetta manualmente, ma che non è parte della formazione impostare e misura per test differente viene eseguito con vari sottoinsiemi di training set, il richiamo e precisione ottenuta per ciascuna categoria (o alcune misurazioni accuratezza simili), per questo la classificazione del set di controllo. Quando queste misure non dovessero migliorare o degradare, al di là di ciò che è statisticamente rappresentativo, la dimensione e la composizione della formazione [sub] set è probabilmente quella giusta (a meno che non si tratta di un over-fitting set :-(, ma questo è un altro problema del tutto. ..)

Questo approccio, implica che si utilizza un set di formazione che potrebbe essere da 3 a 5 volte la dimensione del sottoinsieme di formazione effettivamente necessario, in modo che si può costruire, in modo casuale (all'interno di ciascuna categoria), molti sottoinsiemi differenti per le varie prove.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top