Si studia quanto ci si può fidare di un modello e come classificare i risultati di un modello, per capire se è migliore di un altro.

Modelli supervisionati

Partiamo dagli approcci supervisionati.

Uno degli indicatori è legato alla misurazione dell’errore sui dati di training e testing (facendo training sul training e testing sempre sul training) ma questa non è una buona misura ma si fa per capire se il modello ha buone performance su dati “ovvi” ma questo non è garanzia di qualità, non studiando dati non osservati in fase di training. Si rischiano overfitting/underfitting (nel primo caso si impara molto bene sui dati di training ma quel modello appreso ha performance basse e complessità computazionale alta su dati nuovi mentre nel secondo caso il modello ha già performance basse e quindi risultati pessimi su nuovi dati, anche se si ha minor complessità computazionale, avendo magari meno parametri).

Esempio di modello in overfitting

Esempio di modello in overfitting

Andamento di overfitting/underfitting sulla qualità del modello, con indicato il range ideale. Spesso sull’asse delle $x$ si ha il numero di iterazioni necessarie per capire quando terminarle per non andare in overfitting, come nel caso delle reti neurali.

Andamento di overfitting/underfitting sulla qualità del modello, con indicato il range ideale. Spesso sull’asse delle $x$ si ha il numero di iterazioni necessarie per capire quando terminarle per non andare in overfitting, come nel caso delle reti neurali.

Normalmente quindi si fa il testing su un testing set.

Spesso è meglio avere un modello meno preciso ma con complessità computazionale adeguata al dominio in cui sto lavorando. Si hanno quindi varie misure di performance:

Si hanno quindi:

Calcolando per il primo punto:

Passiamo ora al secondo punto.