Quale classificatore è più preciso per una classificazione SVM?


10

Sto imparando la classificazione SVM e ho riscontrato un problema. Non sono sicuro che questo dilemma abbia una sua terminologia.

Supponiamo che vorremmo classificare il paziente per SVM dati i campioni di persone sane (di entrambi i sessi) e persone con cancro al fegato (di entrambi i sessi). Se etichettiamo le persone sane che campionano come classe 1 e le persone con cancro come classe 2, possiamo formare un SVM binario e ottenere un classificatore 1 per predire qualsiasi nuovo paziente. Ora, immagina un altro scenario. Supponiamo che prima dividiamo tutti i campioni per genere prima della classificazione SVM. Per ogni genere, etichettiamo ancora pazienti sani contro pazienti cancerosi in 2 classi e formiamo un SVM binario per ottenere rispettivamente il classificatore 2 e il classificatore 3 per campioni femminili e maschili. La domanda è se esiste una nuova paziente, quale classificatore, 1 o 2, dovrebbe essere usato per ottenere una previsione più accurata? Ecco il dilemma per gli argomenti che ho

(1) Quando il numero di campioni è elevato, la previsione dovrebbe essere più accurata. Sulla base di questo argomento, il classificatore 1 sembra una buona scelta.

(2) Tuttavia, se dividiamo prima i campioni in gruppi femminili e maschili, il classificatore 2 sembra una scelta migliore poiché il nuovo paziente (campione sconosciuto) è femmina.

Questo tipo di dilemma ha una terminologia o qualcuno conosce ulteriori informazioni o come risolvere un problema del genere? Non sono nemmeno sicuro che si tratti di una domanda legittima e mi scuso per l'ingenua domanda in anticipo. Grazie


4
Non è possibile rispondere a questa domanda in generale. Forse se sapessimo quanto il genere influenza il cancro e quanti campioni hai, quale funzione di perdita usi ecc. Probabilmente è molto più facile sperimentare usando la validazione incrociata.
adrianN,

Grazie. Ha senso. Immagino che non ci dovrebbe essere una regola generale.
Cassie

questo suona come una domanda ML generale su "come devo usare ML per risolvere questo problema". non esiste una risposta standard. è importante / accettato / standard per provare approcci diversi e vedere quali strategie portano a risultati di previsione più accurati. l'intestazione generale è qualcosa come "rappresentazione del problema del mondo reale nel quadro astratto ML" o approssimativamente "modellistica" ed è coperta da buoni riferimenti standard
vzn

Risposte:


2

Dovresti dare un'occhiata alla selezione delle funzionalità e agli algoritmi che automatizzano questo processo. Va bene se sei nuovo in ML e non capisci l'intero processo di selezione delle funzionalità, ottieni solo l'intuizione corretta e quindi puoi utilizzare una libreria per automatizzare il processo.

L'idea fondamentale di avere un algoritmo di apprendimento è così che si possa trovare i modelli ... il più che si può fare, è aiutare gli out, fornendo un sacco di dati (non ridondanti) e avere un buon pre-elaborazione fase, che di solito comporta roba come la selezione delle funzioni e la normalizzazione .

Da un punto di vista amichevole, quando si implementano algoritmi di apprendimento, non si dovrebbe provare a modificare il proprio set di dati semplicemente "guardandolo", a meno che non si disponga di metriche concrete che dimostrino che necessita di modifiche, molte volte, è stato il caso che l'apprendimento l'algoritmo pone una forte propensione per le caratteristiche che non sembrano nemmeno essere "legate" in remoto al processo di classificazione. Prova sempre a fare una fase di selezione delle funzionalità prima di provare qualsiasi modifica ai tuoi dati.


1

un'intestazione generale per questo tipo di passaggio del processo di apprendimento automatico è la preelaborazione dei dati che Wikipedia afferma include "pulizia, normalizzazione, trasformazione, estrazione e selezione di funzionalità, ecc.".

un altro aspetto dell'apprendimento automatico è "la creazione del modello". ciò implica decisioni, ad esempio su quante classi verranno rilevate, quali saranno le "dimensioni" o le "dimensioni" della struttura ML (ad es. "quanti kernel includerà l'SVM" ecc., approssimativamente analogo alla scelta del numero di neuroni in una NN modello). sfortunatamente alcuni ref tendono a saltare o "sorvolare" questo passaggio. ma nota che è comune con le statistiche e alcuni libri statistici avranno una buona descrizione.

negli approcci di tipo ML è convenzionale che esiste un forte processo iterativo / feedback / evolutivo per determinare sia la preelaborazione che la modellizzazione efficaci. lo sperimentatore prova varie idee di preelaborazione e modellazione e si muove nella direzione di quelle di maggior successo. la regola generale è "migliori sono le previsioni, più uno è correttamente [e presumibilmente anche realisticamente ] pre-elaborazione e modellistica", ma anche dato che l' eccessivo adattamento è accuratamente escluso.

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.