Esercizio 6

Consideriamo un problema di classificazione multi-etichetta. Per ciascuna classe \(c\), \(TP_c\) rappresenta le istanze che appartengono alla classe \(c\) correttamente identificate come appartenenti a \(c\); \(TN_c\) rappresenta le istanze che non appartengono alla classe \(c\) correttamente identificate come non appartenenti a \(c\); \(FP_c\) rappresenta le istanze che non appartengono alla classe \(c\) etichettate erroneamente come appartenenti a \(c\); \(FN_c\) rappresenta le istanze che appartengono alla classe \(c\) etichettate erroneamente come non appartenenti a \(c\).

Abbiamo le seguenti metriche:

  • recall per classe:
    \[
    \mathrm{Recall}_c = \frac{TP_c}{TP_c+FN_c}=P(\mathrm{pred} = c\mid\mathrm{true}=c);
    \]
  • precision per classe:
    \[
    \mathrm{Precision}_c = \frac{TP_c}{TP_c+FP_c}=P(\mathrm{true}=c\mid\mathrm{pred} =c);
    \]
  • specificità per classe:
    \[
    \mathrm{Spec}_c = \frac{TN_c}{TN_c+FP_c}=P(\mathrm{pred}\neq c\mid\mathrm{true}\neq c);
    \]
  • per ciascuna metrica di errore dipendente dalla classe \(M_c\), la metrica di errore macro-media è la media aritmetica dei punteggi specifici per classe
    \[
    \mathrm{Macro}-M=\frac{\sum_c M_c}{\textrm{numero di classi}};
    \]
  • per una distribuzione \(\pi=(\pi_c)\) delle etichette, l’accuratezza:
    \[
    \mathrm{acc}(\pi)=\sum_c\pi_c\mathrm{Recall}_c;
    \]
  • se \(C = (C_{ij})\) è una matrice dei costi dove \(C_{ij} = \mathrm{Cost}(\mathrm{pred} = j\mid\mathrm{true} = i)\), il costo atteso è
    \[
    \mathbb{E}_\pi(C) = \sum_{i,j}\pi_i P(\mathrm{pred} = j\mid\mathrm{true} = i)C_{ij}.
    \]

    Si può assumere che ogni classe abbia supporto non nullo e che il classificatore produca sia predizioni corrette sia errate per ogni classe (non degenerazione).
  1. Supponiamo di trovarci nel caso di un classificatore binario, con classi \(0\) e \(1\). Dimostrare che, se
    \[
    \mathrm{accuracy}=\mathrm{precision}_1=\mathrm{recall}_1,
    \]

    allora il supporto delle due classi deve essere lo stesso.

[5 punti]

Per le parti restanti, si può assumere il seguente contesto.

Contesto

Un sistema di triage sanitario classifica i messaggi in arrivo in una delle tre classi:
\[
U = \text{Urgente}, \quad
S = \text{Semi-urgente}, \quad
N = \text{Non urgente}.
\]

Il dataset di addestramento è stato intenzionalmente arricchito con casi urgenti e semi-urgenti.
Nel training set, il classificatore ha prodotto la seguente matrice di confusione
(le righe corrispondono all’etichetta vera, le colonne all’etichetta predetta):

Vero \(\backslash\) Pred \(U\) \(S\) \(N\) Totale
\(U\) 200 30 20 250
\(S\) 30 270 50 350
\(N\) 10 30 360 400

La corrispondente distribuzione delle etichette nel training è
\[
\pi_{\text{train}} =
\big(P(U)=0.25,\; P(S)=0.35,\; P(N)=0.40\big).
\]

Al momento del deployment, la distribuzione reale delle etichette è diversa:
\[
\pi_{\text{dep}} =
\big(P(U)=0.05,\; P(S)=0.15,\; P(N)=0.80\big).
\]

Si può assumere che il comportamento condizionale del classificatore sia stabile:
\[
P_{\text{train}}(\mathrm{pred} = j \mid \mathrm{true} = i) = P_{\text{dep}}(\mathrm{pred} = j \mid \mathrm{true} = i)
\quad \text{per ogni } i,j \in \{U,S,N\}.
\]

È data la seguente matrice dei costi
(costo di predire l’etichetta di colonna quando l’etichetta vera è quella di riga):

\[
C(\mathrm{pred} = j \mid \mathrm{true} = i) =
\begin{array}{c|ccc}
& U & S & N \\ \hline
U & 0 & 20 & 100 \\
S & 5 & 0 & 10 \\
N & 1 & 1 & 0
\end{array}
\]

  1. Calcolare \(\mathrm{Precision}_U\) sia sotto \(\pi_{\text{train}}\) sia sotto \(\pi_{\text{dep}}\).
    Spiegare perché la precision cambia sotto uno shift di distribuzione mentre la recall no.

[5 punti]

  1. Considerare due strategie per scegliere la regola decisionale da adottare in fase di deployment:
    1. massimizzare l’accuratezza sul training;
    2. minimizzare il costo atteso in fase di deployment.

Spiegare perché la strategia (1) può portare a un costo atteso in deployment più elevato rispetto alla strategia (2).

[3 punti]

[Totale 13 punti]