Parametri di addestramento - Amazon Machine Learning

Non aggiorniamo più il servizio Amazon Machine Learning né accettiamo nuovi utenti. Questa documentazione è disponibile per gli utenti esistenti, ma non la aggiorneremo più. Per ulteriori informazioni, consulta la paginaCos'è Amazon Machine Learning.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Parametri di addestramento

L'algoritmo di apprendimento Amazon ML accetta parametri, chiamati iperparametri o parametri di addestramento, che consentono di controllare la qualità del modello risultante. A seconda dell'iperparametro, Amazon ML seleziona automaticamente le impostazioni o fornisce valori statici di default per gli iperparametri. Anche se le impostazioni di default degli iperparametri generalmente producono modelli utili, si potrebbero migliorare le prestazioni predittive dei modelli modificando i valori degli iperparametri. Le seguenti sezioni descrivono l'iper-prezzo comuneparametri associati ad algoritmi di apprendimento per modelli lineari, come ad esempio quelli creati da Amazon ML.

Velocità di apprendimento

La velocità di apprendimento è un valore costante utilizzato nell'algoritmo di discesa stocastica del gradiente (Stochastic Gradient Descent - SGD). La velocità di apprendimento influenza la velocità con cui l'algoritmo raggiunge (converge su) le ponderazioni ottimali. L'algoritmo SGD aggiorna le ponderazioni del modello lineare per ogni esempio di dati rilevato. La dimensione di questi aggiornamenti è controllata dalla velocità di apprendimento. Una velocità di apprendimento troppo elevata potrebbe impedire alle ponderazioni di raggiungere la soluzione ottimale. Un valore troppo basso fa sì che l'algoritmo richieda troppe passate per avvicinarsi alle ponderazioni ottimali.

In Amazon ML, la velocità di apprendimento è selezionata in base ai dati dell'utente.

Dimensione del modello

Se si dispone di numerose caratteristiche di input, il numero di pattern possibili per i dati può portare a un modello di grandi dimensioni. I modelli di grandi dimensioni hanno implicazioni pratiche in quanto, ad esempio, richiedono più RAM per contenere il modello durante l'addestramento e quando vengono generate le previsioni. In Amazon ML, è possibile ridurre la dimensione del modello utilizzando la regolarizzazione L1 o limitando specificamente la dimensione del modello attraverso l'indicazione delle dimensioni massime. Si noti che se si riduce eccessivamente la dimensione del modello, si potrebbe ridurre anche la capacità predittiva di quest'ultimo.

Per ulteriori informazioni sulla dimensione del modello predefinito, consultare parametri di addestramento: Tipi e valori predefiniti. Per ulteriori informazioni sulla regolarizzazione, consultare Regolarizzazione.

Numero di passate

L'algoritmo SGD effettuata passate sequenziali sui dati di addestramento. Il parametro Number of passes controlla il numero di passate che l'algoritmo effettua sui dati di addestramento. Ulteriori passate risultano in un modello che si adatta meglio ai dati (se la velocità di apprendimento non è troppo elevata), ma il vantaggio diminuisce con un numero crescente di passate. Per insiemi di dati di dimensioni inferiori, è possibile aumentare in modo significativo il numero di passate, consentendo in tal modo all'algoritmo di apprendimento di adattarsi maggiormente e in modo efficiente ai dati. In caso di insiemi di dati di grandissime dimensioni, una singola passata potrebbe essere sufficiente.

Per maggiori informazioni sul numero predefinito di passate, consultare parametri di addestramento: Tipi e valori predefiniti.

Mischiare i dati

In Amazon ML, è necessario mischiare i dati, in quanto l'algoritmo SGD è influenzato dall'ordine delle righe nei dati di addestramento. Mischiando i dati di addestramento è possibile ottenere modelli ML migliori, in quanto tale operazione aiuta l'algoritmo SGD a evitare soluzioni ottimali per il primo tipo di dati che incontra, ma non per l'intera gamma di dati. Il mescolamento consente di mischiare l'ordine dei dati in modo che l'algoritmo SGD non incontri un solo tipo di dati per troppe osservazioni in successione. Se si considera solo un tipo di dati per molti aggiornamenti successivi delle ponderazioni, l'algoritmo potrebbe non essere in grado di correggere le ponderazioni del modello per un nuovo tipo di dati perché l'aggiornamento potrebbe essere troppo grande. Inoltre, quando i dati non si presentano in modo casuale, l'algoritmo ha difficoltà a trovare rapidamente la soluzione ottimale per tutti i tipi di dati; in alcuni casi, l'algoritmo potrebbe non trovare mai la soluzione ottimale. Il mescolamento dei dati di addestramento aiuta l'algoritmo a convergere sulla soluzione ottimale in tempi più brevi.

Supponiamo di volere addestrare, ad esempio, un modello ML per prevedere un tipo di prodotto e che i dati di addestramento includano tra i prodotti tipi di film, giocattolo e videogiochi. Se si ordinano i dati in base alla colonna del tipo di prodotto prima di caricare i dati in Amazon S3, l'algoritmo vede i dati alfabeticamente in base al tipo di prodotto. L'algoritmo vede per primi tutti i dati dei film e il modello ML inizia ad apprendere i pattern relativi ai film. Quindi, quando il modello rileva i dati sui giocattoli, ogni aggiornamento che l'algoritmo effettua adatta il modello al tipo di prodotto giocattoli, anche se gli aggiornamenti degradano i pattern che si adattano ai film. Questo improvviso passaggio dal tipo film al tipo giocattoli può produrre un modello che non apprende come prevedere in modo accurato i tipi di prodotto.

Per ulteriori informazioni sul tipo di mescolamento predefinito, consultare parametri di addestramento: Tipi e valori predefiniti.

Regolarizzazione

La regolarizzazione aiuta a evitare l'overfitting dei modelli lineari riguardo agli esempi di dati di addestramento (ovvero memorizzare i pattern invece di generalizzarli) penalizzando i valori di ponderazione estremi. La regolarizzazione L1 ha l'effetto di ridurre il numero di caratteristiche utilizzate nel modello spingendo a zero le ponderazioni delle caratteristiche che in caso contrario avrebbero piccole ponderazioni. Di conseguenza, la regolarizzazione L1 consente di ottenere modelli di tipo sparse e riduce la quantità di disturbo nel modello. La regolarizzazione L2 comporta valori di ponderazione globale più piccoli e stabilizza le ponderazioni quando vi è un'elevata correlazione tra le caratteristiche di input. È possibile controllare la quantità di regolarizzazione L1 o L2 applicata utilizzando i parametri Regularization type e Regularization amount. Un valore molto grande di regolarizzazione potrebbe causare l'azzeramento delle ponderazioni di tutte le caratteristiche, impedendo a un modello di apprendere i pattern.

Per maggiori informazioni sui valori di regolarizzazione, consultare parametri di addestramento: Tipi e valori predefiniti.