La classificazione è il processo di previsione della classe di dati dati. Le classi sono talvolta chiamate come target / etichette o categorie. Classificazione la modellazione predittiva è il compito di approssimare una funzione di mappatura (f) dalle variabili di input (X) alle variabili di output discrete (y).
Ad esempio, il rilevamento di spam nei provider di servizi di posta elettronica può essere identificato come un problema di classificazione. Questa è la classificazione binaria poiché ci sono solo 2 classi come spam e non spam. Un classificatore utilizza alcuni dati di allenamento per capire come le variabili di input date si riferiscono alla classe. In questo caso, le email di spam e non spam conosciute devono essere utilizzate come dati di allenamento. Quando il classificatore viene addestrato con precisione, può essere utilizzato per rilevare un’e-mail sconosciuta.
La classificazione appartiene alla categoria di apprendimento supervisionato in cui i target hanno anche fornito i dati di input. Ci sono molte applicazioni nella classificazione in molti domini come nell’approvazione del credito, nella diagnosi medica, nel marketing target ecc.
Ci sono due tipi di studenti nella classificazione come studenti pigri e studenti desiderosi.
- Lazy learners
Lazy learners memorizza semplicemente i dati di allenamento e aspetta che compaiano i dati di test. Quando lo fa, la classificazione viene condotta sulla base dei dati più correlati nei dati di allenamento memorizzati. Rispetto agli studenti desiderosi, gli studenti pigri hanno meno tempo di allenamento ma più tempo nella previsione.
Es. k-nearest neighbor, Case-based reasoning
2. Gli studenti desiderosi
Gli studenti desiderosi costruiscono un modello di classificazione basato sui dati di allenamento forniti prima di ricevere i dati per la classificazione. Deve essere in grado di impegnarsi in una singola ipotesi che copre l’intero spazio dell’istanza. A causa della costruzione del modello, gli studenti desiderosi richiedono molto tempo per il treno e meno tempo per prevedere.
Es. Albero decisionale, Naive Bayes, Reti neurali artificiali
Algoritmi di classificazione
Ora sono disponibili molti algoritmi di classificazione, ma non è possibile concludere quale sia superiore agli altri. Dipende dall’applicazione e dalla natura del set di dati disponibili. Ad esempio, se le classi sono separabili linearmente, i classificatori lineari come la regressione logistica, il discriminante lineare di Fisher può sovraperformare i modelli sofisticati e viceversa.
struttura Decisionale
Decisione costruisce l’albero di classificazione o di modelli di regressione in forma di struttura ad albero. Utilizza un set di regole if-then che si escludono a vicenda ed esaustivo per la classificazione. Le regole vengono apprese in sequenza utilizzando i dati di allenamento uno alla volta. Ogni volta che viene appresa una regola, le tuple coperte dalle regole vengono rimosse. Questo processo viene continuato sul set di formazione fino a soddisfare una condizione di terminazione.
L’albero è costruito in modo da dividere e conquistare ricorsivo dall’alto verso il basso. Tutti gli attributi dovrebbero essere categorici. Altrimenti, dovrebbero essere discretizzati in anticipo. Gli attributi nella parte superiore dell’albero hanno un impatto maggiore nella classificazione e vengono identificati utilizzando il concetto di guadagno di informazioni.
Un albero decisionale può essere facilmente montato generando troppi rami e può riflettere anomalie dovute a rumore o valori anomali. Un modello over-montato ha una prestazione molto scarsa sui dati invisibili, anche se dà una prestazione impressionante sui dati di formazione. Questo può essere evitato da pre-potatura che interrompe la costruzione dell’albero precoce o post-potatura che rimuove i rami dall’albero completamente cresciuto.
Naive Bayes
Naive Bayes è un classificatore probabilistico ispirato al teorema di Bayes sotto una semplice ipotesi che gli attributi sono condizionatamente indipendenti.
La classificazione è condotto da derivare il massimo posteriore che è il massimo P(Ci|X) con l’assunto di cui sopra applicando il teorema di Bayes. Questa ipotesi riduce notevolmente il costo computazionale contando solo la distribuzione della classe. Anche se l’ipotesi non è valida nella maggior parte dei casi poiché gli attributi dipendono, sorprendentemente Ingenuo Bayes è in grado di eseguire in modo impressionante.
Naive Bayes è un algoritmo molto semplice da implementare e buoni risultati hanno ottenuto nella maggior parte dei casi. Può essere facilmente scalabile in set di dati più grandi poiché richiede tempo lineare, piuttosto che una costosa approssimazione iterativa utilizzata per molti altri tipi di classificatori.
Naive Bayes può soffrire di un problema chiamato problema di probabilità zero. Quando la probabilità condizionale è zero per un particolare attributo, non riesce a fornire una previsione valida. Questo deve essere risolto esplicitamente usando uno stimatore laplaciano.
Reti Neurali Artificiali
Rete Neurale artificiale è un insieme di input/output unità in cui ogni connessione ha un peso associato iniziato da psicologi e neurobiologi come sviluppare e testare computazionale analoghi di neuroni. Durante la fase di apprendimento, la rete impara regolando i pesi in modo da poter prevedere la corretta etichetta di classe delle tuple di input.
Ci sono molte architetture di rete disponibili ora come Feed-forward, Convoluzionale, Ricorrente ecc. L’architettura appropriata dipende dall’applicazione del modello. Per la maggior parte dei casi i modelli feed-forward forniscono risultati ragionevolmente accurati e, soprattutto per le applicazioni di elaborazione delle immagini, le reti convoluzionali hanno prestazioni migliori.
Possono esserci più livelli nascosti nel modello a seconda della complessità della funzione che verrà mappata dal modello. Avere livelli più nascosti consentirà di modellare relazioni complesse come reti neurali profonde.
Tuttavia, quando ci sono molti livelli nascosti, ci vuole un sacco di tempo per addestrare e regolare wights. L’altro svantaggio di è la scarsa interpretabilità del modello rispetto ad altri modelli come gli alberi decisionali a causa del significato simbolico sconosciuto dietro i pesi appresi.
Ma le reti neurali artificiali hanno eseguito in modo impressionante nella maggior parte delle applicazioni del mondo reale. È un’elevata tolleranza ai dati rumorosi e in grado di classificare modelli non addestrati. Di solito, le reti neurali artificiali funzionano meglio con input e output a valore continuo.
Tutti gli algoritmi di cui sopra sono studenti desiderosi poiché addestrano un modello in anticipo per generalizzare i dati di allenamento e usarlo per la previsione in seguito.
k-Nearest Neighbor (KNN)
k-Vicino più Prossimo è un pigro algoritmo di apprendimento che memorizza tutte le istanze corrispondono alla formazione di punti di dati nello spazio n-dimensionale. Quando viene ricevuto un dato discreto sconosciuto, analizza il numero k più vicino di istanze salvate (vicini più vicini) e restituisce la classe più comune come previsione e per i dati a valore reale restituisce la media dei vicini k più vicini.
Nell’algoritmo nearest neighbor ponderato a distanza, pesa il contributo di ciascuno dei vicini k in base alla loro distanza usando la seguente query dando maggiore peso ai vicini più vicini.
Usually KNN is robust to noisy data since it is averaging the k-nearest neighbors.