Ridurre la perdita: un approccio iterativo

Il modulo precedente ha introdotto il concetto di perdita. In questo modulo scoprirai come un modello di machine learning riduce iterativamente la perdita.

L'apprendimento iterativo potrebbe ricordare il gioco per bambini "Caldo e freddo" per trovare un oggetto nascosto come un ditale. In questo gioco, l'"oggetto nascosto" è il miglior modello possibile. Inizierai con un'ipotesi incompleta ("Il valore di \(w_1\) è 0") e attendi che il sistema ti dica la perdita. Quindi, fai un altro tentativo ("Il valore di \(w_1\) è 0,5") e scopri di cosa si tratta. Aah, la temperatura sta salendo. In realtà, se fai bene a questo gioco, di solito ti scaldirai. Il vero segreto del gioco è trovare il miglior modello possibile nel modo più efficiente possibile.

La figura seguente suggerisce il processo iterativo di prove ed errori che gli algoritmi di machine learning utilizzano per addestrare un modello:

Il ciclo di passaggio da caratteristiche ed etichette a modelli e previsioni.

Figura 1. Un approccio iterativo all'addestramento di un modello.

Utilizzeremo lo stesso approccio iterativo in tutto il Machine Learning Crash Course, descrivendo in dettaglio varie complicazioni, in particolare all'interno di quella tempestosa nuvola con l'etichetta "Model (Prediction Function)". Le strategie iterative sono prevalenti nel machine learning, principalmente perché scalano così bene a set di dati di grandi dimensioni.

Il "model" prende una o più caratteristiche come input e restituisce una previsione come output. Per semplificare, considera un modello che prende una caratteristica (\(x_1\)) e restituisca una previsione (\(y'\)):

$$ y' = b + w_1x_1 $$

Per quali valori iniziali dovremmo impostare \(b\) e \(w_1\)? Per i problemi di regressione lineare, risulta che i valori iniziali non sono importanti. Potremmo scegliere valori casuali, ma utilizzeremo solo i seguenti valori banali:

  • \(b\) = 0
  • \(w_1\) = 0

Supponiamo che il primo valore della caratteristica sia 10. L'inserimento di questo valore nella funzione di previsione produce:

$$ y' = 0 + 0 \cdot 10 = 0 $$

La parte relativa alla perdita di calcolo del diagramma è la funzione di perdita che verrà utilizzata dal modello. Supponiamo di utilizzare la funzione di perdita al quadrato. La funzione di perdita prende due valori di input:

  • \(y'\): la previsione del modello per le caratteristiche x
  • \(y\): l'etichetta corretta corrispondente alle caratteristiche x.

Infine, abbiamo raggiunto la parte "Aggiornamenti dei parametri di calcolo" del diagramma. È qui che il sistema di machine learning esamina il valore della funzione di perdita e genera nuovi valori per \(b\) e \(w_1\). Per il momento, supponiamo che questa casella misteriosa escogita nuovi valori e che il sistema di machine learning rivaluta tutte le caratteristiche in base a tutte le etichette, generando un nuovo valore per la funzione loss, che restituisce nuovi valori parametro. L'apprendimento continua a ripetere l'iterazione finché l'algoritmo non scopre i parametri del modello con la perdita più bassa possibile. In genere, si ripete l'iterazione finché la perdita complessiva non smette di cambiare o almeno cambia in modo molto lento. In questo caso, diciamo che il modello è convergente.