Vai al contenuto

Classificazione a singola classe

Da Wikipedia, l'enciclopedia libera.

Nell'apprendimento automatico, la classificazione a singola classe (OCC, one-class classification), nota anche come classificazione unaria o modellazione di classe, è un approccio all'addestramento di classificatori binari in cui vengono utilizzati solo esempi di una delle due classi[1].

Esempi includono il monitoraggio dei riduttori degli elicotteri,[2] la previsione dei guasti ai motori,[3] o la valutazione dello stato operativo di una centrale nucleare come "normale". In tali scenari, ci sono pochi esempi (se non addirittura nessuno) di stati catastrofici del sistema - rari valori anomali - ricompresi nella seconda classe. In alternativa, la classe su cui ci si concentra può coprire un piccolo sottoinsieme coerente dei dati e la formazione può basarsi su un approccio a collo di bottiglia informativo.[4]

Il termine classificazione a singola classe è stato coniato da Moya & Hush nel 1996[5] e in letteratura scientifica si trovano sue molte applicazioni, ad esempio il rilevamento di outlier, il rilevamento di anomalie, il rilevamento di novità. Una caratteristica dell'OCC è che utilizza solo campioni dalla classe assegnata, in modo che non sia strettamente richiesto un campionamento rappresentativo per classi diverse da quella obiettivo.[6]

La classificazione a singola classe basata su SVM si basa sull'identificazione della più piccola ipersfera (con raggio r e centro c) composta da tutti i campioni (della classe).[7] Questo metodo si chiama Support Vector Data Description (SVDD). Formalmente, il problema può essere definito nella seguente forma di ottimizzazione vincolata:

Tuttavia, la formulazione data è altamente restrittiva e sensibile alla presenza di outlier. Pertanto, una formulazione flessibile, che tenga conto della presenza di outlier, può essere formulata come mostrato di seguito:

Dalle condizioni di Karush-Kuhn-Tucker per l'ottimalità, si ottiene

dove gli si trovano come soluzione al seguente problema di ottimizzazione:

tale che,

L'introduzione della funzione kernel garantisce maggiore flessibilità all'algoritmo One-class SVM (OSVM).[8]

Apprendimento PU (da positivi e non etichettati)

[modifica | modifica wikitesto]

Un problema simile è l'apprendimento PU, in cui un classificatore binario è costruito tramite apprendimento semi-supervisionato da esempi positivi e non etichettati, (positive unlabeled).[9]

Nell'apprendimento PU, si presume che siano disponibili due serie di esempi per l'addestramento: la serie positiva e un insieme misto , che si presume contenga campioni sia positivi sia negativi, ma senza che questi ultimi siano etichettati come tali. Ciò contrasta con altre forme di apprendimento semi-supervisionato, in cui si presume la disponibilità di un insieme etichettato contenente esempi di entrambe le classi oltre ai campioni non etichettati. Esistono diverse tecniche per adattare i classificatori supervisionati all'impostazione di apprendimento PU, comprese varianti dell'algoritmo EM. L'apprendimento PU è stato applicato con successo a testo,[10][11][12] serie temporali,[13] problemi di bioinformatica,[14][15] e telerilevamento.[16]

Sono stati proposti diversi approcci per risolvere problemi di classificazione a singola classe. Gli approcci possono essere distinti in tre categorie principali:[17]

  1. stima della densità
  2. metodi di delimitazione
  3. metodi di ricostruzione.

Metodi di stima della densità

[modifica | modifica wikitesto]

I metodi di stima della densità si basano sulla stima della densità dei campioni e sulla definizione della soglia. Questi metodi si basano sull'assunzione di distribuzioni, come la distribuzione gaussiana o di Poisson. In seguito, è possibile utilizzare test di discordanza per testare nuovi esempi. Questi metodi sono robusti rispetto alla variazione di scala.

Il modello gaussiano[18] è uno dei metodi più semplici per creare classificatori a singola classe. A causa del Teorema del Limite Centrale (TLC), questi metodi funzionano meglio quando è presente un gran numero di campioni i quali sono perturbati da piccoli errori indipendenti. La distribuzione di probabilità per un oggetto d-dimensionale è data da:

dove, è la media e è la matrice di covarianza. Calcolando l'inversa della matrice di covarianza ( ) è l'operazione più costosa e nei casi in cui i dati non sono riscalati correttamente o i dati hanno pseudo-inverse a direzioni singolari viene utilizzato per approssimare l'inverso e viene calcolato come .[19]

Metodi di delimitazione

[modifica | modifica wikitesto]

I metodi basati sulla delimitazione si concentrano sulla definizione di confini attorno a una serie di punti, chiamati punti obiettivo. Questi metodi cercano di ottimizzare il volume. I metodi basati sulla delimitazione si basano sulle distanze e quindi non sono robusti rispetto alla variazione di scala. Il metodo K-centers, NN-d e SVDD sono alcuni degli esempi principali.

