Task 6 - Italian
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).
- 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}
\]
- 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]
- Considerare due strategie per scegliere la regola decisionale da adottare in fase di deployment:
- massimizzare l’accuratezza sul training;
- 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]