vuoi
o PayPal
tutte le volte che vuoi
Obiettivo, Features Selection, Dimensionamento Rete, Valutazione del Costo di Classificazione, Punti di Riflessione
ABSTRACT
Il contest consiste nella costruzione e nell'addestramento di un classificatore che riesca a discriminare campioni che appartengono alle seguenti classi:
- WT: Dna originale YMA, YNA, YQA, Y488A, 502stop: sequenze amminoacidiche (mutazioni indotte rispetto al WT).
Ciascun campione è caratterizzato da un insieme di tipi di features:
- Haral. Features: features di tipo tessiturale.
- Inv. Mom.: i momenti invarianti che rappresentano la forma della cellula. Vengono detti invarianti perché non mutano il loro valore al variare della posizione dell'immagine.
- UCE Q.ty: il volume della quantità di proteina in ogni cellula.
- Volume: il volume della cellula.
OBIETTIVO
Ogni vettore di features rappresenta una cellula alla quale deve essere assegnata una classe di appartenenza. L'obiettivo è minimizzare il costo del sistema di classificazione.
PUNTI DI RIFLESSIONE
2 Capitolo
classificazione tenendo conto di una particolare matrice dei costi fornita. Questa documentazione può essere vista come divisa in due parti: la prima parte consiste nella esposizione di tutte le operazioni effettuate durante il processo di feature selection, mentre la seconda parte descrive le scelte effettuate nella configurazione del classificatore.
Non ci soffermeremo a fondo sugli aspetti di configurazione banali dei blocchi del software Knime per dare più spazio all'esposizione delle scelte progettuali che abbiamo preso durante il dimensionamento della rete.
FEATURES SELECTION
La features selection è il processo che consiste nella scelta, a partire da un insieme di features più o meno vasto, di un sottoinsieme del gruppo di features iniziali che però conservi un potere discriminante tra i vari campioni soddisfacente.
Allo scopo di poter estrapolare diversi gruppi di features per un successivo confronto, abbiamo utilizzato il blocco
Evaluator | Search | Gruppi di features risultanti |
---|---|---|
Cfs Subset Eval | valuta la capacità di discriminazione di un sottoinsieme di attributi considerando l'abilità predittiva di ogni attributo unitamente al loro grado di ridondanza (ad esempio consente di capire se l'aggiunta di un altro attributo non aggiunge informazione). I sottoinsiemi di attributi aventi un'elevata correlazione con la classe di appartenenza e una bassa intercorrelazione sono quelli che saranno selezionati. | |
Wrapper Subset Eval | effettua la selezione |
Le features vengono valutate utilizzando dei wrapper, ossia si valuta un particolare sottoinsieme di features tenendo conto di uno specifico modello di apprendimento e delle sue performance in termini di errore.
Classifier Subset Eval: simile al precedente, solo che utilizza una differente funzione di errore.
Consistency Subset Eval: si cercano combinazioni di attributi i cui valori dividono i dati in sottoinsiemi che contengono una forte maggioranza di una classe. La ricerca è a favore dei sottoinsiemi piccoli ad alta consistenza; la consistenza può essere calcolata con diverse metriche suggerite da vari autori.
Si riporta una descrizione degli algoritmi di ricerca:
- Greedy Stepwise: utilizza essenzialmente un algoritmo hill-climbing.
- GeneticSearch: utilizza semplici algoritmi genetici.
- Bestfirst: utilizza la beam search, una particolare tipologia di algoritmi di ricerca basato sui cammini.
- RankSearch: a partire da una lista di attributi a cui sono stati dati dei voti


Capitolo 3






L'abbiamo preferita alla quarta, alla quinta e alla sesta perché, sebbene la rete addestrata con più features converga in meno epoche, il numero di epoche di addestramento che si risparmiano non giustifica il tempo di addestramento di gran lunga maggiore che si impiega e il numero significativamente maggiore di neuroni necessario (rischio di overfitting); tuttavia ancora non abbiamo deciso il numero di epoche di addestramento poiché le curve tendono tutte al valore asintotico nullo e quindi abbiamo ritenuto opportuno effettuare questa scelta tenendo conto di risultati statistici più precisi.
NOTA1: Il fatto che in ogni caso l'errore vada a zero e ci si stabilizzi supponiamo sia dato dal fatto che TTS e TS siano molto simili come distribuzione. Infatti, anche andando a variare di molto il numero di epoche (anche di vari ordini di grandezze) non si verifica overtraining cioè l'errore commesso sul TTS è sempre di 0%.
NOTA2: facendo
riferimento alla figura 8 (cioè rete di 12 features con 25 neuroni), il fatto che l'errore su TS sia ancora a 0.181 alla dodicesima epoca (mentre, ad esempio, nella prima è già 0) è poco rilevante perché dipende dal seed del partitioning. Infatti cambiando il seed si può arrivare a 0: ciò che interessa a noi non è tanto confrontare chi arriva per prima a zero, ma chi ci si accosta in maniera più veloce sul TTS. NOTA3: In figura 5, sul ramo inferiore, abbiamo inserito lo JavaSnippet tra lo Scorer e il Predictor per valutare l'accuratezza tenendo già conto degli errori di classificazione dovuti al rigetto, come da semantica del problema; se togliessimo lo JavaSnippet le percentuali di errore sarebbero, ovviamente, leggermente più basse. Adesso non ci resta che settare il numero di epoche: abbiamo deciso di scegliere questo parametro effettuando diverse cross-validation al variare del numero di epoche perAvere dei risultati statisticamente più significativi. I risultati sono riassunti tabellarmente nella figura sottostante:
Dai risultati in tabella, abbiamo deciso di addestrare la rete con un numero di epoche pari a 15 che da un lato ci dà un errore risultante dalla cross-validation pari a 0.145 (quindi più che accettabile) e dall'altro riteniamo che ci copra dal rischio di overtraining; infatti guardando la figura 8 si può vedere che a 15 epoche il TTS ha da poco raggiunto un errore percentuale pari a 0% e il fatto che si stabilizzi supponiamo sia dato dal fatto che TTS e TS sono molto simili tra loro e che per questo l'effetto dell'overtraining non sia visibile con un numero limitato di epoche.
Andando a visualizzare graficamente la rete neurale con tali parametri definitivi si è anche visto che l'errore commesso per epoca è di circa 0,05%, una soglia accettabile per non rischiare un'eccessiva specializzazione.
12 AppendiceCapitoloA4
Si noti che anche la suddivisione scelta in 80% per il TS e 20% per il TTS è la migliore tra quelle provate: questo perché andando a diminuire la percentuale di campioni per il TS è necessario un numero maggiore di epoche per un addestramento migliore.
VALUTAZIONE DEL COSTO DI CLASSIFICAZIONE
La valutazione del costo di classificazione viene effettuata con la tecnica MRC spiegataci in classe e in particolare questa è stata implementata tramite il nodo Cost.
Per ricavare la stima del costo di classificazione abbiamo effettuato diverse esecuzioni senza specificare i seed dello shuffle e del partitioner sul ramo TTS della rete finale, quindi resettando ogni volta i nodi dallo shuffle in poi. I risultati ottenuti sono i seguenti:
Come costo di classificazione da fornire pensiamo sia ragionevole fornire una media dei costi ottenuti nella tabella di sopra.