Classificazione multiclasse

Completato

Annotazioni

Per altri dettagli, vedi la scheda Testo e immagini .

La classificazione multiclasse viene usata per stimare a quale di più classi possibili appartiene un'osservazione. Come tecnica di apprendimento automatico supervisionato, segue lo stesso processo iterativo di addestramento, convalida e valutazione come la regressione e classificazione binaria, in cui viene trattenuto un sottoinsieme dei dati di addestramento per convalidare il modello addestrato.

Esempio : classificazione multiclasse

Gli algoritmi di classificazione multiclasse vengono usati per calcolare i valori di probabilità per più etichette di classe, consentendo a un modello di stimare la classe più probabile per una determinata osservazione .

Si esaminerà un esempio in cui sono presenti alcune osservazioni dei pinguini, in cui viene registrata la lunghezza delle flipper (x) di ogni pinguino. Per ogni osservazione, i dati includono la specie pinguino (y), codificata come segue:

  • 0: Adelie
  • 1: Gentoo
  • 2: Chinstrap

Annotazioni

Come per gli esempi precedenti in questo modulo, uno scenario reale includerebbe più valori di funzionalità (x). Verrà usata una singola funzionalità per semplificare le operazioni.

Diagramma di un righello di misurazione. Diagramma di tre pinguini.
Lunghezza della pinna (x) Specie (y)
167 0
172 0
225 2
197 1
189 1
232 2
158 0

Training di un modello di classificazione multiclasse

Per eseguire il training di un modello di classificazione multiclasse, è necessario usare un algoritmo per adattare i dati di training a una funzione che calcola un valore di probabilità per ogni classe possibile. A tale scopo, è possibile usare due tipi di algoritmo:

  • Algoritmi One-vs-Rest (OvR)
  • Algoritmi multinomiali

Algoritmi One-vs-Rest (OvR)

Gli algoritmi one-vs-rest allenano una funzione di classificazione binaria per ogni classe, ciascuno calcola la probabilità che l'osservazione sia un esempio della classe target. Ogni funzione calcola la probabilità che l'osservazione sia una classe specifica rispetto a qualsiasi altra classe. Per il modello di classificazione delle specie pinguini, l'algoritmo crea essenzialmente tre funzioni di classificazione binaria:

  • f0(x) = P(y=0 | x)
  • f1(x) = P(y=1 | x)
  • f2(x) = P(y=2 | x)

Ogni algoritmo produce una funzione sigmoid che calcola un valore di probabilità compreso tra 0,0 e 1,0. Un modello sottoposto a training usando questo tipo di algoritmo consente di stimare la classe per la funzione che produce l'output di probabilità più elevato.

Algoritmi multinomiali

Come approccio alternativo consiste nell'usare un algoritmo multinomiale, che crea una singola funzione che restituisce un output multivalore. L'output è un vettore (una matrice di valori) che contiene la distribuzione di probabilità per tutte le classi possibili, con un punteggio di probabilità per ogni classe che, se totale, viene aggiunto fino a 1,0:

f(x) =[P(y=0|x), P(y=1|x), P(y=2|x)]

Un esempio di questo tipo di funzione è una funzione softmax , che potrebbe produrre un output simile all'esempio seguente:

[0.2, 0.3, 0.5]

Gli elementi nel vettore rappresentano rispettivamente le probabilità per le classi 0, 1 e 2; quindi in questo caso, la classe con la probabilità più alta è 2.

Indipendentemente dal tipo di algoritmo usato, il modello usa la funzione risultante per determinare la classe più probabile per un determinato set di funzionalità (x) e stima l'etichetta di classe corrispondente (y).

Valutazione di un modello di classificazione multiclasse

È possibile valutare un classificatore multiclasse calcolando le metriche di classificazione binaria per ogni singola classe. In alternativa, è possibile calcolare le metriche aggregate che prendono in considerazione tutte le classi.

Si supponga di aver convalidato il classificatore multiclasse e di ottenere i risultati seguenti:

Lunghezza della pinna (x) Specie effettive (y) Specie previste (ŷ)
165 0 0
171 0 0
205 2 1
195 1 1
183 1 1
221 2 2
214 2 2

La matrice di confusione per un classificatore multiclasse è simile a quella di un classificatore binario, ad eccezione del fatto che mostra il numero di stime per ogni combinazione di stime (ŷ) e le etichette di classe effettive (y):

Diagramma di una matrice di confusione multiclasse.

Da questa matrice di confusione è possibile determinare le metriche per ogni singola classe come indicato di seguito:

Classe Vero positivo Vero negativo Falso positivo Falso negativo Accuratezza Richiamo Precisione Punteggio F1
0 2 5 0 0 1,0 1,0 1,0 1,0
1 2 4 1 0 0,86 1,0 0,67 0,8
2 2 4 0 1 0,86 0,67 1,0 0,8

Per calcolare l'accuratezza complessiva, il richiamo e la precisione, usare il totale delle metriche TP, TN, FP e FN :

  • Accuratezza complessiva = (13+6)÷(13+6+1+1) = 0,90
  • Richiamo complessivo = 6÷(6+1) = 0,86
  • Precisione complessiva = 6÷(6+1) = 0,86

Il punteggio F1 complessivo viene calcolato usando le metriche di richiamo e precisione complessive:

  • Punteggio F1 complessivo = (2x0,86x0,86)÷(0,86+ 0,86) = 0,86