Prestazioni ottimali previste su un set di dati


9

Supponiamo che io abbia un semplice problema di apprendimento automatico come una classificazione. Con alcuni parametri di riferimento nella visione o nel riconoscimento audio, io, come essere umano, sono un ottimo classificatore. Ho quindi un'intuizione su quanto un classificatore può ottenere.

Ma con molti dati un punto è che non so quanto sia possibile ottenere il classificatore che alleno. Questi sono dati in cui personalmente non sono un ottimo classificatore (diciamo, classificare l'umore di una persona dai dati EEG). Non è davvero possibile avere un'intuizione su quanto sia difficile il mio problema.

Ora, se mi viene presentato un problema di apprendimento automatico, vorrei scoprire quanto riesco a ottenere. Ci sono approcci di principio a questo? come lo faresti?

Visualizza i dati? Inizia con modelli semplici? Inizia con modelli molto complessi e vedi se riesco ad adattarmi? Cosa stai cercando se vuoi rispondere a questa domanda? Quando smetti di provare?

Risposte:


6

Non so se questo conta come una risposta ...

Questo è l'unico problema che ti tiene sveglio la notte. Sai costruire un modello migliore? Phd-comics lo riassume bene (non so se mi è permesso caricare i fumetti, quindi li ho appena collegati)

Dalla mia esperienza personale, acquisita partecipando a concorsi di Machine Learning, ecco una regola empirica.

Immagina di avere un compito di classificazione. Siediti, fai un brainstorming di un'ora o meno su come affrontare il problema e controlla lo stato dell'arte in quest'area. Costruisci un modello basato su questa ricerca, preferibilmente uno che è noto per essere stabile senza troppe modifiche ai parametri. Le prestazioni risultanti saranno all'incirca all'80% circa delle massime prestazioni ottenibili.

Questa regola si basa sul cosiddetto principio di Pareto , che si applica anche all'ottimizzazione. Dato un problema, è possibile creare una soluzione che funzioni ragionevolmente bene in fretta, ma da quel momento il rapporto tra miglioramento e sforzo nel tempo diminuisce rapidamente.

Alcune parole finali: quando leggo articoli su nuovi algoritmi di classificazione, mi aspetto che gli autori confrontino la loro nuova razza con tali approcci "pareto-ottimizzati", cioè mi aspetto che trascorrano un ragionevole periodo di tempo per rendere lo stato dell'arte all'avanguardia (alcuni richiedono più o meno ottimizzazione dei parametri). Sfortunatamente, molti non lo fanno.


0

Il modo convenzionale è considerare il ROC e l' area sottostante (AUC). La logica alla base di questo approccio è che maggiore è il tasso positivo reale per un determinato tasso di falsi positivi, migliore è il classificatore. L'integrazione su tutti i possibili tassi di falsi positivi ti dà una misura complessiva.


3
Per quanto ho capito l'OP, il suo problema NON è la misurazione delle prestazioni di un classificatore (che si spera sia una buona stima per le prestazioni future attese) ma quanto si possa ottenere TUTTO, cioè qual è il massimo (non assolutamente per metrica (AUC è 1 al massimo o qualcosa del genere), ma per un dato problema)
steffen

Sì, questo è ciò che intendevo.
Bayerj,

0

Se c'è un modo per visualizzare i tuoi dati, questo è lo scenario migliore, tuttavia non tutti i dati possono essere visualizzati allo stesso modo, quindi potrebbe essere necessario trovare il tuo modo di proiettare i dati che possono aiutarti a capire i tuoi dati meglio.

Tuttavia, in generale, di solito prendo un piccolo campione di dati, lo converto in ARFF e provo diversi algoritmi di clustering da WEKA. Quindi, vedo solo quale algoritmo mi dà una migliore matrice di confusione. Mi dà un indizio su quanto bene siano separate le classi e mi permette di indagare sul perché quel particolare algoritmo fa meglio per questi dati. Inoltre cambio il numero di cluster (ovvero non uso solo k = 2, utilizzo k = 3, 4 ecc.). Mi dà un'idea se vi sia frammentazione nei dati o se una classe sia più frammentata dell'altra. Se mescoli insieme i punti di allenamento e test per il raggruppamento, puoi anche misurare quali cluster sono rappresentati dai tuoi punti di allenamento. Alcuni cluster possono essere sovrarappresentati e alcuni potrebbero essere sottorappresentati, entrambi possono causare problemi nell'apprendimento di un classificatore.

Controlla sempre la precisione del tuo allenamento. Se la precisione dell'allenamento non sembra buona, anche i punti di allenamento classificati male sono un grande suggerimento.

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.