K-centers Nell'algoritmo K-centers,[20] si posizionano piccole sfere con raggio uguale per minimizzare la distanza massima tra tutte le distanze minime tra le istanze di addestramento e i centri. Formalmente, si deve minimizzare il seguente errore,

L'algoritmo utilizza un metodo di ricerca in avanti con inizializzazione casuale, in cui il raggio è determinato dalla distanza massima dell'istanza che ogni data sfera dovrebbe catturare. Una volta determinati i centri, per qualsiasi istanza di test la distanza può essere calcolata come,

Metodi di ricostruzione

[modifica | modifica wikitesto]

I metodi di ricostruzione utilizzano conoscenze pregresse e un processo generativo per costruire un modello generativo che si adatti al meglio ai dati. Nuove istanze possono essere descritte in termini di stato del modello generativo. Alcuni esempi di metodi di ricostruzione per OCC sono il clustering con k-means, la quantizzazione vettoriale LVQ, le mappe auto-organizzate, ecc.

Classificazione dei documenti

[modifica | modifica wikitesto]

Il modello-base di Support Vector Machine (SVM) viene addestrato utilizzando esempi sia positivi sia negativi, tuttavia è stato dimostrato che ci sono molte valide ragioni per utilizzare solo esempi positivi. Quando l'algoritmo SVM viene modificato per utilizzare solo esempi positivi, il processo è considerato una classificazione a singola classe. Una situazione in cui questo tipo di classificazione potrebbe rivelarsi utile per il paradigma delle SVM è quella in cui si cerca di identificare i siti di interesse per un browser web basandosi esclusivamente sulla cronologia di navigazione dell'utente.

Studi biomedici

[modifica | modifica wikitesto]

La classificazione a singola classe può essere particolarmente utile nell’ambito della biomedicina, dove spesso i dati di altre classi possono essere difficili o impossibili da ottenere. Nello studio dei dati biomedici, può essere difficile e/o costoso ottenere l'insieme di dati etichettati dalla seconda classe necessario per eseguire una classificazione a due classi. Uno studio del Scientific World Journal ha rilevato che l'approccio basato sulla tipicità è il più utile nell'analisi dei dati biomedici perché può essere applicato a qualsiasi tipo di dataset (continuo, discreto o nominale).[21] L'approccio basato sulla tipicità si fonda sul clustering dei dati esaminandoli e inserendoli in cluster nuovi o esistenti.[22] Per applicare la tipicità alla classificazione a singola classe per le analisi biomediche, ogni nuova osservazione, , viene confrontata con la classe target, , e identificata come outlier o appartenente alla classe target.[21]

Rilevamento non supervisionato della deriva concettuale

[modifica | modifica wikitesto]

