Classificazione delle sequenze vettoriali


9

Il mio set di dati comprende sequenze vettoriali. Ogni vettore ha 50 dimensioni con valori reali. Il numero di vettori in una sequenza varia da 3-5 a 10-15. In altre parole, la lunghezza di una sequenza non è fissa.

Alcune discrete sequenze (non vettori!) Sono annotate con un'etichetta di classe. Il mio compito è imparare un classificatore che, data una sequenza di vettori, viene calcolata l'etichetta della classe per l'intera sequenza.

Non posso dire l'esatta natura dei dati ma la natura delle sequenze non è temporale. Tuttavia, un vettore non può essere scambiato con un vettore x j senza cambiare l'etichetta ( i j ). In altre parole, l'ordine dei vettori è importante. I vettori stessi sono comparabili, ad esempio ha senso calcolare un prodotto punto e utilizzare questo valore di somiglianza.xixjij

La mia domanda è: quali sono gli strumenti / algoritmi che possono aiutare a classificare tali dati?

AGGIORNAMENTO: I dati hanno una proprietà tale che uno o pochissimi vettori influenzano fortemente l'etichetta della classe.

k

Risposte:


3

Dato che non puoi rivelare molti dettagli, sono costretto a essere un po 'generico nella mia risposta. Spero che sarà comunque utile. Prima di tutto, prenderei in considerazione la riduzione delle sequenze solo prima della classificazione (sia utilizzando il prodotto punto o qualcos'altro) se puoi assicurarti di non perdere le informazioni necessarie per la classificazione in seguito. Quindi questo approccio è fattibile solo se hai qualche idea sulla natura della classificazione. Per fare un semplice esempio: se l'etichetta di classe è solo il numero di vettori nella sequenza, non avrai molto successo nel prevedere l'etichetta di classe dal prodotto punto.

Quindi, prenderei l'intera sequenza come input per la classificazione e imporrei un massimo sulla lunghezza della sequenza che desideri prendere in considerazione. Puoi farlo trovando prima la lunghezza massima della sequenza m nel tuo set di allenamento e poi trasformando ogni sequenza di vettori 50-dimensionali in un vettore di dimensione 50 * m, possibilmente con alcuni valori mancanti alla fine se la sequenza non ha lunghezza massima. Probabilmente vorrai sbarazzarti di questi valori mancanti e potresti semplicemente sostituirli con zeri.

Da qui puoi seguire due strade: 1.) Applicare direttamente metodi di classificazione noti per essere adatti a dimensioni elevate. Prova qualcosa di semplice che non ha bisogno di molte ottimizzazioni come l'ingenua Bayes. In questo modo puoi vedere se questo approccio è fattibile senza perdere troppo tempo se non lo è. 2.) Provi prima a ridurre la dimensione e a capire meglio la natura della classificazione. È possibile che si desideri utilizzare qualcosa come l'analisi dei componenti principali o analizzare la correlazione / associazione tra ciascun componente vettoriale e l'etichetta della classe. Se hai successo, sai come ridurre correttamente la dimensione del tuo input prima di applicare la classificazione.

Se desideri seguire una di queste idee, tieni presente che i dettagli concreti dei tuoi dati e la classificazione possono rendere impossibile qualsiasi delle idee proposte sopra. Quindi, per favore, stai attento a controllare tutti i dettagli che conosci ma non puoi pubblicare qui prima di provare ad assicurarti di non perdere tempo.


0

I dati hanno una proprietà tale che uno o pochissimi vettori influenzano fortemente l'etichetta di classe.

L'approccio migliore (e più semplice) sarebbe probabilmente quello di addestrare semplicemente un classificatore su ciascun vettore e quindi fare la media delle previsioni attraverso i vettori per una data sequenza. I vettori importanti sarebbero fortemente influenti nelle loro previsioni, mentre le previsioni per i vettori non importanti sarebbero vicine allo 0,5 (o simili per un problema di classificazione non binaria).


Non proprio. Soprattutto se hai molti vettori senza informazioni importanti .. Se segui questa strada, allora usa sicuramente LSTM :)
pir
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.