La classificazione a singola classe presenta somiglianze con il rilevamento non supervisionato del concept drift, in quanto entrambi mirano a identificare se i dati non osservati condividono caratteristiche simili ai dati iniziali. Un concetto è definito come la distribuzione di probabilità fissa da cui vengono estratti i dati. Nel rilevamento non supervisionato del concept drift, l'obiettivo è rilevare se la distribuzione dei dati cambia ma senza utilizzare etichette di classe. Nella classificazione a singola classe, il flusso di dati non è importante. I dati non osservati vengono classificati come tipici o anomali a seconda delle loro caratteristiche, indipendentemente dal fatto che provengano o meno dal concetto iniziale. Tuttavia, il rilevamento non supervisionato del drift monitora il flusso di dati e segnala una situazione di drift in caso di variazioni o anomalie significative. Il rilevamento non supervisionato del concept drift può essere identificato come la forma online della classificazione a singola classe.[23] I classificatori a singola classe vengono utilizzati per rilevare casi di concept drift.[24]

  1. Paolo Oliveri, Class-modelling in food analytical chemistry: Development, sampling, optimisation and validation issues – A tutorial, in Analytica Chimica Acta, vol. 982, 22 agosto 2017, pp. 9–19, DOI:10.1016/j.aca.2017.05.013.
  2. (EN) Nathalie Japkowicz, Supervised Versus Unsupervised Binary-Learning by Feedforward Neural Networks, in Machine Learning, vol. 42, n. 1, 1º gennaio 2001, pp. 97–122, DOI:10.1023/A:1007660820062.
  3. Thomas Petsche, Angelo Marcantonio e Christian Darken, A Neural Network Autoassociator for Induction Motor Failure Prediction, in Advances in Neural Information Processing Systems, vol. 8, MIT Press, 1995.
  4. Koby Crammer e Gal Chechik, A needle in a haystack: local one-class optimization, in Proceedings of the twenty-first international conference on Machine learning, Association for Computing Machinery, 4 luglio 2004, pp. 26, DOI:10.1145/1015330.1015399.
  5. Mary M. Moya e Don R. Hush, Network constraints and multi-objective optimization for one-class classification, in Neural Networks, vol. 9, n. 3, 1º aprile 1996, pp. 463–474, DOI:10.1016/0893-6080(95)00120-4.
  6. Oxana Ye. Rodionova, Paolo Oliveri e Alexey L. Pomerantsev, Rigorous and compliant approaches to one-class classification, in Chemometrics and Intelligent Laboratory Systems, vol. 159, 15 dicembre 2016, pp. 89–96, DOI:10.1016/j.chemolab.2016.10.002.
  7. Zineb Noumir, Paul Honeine e Cédue Richard, On simple one-class classification methods, in 2012 IEEE International Symposium on Information Theory Proceedings, 2012-07, pp. 2022–2026, DOI:10.1109/ISIT.2012.6283685.
  8. (EN) Shehroz S. Khan e Michael G. Madden, A Survey of Recent Trends in One Class Classification, in Lorcan Coyle, Jill Freyne (a cura di), Artificial Intelligence and Cognitive Science, Springer, 2010, pp. 188–197, DOI:10.1007/978-3-642-17080-5_21.
  9. (EN) Bing Liu, Web Data Mining: Exploring Hyperlinks, Contents, and Usage Data, Springer Science & Business Media, 2007, ISBN 978-3-540-37881-5.
  10. Bing Liu, Wee Sun Lee e Philip S. Yu, Partially Supervised Classification of Text Documents, in Proceedings of the Nineteenth International Conference on Machine Learning, Morgan Kaufmann Publishers Inc., 8 luglio 2002, pp. 387–394, DOI:10.5555/645531.656022.
  11. Hwanjo Yu, Jiawei Han e Kevin Chen-Chuan Chang, PEBL: positive example based learning for Web page classification using SVM, in Proceedings of the eighth ACM SIGKDD international conference on Knowledge discovery and data mining, Association for Computing Machinery, 23 luglio 2002, pp. 239–248, DOI:10.1145/775047.775083.
  12. Xiaoli Li e Bing Liu, Learning to classify texts using positive and unlabeled data, in Proceedings of the 18th international joint conference on Artificial intelligence, Morgan Kaufmann Publishers Inc., 9 agosto 2003, pp. 587–592, DOI:10.5555/1630659.1630746.
  13. Minh Nhut Nguyen, Xiao-Li Li e See-Kiong Ng, Positive Unlabeled Learning for Time Series Classification, in IJCAI, 2011.
  14. Peng Yang, Xiao-Li Li e Jian-Ping Mei, Positive-unlabeled learning for disease gene identification, in Bioinformatics, vol. 28, n. 20, 1º ottobre 2012, pp. 2640–2647, DOI:10.1093/bioinformatics/bts504.
  15. Leandro A Bugnon, Cristian Yones e Diego H Milone, Genome-wide discovery of pre-miRNAs: comparison of recent approaches based on machine learning, in Briefings in Bioinformatics, vol. 22, n. 3, 19 agosto 2020, DOI:10.1093/bib/bbaa184.
  16. Wenkai Li, Qinghua Guo e Charles Elkan, A Positive and Unlabeled Learning Algorithm for One-Class Classification of Remote-Sensing Data, in IEEE Transactions on Geoscience and Remote Sensing, vol. 49, n. 2, 2011-02, pp. 717–725, DOI:10.1109/TGRS.2010.2058578.
  17. DMJ Tax, One-class classification; concept-learning in the absence of counter-examples, in (Ph.D. thesis), University of Delft, NL, 2001.
  18. Christopher M. Bishop, Neural networks for pattern recognition, Reprinted, Oxford University Press, 2010, ISBN 978-0-19-853864-6.
  19. Gilbert Strang, Introduction to applied mathematics. Hauptbd., Nachdr., Wellesley-Cambridge Press, 2009, ISBN 978-0-9614088-0-0.
  20. (EN) Alexander Ypma e Robert P. W. Duin, Support objects for domain approximation, in Lars Niklasson, Mikael Bodén, Tom Ziemke (a cura di), ICANN 98, Springer, 1998, pp. 719–724, DOI:10.1007/978-1-4471-1599-1_110.
  21. 1 2 (EN) Itziar Irigoien, Basilio Sierra e Concepción Arenas, Towards Application of One-Class Classification Methods to Medical Data, in The Scientific World Journal, vol. 2014, n. 1, 2014, pp. 730712, DOI:10.1155/2014/730712.
  22. (EN) I. Irigoien e C. Arenas, INCA: New statistic for estimating the number of clusters and identifying atypical units, in Statistics in Medicine, vol. 27, n. 15, 10 luglio 2008, pp. 2948–2973, DOI:10.1002/sim.3143.
  23. (EN) Ömer Gözüaçık e Fazli Can, Concept learning using one-class classifiers for implicit drift detection in evolving data streams, in Artificial Intelligence Review, vol. 54, n. 5, 2021-06, pp. 3725–3747, DOI:10.1007/s10462-020-09939-x.
  24. (EN) Bartosz Krawczyk e Michał Woźniak, One-class classifiers with incremental learning and forgetting for data streams with concept drift, in Soft Computing, vol. 19, n. 12, 2015-12, pp. 3387–3400, DOI:10.1007/s00500-014-1492-5.

Voci correlate

[modifica | modifica wikitesto]