

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à.

# Algoritmo di apprendimento lineare
<a name="linear-learner"></a>

I *modelli lineari* sono algoritmi di apprendimento supervisionato utilizzati per risolvere i problemi di classificazione o regressione. Per l'input, fornisci esempi di etichette del modello (*x*, *y*). *x* è un vettore altamente dimensionale e *y* è un'etichetta numerica. Per i problemi di classificazione binari, l'etichetta deve essere 0 o 1. Per i problemi di classificazione multiclasse, le etichette devono essere comprese tra 0 a `num_classes` - 1. Per i problemi di regressione, *y* è un numero reale. L'algoritmo apprende una funzione lineare o, per i problemi di classificazione, una funzione di soglia lineare e mappa un vettore *x* a un'approssimazione dell'etichetta *y*. 

L'algoritmo di apprendimento lineare di Amazon SageMaker AI offre una soluzione per problemi di classificazione e regressione. Con l'algoritmo SageMaker AI, puoi esplorare contemporaneamente diversi obiettivi di formazione e scegliere la soluzione migliore da un set di convalida. Puoi anche esplorare un ampio numero di modelli e scegliere il migliore. Il modello migliore ottimizza uno dei seguenti:
+ Obiettivi continui, come errore quadratico medio, perdita di entropia incrociata, errore assoluto.
+ Obiettivi discreti adatti per la classificazione, come la misura F1, la precisione della richiamata o l'accuratezza 

Rispetto ai metodi che forniscono una soluzione solo per obiettivi continui, l'algoritmo SageMaker AI linear learner offre un aumento significativo della velocità rispetto alle tecniche ingenue di ottimizzazione degli iperparametri. Offre inoltre una maggiore convenienza. 

L'algoritmo Linear Learner richiede una matrice dei dati, con righe che rappresentano le osservazioni e con colonne che rappresentano le dimensioni delle caratteristiche. Richiede inoltre un'altra colonna contenente le etichette che corrispondono ai punti di dati. Come minimo, Amazon SageMaker AI linear learner richiede di specificare come argomenti le posizioni dei dati di input e output e il tipo di obiettivo (classificazione o regressione). Anche le dimensioni della caratteristica sono necessarie. Per ulteriori informazioni, consulta [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html). Puoi specificare ulteriori parametri nella mappa di stringhe `HyperParameters` del corpo della richiesta. Questi parametri controllano la procedura di ottimizzazione o le specifiche della funzione obiettivo sulla quale esegui l’addestramento. Ad esempio, il numero di epoche (Unix epochs), la regolarizzazione e il tipo di perdita. 

Se utilizzi [Addestramento spot gestito](https://docs.aws.amazon.com/sagemaker/latest/dg/model-managed-spot-training.html), l'algoritmo di apprendimento lineare supporta l'utilizzo di [checkpoint per scattare un'istantanea dello stato del modello](https://docs.aws.amazon.com/sagemaker/latest/dg/model-checkpoints.html).

**Topics**
+ [Interfaccia di input/output per l'algoritmo di apprendimento lineare](#ll-input_output)
+ [Raccomandazione istanza EC2 per l'algoritmo di apprendimento lineare](#ll-instances)
+ [Notebook di esempio di apprendimento lineare](#ll-sample-notebooks)
+ [Come funziona l'algoritmo di apprendimento lineare](ll_how-it-works.md)
+ [Iperparametri Linear Learner](ll_hyperparameters.md)
+ [Ottimizzazione di un modello di apprendimento lineare](linear-learner-tuning.md)
+ [Formati di risposta di Linear Learner](LL-in-formats.md)

## Interfaccia di input/output per l'algoritmo di apprendimento lineare
<a name="ll-input_output"></a>

L'algoritmo di apprendimento lineare di Amazon SageMaker AI supporta tre canali di dati: addestramento, convalida (opzionale) e test (opzionale). Se fornisci dati di convalida, `S3DataDistributionType` devono essere `FullyReplicated`. L'algoritmo registra la perdita di convalida in ogni epoca (Unix epoch) e usa un esempio dei dati di convalida per calibrare e selezionare il modello migliore. Se non fornisci dati di convalida, l'algoritmo usa un esempio di dati di addestramento per la calibrazione e la selezione del modello. Se fornisci i dati di test, i log dell'algoritmo includono il punteggio del test per il modello finale.

**Per l’addestramento**, l'algoritmo Linear Learner supporta i formati `recordIO-wrapped protobuf` e `CSV`. Per il tipo di input `application/x-recordio-protobuf`, solo i tensori Float32 sono supportati. Per il tipo di input `text/csv`, la prima colonna viene considerata l'etichetta, ossia la variabile target per la previsione. Puoi utilizzare la modalità file o la modalità pipe per addestrare i modelli Linear Learner sui dati formattati come `recordIO-wrapped-protobuf` o `CSV`.

**Per l'inferenza**, l'algoritmo Linear Learner supporta i formati `application/json`, `application/x-recordio-protobuf` e `text/csv`. Quando esegui previsioni su nuovi dati, il formato della risposta dipende dal tipo di modello. **Per la regressione** (`predictor_type='regressor'`), `score` è la previsione prodotta dal modello. **Per la classificazione** (`predictor_type='binary_classifier'` o `predictor_type='multiclass_classifier'`), il modello restituisce un `score` e un `predicted_label`. `predicted_label` è la classe prevista dal modello e `score` misura la forza di quella previsione. 
+ **Per la classificazione binaria**, `predicted_label` è `0` o `1` e `score` è un singolo numero con virgola mobile che indica quanto fortemente l'algoritmo ritiene che l'etichetta debba essere 1.
+ **Per la classificazione multiclasse**, `predicted_class` sarà un numero intero compreso tra `0` e `num_classes-1` e `score` sarà un elenco di un numero con virgola mobile per ogni classe. 

Per interpretare `score` nei problemi di classificazione, occorre considerare la funzione di perdita utilizzata. Se il valore dell'iperparametro `loss` è `logistic` per la classificazione binaria o `softmax_loss` per la classificazione multiclasse, `score` può essere interpretato come la probabilità della classe corrispondente. Questi sono i valori di perdita utilizzati Linear Learner quando il valore `loss` è il valore predefinito `auto`. Se però la perdita è impostata su `hinge_loss`, il punteggio non può essere interpretato come probabilità. Questo perché la funzione hinge loss corrisponde a un Support Vector Classifier, che non produce stime di probabilità.

Per ulteriori informazioni sui formati di file di input e output, consulta [Formati di risposta di Linear Learner](LL-in-formats.md). Per ulteriori informazioni sui formati di inferenza, consulta [Notebook di esempio di apprendimento lineare](#ll-sample-notebooks).

## Raccomandazione istanza EC2 per l'algoritmo di apprendimento lineare
<a name="ll-instances"></a>

L'algoritmo di apprendimento lineare supporta sia istanze CPU che GPU per l'addestramento e l'inferenza. Per quanto riguarda la GPU, l'algoritmo di apprendimento lineare supporta le famiglie di GPU P2, P3, G4dn e G5.

Durante i test, non abbiamo trovato prove considerevoli del fatto che le istanze con più GPU siano più veloci delle istanze con una sola GPU. I risultati possono variare a seconda del caso d'uso specifico.

## Notebook di esempio di apprendimento lineare
<a name="ll-sample-notebooks"></a>

 La tabella seguente illustra una serie di notebook di esempio che affrontano diversi casi d'uso dell'algoritmo di apprendimento lineare di Amazon SageMaker AI.


| **Titolo del notebook** | **Descrizione** | 
| --- | --- | 
|  [Introduzione al set di dati MNIST](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/linear_learner_mnist/linear_learner_mnist.html)  |   Utilizzando il set di dati MNIST, addestriamo un classificatore binario a prevedere un'unica cifra.  | 
|  [Come realizzare un classificatore multiclasse?](https://sagemaker-examples.readthedocs.io/en/latest/scientific_details_of_algorithms/linear_learner_multiclass_classification/linear_learner_multiclass_classification.html)  |   Dimostriamo come addestrare un classificatore multiclasse utilizzando il set di dati Covertype di UCI.   | 
|  [Come realizzare una pipeline di Machine Learning (ML) per l'inferenza?](https://sagemaker-examples.readthedocs.io/en/latest/sagemaker-python-sdk/scikit_learn_inference_pipeline/Inference%20Pipeline%20with%20Scikit-learn%20and%20Linear%20Learner.html)  |   Utilizzando un contenitore Scikit-learn, dimostriamo come creare una pipeline ML. end-to-end   | 

 Per istruzioni su come creare e accedere alle istanze di notebook Jupyter che puoi utilizzare per eseguire l'esempio in AI, vedi. SageMaker [Istanze SageMaker per notebook Amazon](nbi.md) Dopo aver creato un'istanza di notebook e averla aperta, scegli la scheda **Esempi SageMaker AI** per visualizzare un elenco di tutti gli esempi di IA. SageMaker I notebook di esempio di modellazione dell'argomento che utilizzano gli algoritmi Linear Learner sono disponibili nella sezione con l'**introduzione agli algoritmi di Amazon**. Per aprire un notebook, seleziona la relativa scheda **Utilizza** e scegli **Crea copia**. 

# Come funziona l'algoritmo di apprendimento lineare
<a name="ll_how-it-works"></a>

L'implementazione dell'algoritmo Linear Learner prevede tre fasi: preelaborazione, addestramento e convalida. 

## Fase 1: preelaborazione
<a name="step1-preprocessing"></a>

La normalizzazione, o dimensionamento delle caratteristiche, è una fase di preelaborazione importante per alcune funzioni di perdita che garantisce che il modello addestrato su un set di dati non sia dominato dal peso di una singola caratteristica. L'algoritmo Amazon SageMaker AI Linear Learner ha un'opzione di normalizzazione per facilitare questa fase di preelaborazione. Se la normalizzazione è attivata, l'algoritmo passa prima a un piccolo campione di dati per apprendere il valore medio e la deviazione standard per ogni caratteristica e per l'etichetta. Ciascuna delle caratteristiche del set di dati completo viene quindi spostata in modo da avere una media pari a zero e ridimensionata per avere una deviazione standard dell'unità.

**Nota**  
Per ottenere risultati ottimali, assicurati che i dati siano mischiati prima dell’addestramento. L’addestramento con dati non mischiati può causare il fallimento dell’addestramento medesimo. 

Puoi configurare se l'algoritmo Linear Learner normalizza i dati delle caratteristiche e le etichette utilizzando rispettivamente gli iperparametri `normalize_data` e `normalize_label`). La normalizzazione è abilitata per impostazione predefinita sia per le caratteristiche che per le etichette per la regressione. Solo le caratteristiche possono essere normalizzate per la classificazione binaria e questo è il comportamento predefinito. 

## Fase 2: addestramento
<a name="step2-training"></a>

Con l'algoritmo Linear Learner, addestri l'implementazione distribuita della discesa stocastica del gradiente (SGD, Stochastic Gradient Descent). Puoi controllare il processo di ottimizzazione scegliendo l'algoritmo di ottimizzazione. Ad esempio, puoi scegliere di utilizzare Adam AdaGrad, stochastic gradient descent o altri algoritmi di ottimizzazione. Puoi anche specificare gli iperparametri, come il momento, la velocità di apprendimento e la pianificazione della velocità di apprendimento. Se non sei sicuro di quale sia l'algoritmo o l'iperparametro da usare, scegli un valore predefinito che funziona per la maggior parte dei set di dati. 

Durante l’addestramento, ottimizzi simultaneamente più modelli, ciascuno con obiettivi leggermente diversi. Ad esempio, puoi variare la regolarizzazione L1 o L2 e provare diverse impostazioni di ottimizzazione. 

## Fase 3: convalida e impostazione della soglia
<a name="step3-validation"></a>

Quando addestri più modelli in parallelo, i modelli vengono valutati rispetto a un set di convalida per selezionare il modello più ottimale una volta completato l’addestramento. Per la regressione, il modello più ottimale è quello che ottiene la perdita migliore del set di convalida. Per la classificazione, viene utilizzato un esempio del set di convalida per calibrare la soglia di classificazione. Il modello più ottimale selezionato è quello che ottiene i migliori criteri di selezione della classificazione binaria sul set di convalida. Esempi di questi criteri includono la misura F1, l'accuratezza e la perdita di entropia incrociata. 

**Nota**  
Se all'algoritmo non viene fornito un set di convalida, non è possibile valutare e selezionare il modello più ottimale. Per sfruttare l’addestramento parallelo e la selezione del modello, assicurati di fornire un set di convalida all'algoritmo. 

# Iperparametri Linear Learner
<a name="ll_hyperparameters"></a>

La tabella seguente contiene gli iperparametri per l'algoritmo linear learner. Si tratta di parametri che vengono impostati dagli utenti per agevolare la stima dei parametri del modello dai dati. Gli iperparametri richiesti che devono essere impostati sono elencati prima, in ordine alfabetico. Gli iperparametri facoltativi che possono essere impostati sono elencato dopo, sempre in ordine alfabetico. Quando un iperparametro è impostato su`auto`, Amazon SageMaker AI calcolerà e imposterà automaticamente il valore di tale iperparametro. 


| Nome parametro | Description | 
| --- | --- | 
| num\$1classes |  Il numero di classi per la variabile di risposta. L'algoritmo presuppone che classi siano etichettate `0`, ..., `num_classes - 1`. **Obbligatorio** quando `predictor_type` è `multiclass_classifier`. In caso contrario, l'algoritmo lo ignora. Valori validi: i numeri interi compresi tra 3 e 1.000.000  | 
| predictor\$1type |  Specifica il tipo di variabile di target come classificazione binaria, classificazione multiclasse o regressione. **Campo obbligatorio** Valori validi: `binary_classifier`, `multiclass_classifier` o `regressor`  | 
| accuracy\$1top\$1k |  Quando si calcola il parametro di accuratezza top-k per la classificazione multiclasse, il valore di *k*. Se il modello assegna uno dei punteggi top-k all'etichetta true, un esempio viene valutato come corretto. **Opzionale** Valori validi: numeri interi positivi Valore predefinito: 3   | 
| balance\$1multiclass\$1weights |  Specifica se utilizzare i pesi di classe, che attribuiscono a ciascuna classe uguale importanza nella funzione di perdita. Usato solo quando `predictor_type` è `multiclass_classifier`. **Opzionale** Valori validi: `true`, `false` Valore predefinito: `false`  | 
| beta\$11 |  Tasso di decadimento esponenziale per stime di primo momento. Si applica solo quando il valore di `optimizer` è `adam`. **Opzionale** Valori validi: `auto` o un valore in virgola mobile compreso tra 0 e 1,0 Valore predefinito: `auto`  | 
| beta\$12 |  Tasso di decadimento esponenziale per stime di secondo momento. Si applica solo quando il valore di `optimizer` è `adam`. **Opzionale** Valori validi: `auto` o un numero intero in virgola mobile compreso tra 0 e 1,0  Valore predefinito: `auto`  | 
| bias\$1lr\$1mult |  Consente un tasso di apprendimento diverso per il termine bias. La velocità di apprendimento effettiva per il bias è `learning_rate` \$1 `bias_lr_mult`. **Opzionale** Valori validi: `auto` o un numero intero positivo in virgola mobile Valore predefinito: `auto`  | 
| bias\$1wd\$1mult |  Consente una regolarizzazione differente per il termine bias. Il peso di regolarizzazione L2 effettivo per il bias è `wd` \$1 `bias_wd_mult`. Per impostazione predefinita non c'è alcuna regolarizzazione sul termine bias. **Opzionale** Valori validi: `auto` o un numero intero non negativo in virgola mobile Valore predefinito: `auto`  | 
| binary\$1classifier\$1model\$1selection\$1criteria |  Quando `predictor_type` è impostato su `binary_classifier`, i criteri di valutazione del modello per il set di dati di convalida (o per il set di dati di addestramento se non specifichi un set di dati di convalida). I criteri includono: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/ll_hyperparameters.html) **Opzionale** Valori validi: `accuracy`, `f_beta`, `precision_at_target_recall`, `recall_at_target_precision` o `loss_function` Valore predefinito: `accuracy`  | 
| early\$1stopping\$1patience | Se non vengono apportati miglioramenti nel parametro rilevante, il numero di epoche (Unix epochs) da aspettare prima di terminare l’addestramento. Se hai fornito un valore per binary\$1classifier\$1model\$1selection\$1criteria, il parametro è questo valore. In caso contrario, il parametro è lo stesso valore specificato per l'iperparametro loss. Il parametro viene valutato nei dati di convalida. Se non sono stati forniti dati di convalida, il parametro è sempre uguale al valore specificato per l'iperparametro `loss` e viene valutato sui dati di addestramento. Per disabilitare l'arresto precoce, imposta `early_stopping_patience` su un valore maggiore del valore specificato per `epochs`.**Opzionale**Valori validi: numeri interi positiviValore predefinito: 3 | 
| early\$1stopping\$1tolerance |  La tolleranza relativa per misurare un miglioramento nella perdita. Se il rapporto tra il miglioramento nella perdita, diviso per la perdita migliore precedente è inferiore a questo valore, l'arresto precoce considera il miglioramento come zero. **Opzionale** Valori validi: numeri interi positivi in virgola mobile Valore predefinito: 0,001  | 
| epochs |  Numero massimo di passate sui dati di addestramento. **Opzionale** Valori validi: numeri interi positivi Valore predefinito: 15  | 
| f\$1beta |  Il valore della beta da utilizzare quando si calcolano i parametri del punteggio F per la classificazione binaria o multiclasse. Viene utilizzato anche se il valore specificato per `binary_classifier_model_selection_criteria` è `f_beta`. **Opzionale** Valori validi: numeri interi positivi in virgola mobile Valore predefinito: 1.0   | 
| feature\$1dim |  Il numero di caratteristiche nei dati di input.  **Opzionale** Valori validi: `auto` o numero intero positivo Valori predefiniti: `auto`  | 
| huber\$1delta |  Il parametro per la perdita Huber. Durante l’addestramento e la valutazione del parametro, calcola la perdita L2 per gli errori di dimensioni inferiori rispetto a delta e la perdita L1 per gli errori di dimensioni superiori a delta. **Opzionale** Valori validi: numeri interi positivi in virgola mobile Valore predefinito: 1.0   | 
| init\$1bias |  Peso iniziale per il termine bias. **Opzionale** Valori validi: numeri interi in virgola mobile Valore predefinito: 0  | 
| init\$1method |  Imposta la funzione di distribuzione iniziale utilizzata per i pesi del modello. Le funzioni includono: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/ll_hyperparameters.html) **Opzionale** Valori validi: `uniform` o `normal` Valore predefinito: `uniform`  | 
| init\$1scale |  Ridimensiona una distribuzione uniforme iniziale per i pesi del modello. Si applica solo quando l'iperparametro `init_method` è impostato su `uniform`. **Opzionale** Valori validi: numeri interi positivi in virgola mobile Valore predefinito: 0,07  | 
| init\$1sigma |  La deviazione standard iniziale per la distribuzione normale. Si applica solo quando l'iperparametro `init_method` è impostato su `normal`. **Opzionale** Valori validi: numeri interi positivi in virgola mobile Valore predefinito: 0,01  | 
| l1 |  Il parametro di regolarizzazione L1. Se non vuoi usare la regolarizzazione L1, imposta il valore su 0. **Opzionale** Valori validi: `auto` o float non negativo Valore predefinito: `auto`  | 
| learning\$1rate |  L'incremento utilizzato dall'ottimizzatore per gli aggiornamenti dei parametri. **Opzionale** Valori validi: `auto` o un numero intero positivo in virgola mobile Valore predefinito: `auto`, il cui valore dipende dall'ottimizzatore scelto.  | 
| loss |  Specifica la funzione di perdita.  Le funzioni di perdita disponibili e i relativi valori predefiniti dipendono dal valore di `predictor_type`: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/ll_hyperparameters.html) Valori validi: `auto`, `logistic`, `squared_loss`, `absolute_loss`, `hinge_loss`, `eps_insensitive_squared_loss`, `eps_insensitive_absolute_loss`, `quantile_loss` o `huber_loss`  **Opzionale** Valore predefinito: `auto`  | 
| loss\$1insensitivity |  Il parametro per tipo di perdita epsilon-insensitive. Durante l’addestramento e la valutazione del parametro, qualsiasi errore di dimensioni inferiori a questo valore è considerato come zero. **Opzionale** Valori validi: numeri interi positivi in virgola mobile Valore predefinito: 0,01   | 
| lr\$1scheduler\$1factor |  Per ogni iperparametro `lr_scheduler_step`, la velocità di apprendimento diminuisce di questa quantità. Si applica solo quando l'iperparametro `use_lr_scheduler` è impostato su `true`. **Opzionale** Valori validi: `auto` o un numero intero positivo in virgola mobile compreso tra 0 e 1 Valore predefinito: `auto`  | 
| lr\$1scheduler\$1minimum\$1lr |  La velocità di apprendimento non viene mai diminuita su un valore inferiore al valore impostato per `lr_scheduler_minimum_lr`. Si applica solo quando l'iperparametro `use_lr_scheduler` è impostato su `true`. **Opzionale** Valori validi: `auto` o un numero intero positivo in virgola mobile Valori predefiniti: `auto`  | 
| lr\$1scheduler\$1step |  Il numero di fasi tra diminuzioni del tasso di apprendimento. Si applica solo quando l'iperparametro `use_lr_scheduler` è impostato su `true`. **Opzionale** Valori validi: `auto` o numero intero positivo Valore predefinito: `auto`  | 
| margin |  Il margine per la funzione `hinge_loss`. **Opzionale** Valori validi: numeri interi positivi in virgola mobile Valore predefinito: 1.0  | 
| mini\$1batch\$1size |  Il numero di osservazioni per ogni mini batch per l'iterazione di dati. **Opzionale** Valori validi: numeri interi positivi Valore predefinito: 1000  | 
| momentum |  Il momento dell'ottimizzatore `sgd`. **Opzionale** Valori validi: `auto` o un numero intero in virgola mobile compreso tra 0 e 1,0 Valore predefinito: `auto`  | 
| normalize\$1data |  Normalizza i dati delle caratteristiche prima dell’addestramento. La normalizzazione dei dati sposta i dati per ogni caratteristica in modo da avere una media di zero e la dimensiona per avere una deviazione standard dell'unità. **Opzionale** Valori validi: `auto`, `true` o `false` Valore predefinito: `true`  | 
| normalize\$1label |  Normalizza l'etichetta. La normalizzazione sposta l'etichetta in modo da avere una media pari a zero e la ridimensiona per avere la deviazione di unità standard. Il valore predefinito `auto` normalizza l'etichetta per i problemi di regressione, ma non per i problemi di classificazione. Se imposti l'iperparametro `normalize_label` su `true` per i problemi di classificazione, l'algoritmo lo ignora. **Opzionale** Valori validi: `auto`, `true` o `false` Valore predefinito: `auto`  | 
| num\$1calibration\$1samples |  Il numero di osservazioni del set di dati di convalida da usare per la calibrazione del modello (per trovare la soglia migliore). **Opzionale** Valori validi: `auto` o numero intero positivo Valore predefinito: `auto`  | 
| num\$1models |  Il numero di modelli da sottoporre al training in parallelo. Per impostazione predefinita `auto`, l'algoritmo decide il numero di modelli da addestrare. Un modello viene addestrato in base al parametro di training specificato (regolarizzazione, ottimizzatore, perdita) e gli altri in base a parametri chiusi. **Opzionale** Valori validi: `auto` o numero intero positivo Valori predefiniti: `auto`  | 
| num\$1point\$1for\$1scaler |  Il numero di punti di dati da utilizzare per calcolare la normalizzazione o l'eliminazione del bias dei termini. **Opzionale** Valori validi: numeri interi positivi Valore predefinito: 10,000  | 
| optimizer |  L'algoritmo di ottimizzazione da usare. **Opzionale** Valori validi: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/ll_hyperparameters.html) Valore predefinito: `auto`. L'impostazione predefinita per `auto` è `adam`.  | 
| positive\$1example\$1weight\$1mult |  Il peso assegnato a esempi positivi durante il addestramento di un classificatore binario. Il peso di esempi negativi è fissato a 1. Se l'algoritmo dovrà scegliere un peso in modo che gli errori di classificazione degli esempi negativi *rispetto* ai positivi abbiano lo stesso impatto nella perdita di addestramento, specifica `balanced`. Se vuoi che l'algoritmo scelga il peso che ottimizza le prestazioni, specifica `auto`. **Opzionale** Valori validi: `balanced`, `auto` o un numero intero positivo in virgola mobile Valore predefinito: 1.0  | 
| quantile |  Il quantile per la perdita quantile. Per quantile q, il modello cerca di generare le previsioni in modo tale che il valore di `true_label` sia superiore alla previsione con probabilità q. **Opzionale** Valori validi: un numero intero in virgola mobile compreso tra 0 e 1 Valore predefinito: 0.5  | 
| target\$1precision |  La precisione di target. Se `binary_classifier_model_selection_criteria` è `recall_at_target_precision`, la precisione viene mantenuta a questo valore durante la massimizzazione della richiamata. **Opzionale** Valori validi: un numero intero in virgola mobile compreso tra 0 e 1.0 Valore predefinito: 0,8  | 
| target\$1recall |  La richiamata di target. Se `binary_classifier_model_selection_criteria` è `precision_at_target_recall`, la richiamata viene mantenuta a questo valore durante la massimizzazione della precisione. **Opzionale** Valori validi: un numero intero in virgola mobile compreso tra 0 e 1.0 Valore predefinito: 0,8  | 
| unbias\$1data |  Toglie il bias dalle caratteristiche prima dell’addestramento in modo che la media sia pari a 0. Per impostazione predefinita i dati non sono bias in quanto l'iperparametro `use_bias` è impostato su `true`. **Opzionale** Valori validi: `auto`, `true` o `false` Valore predefinito: `auto`  | 
| unbias\$1label |  Toglie il bias dalle etichette prima dell’addestramento in modo che la media sia pari a 0. Si applica solo alla regressione se l'iperparametro `use_bias` è impostato su `true`. **Opzionale** Valori validi: `auto`, `true` o `false` Valore predefinito: `auto`  | 
| use\$1bias |  Specifica se il modello deve includere un termine bias, che è il termine di intercettazione nell'equazione lineare. **Opzionale** Valori validi: `true` o `false` Valore predefinito: `true`  | 
| use\$1lr\$1scheduler |  Indica se usare un pianificatore per la velocità di apprendimento. Se vuoi utilizzare un pianificatore, specifica `true`.  **Opzionale** Valori validi: `true` o `false` Valore predefinito: `true`  | 
| wd |  Il parametro di decadimento del peso, noto anche come parametro di regolarizzazione L2. Se non vuoi usare la regolarizzazione L2, imposta il valore su 0. **Opzionale** Valori validi: `auto` o un numero intero non negativo in virgola mobile Valore predefinito: `auto`  | 

# Ottimizzazione di un modello di apprendimento lineare
<a name="linear-learner-tuning"></a>

L'*ottimizzazione automatica dei modelli*, nota anche come ottimizzazione degli iperparametri, trova la versione migliore di un modello eseguendo molti processi che testano un intervallo di iperparametri sul set di dati. Scegli gli iperparametri ottimizzabili, un intervallo di valori per ciascuno di essi e un parametro obiettivo. Puoi scegliere il parametro obiettivo tra i parametri calcolati dall'algoritmo. L'ottimizzazione automatica del modello ricerca gli iperparametri scelti per trovare la combinazione di valori che restituisce il modello che ottimizza il parametro obiettivo. 

L'algoritmo Linear Learner ha inoltre un meccanismo interno per l'ottimizzazione degli iperparametri separato dalla caratteristica di ottimizzazione automatica del modello descritta qui. Per impostazione predefinita, l'algoritmo Linear Learner ottimizza gli iperparametri addestrando più modelli in parallelo. Quando usi l'ottimizzazione automatica dei modelli, il meccanismo di ottimizzazione interni dell'algoritmo Linear Learner viene disattivato automaticamente. In tal modo il numero di modelli paralleli, `num_models`, viene impostato su 1. L'algoritmo ignora qualsiasi valore impostato per `num_models`.

Per ulteriori informazioni sull'ottimizzazione del modello, consulta [Ottimizzazione automatica dei modelli con AI SageMaker](automatic-model-tuning.md).

## Parametri calcolati dall'algoritmo di apprendimento lineare
<a name="linear-learner-metrics"></a>

L'algoritmo Linear Learner restituisce i parametri nella tabella seguente, che vengono calcolati durante l’addestramento. Scegline uno come parametro obiettivo. Per evitare l'overfitting, ti consigliamo di ottimizzare il modello con un parametro di convalida anziché un parametro di addestramento.


| Nome parametro | Description | Direzione dell'ottimizzazione | 
| --- | --- | --- | 
| test:absolute\$1loss |  La perdita del modello finale nel set di dati di test. Questo parametro oggettivo è valido solo per la regressione.  |  Minimizza  | 
| test:binary\$1classification\$1accuracy |  L'accuratezza del modello finale nel set di dati di test. Questo parametro oggettivo è valido solo per la classificazione binaria.  |  Massimizza  | 
| test:binary\$1f\$1beta |  Il punteggio F-beta del modello finale nel set di dati di test. Per impostazione predefinita, è il punteggio F1, che è la media armonica di precisione e richiamata. Questo parametro oggettivo è valido solo per la classificazione binaria.  |  Massimizza  | 
| test:dcg |  Il guadagno cumulativo scontato del modello finale nel set di dati di test. Questo parametro oggettivo è valido solo per la classificazione multiclasse.  |  Massimizza  | 
| test:macro\$1f\$1beta |  Il punteggio F-beta del modello finale nel set di dati di test. Questo parametro oggettivo è valido solo per la classificazione multiclasse.  |  Massimizza  | 
| test:macro\$1precision |  Il punteggio di precisione del modello finale nel set di dati di test. Questo parametro oggettivo è valido solo per la classificazione multiclasse.  |  Massimizza  | 
| test:macro\$1recall |  Il punteggio di richiamata del modello finale nel set di dati di test. Questo parametro oggettivo è valido solo per la classificazione multiclasse.  |  Massimizza  | 
| test:mse |  L'errore quadratico medio del modello finale nel set di dati di test. Questo parametro oggettivo è valido solo per la regressione.  |  Minimizza  | 
| test:multiclass\$1accuracy |  L'accuratezza del modello finale nel set di dati di test. Questo parametro oggettivo è valido solo per la classificazione multiclasse.  |  Massimizza  | 
| test:multiclass\$1top\$1k\$1accuracy |  La accuratezza tra le prime etichette k previste sul set di dati del test. Se scegli questo parametro come obiettivo, consigliamo di impostare il valore di k utilizzando l'iperparametro `accuracy_top_k`. Questo parametro oggettivo è valido solo per la classificazione multiclasse.  |  Massimizza  | 
| test:objective\$1loss |  Il valore medio della funzione di perdita obiettivo sul set di dati di test dopo che il modello è stato addestrato. Per impostazione predefinita, la perdita è la perdita logistica per la classificazione binaria e la perdita al quadrato per la regressione. Per impostare la perdita di altri tipi, utilizza l'iperparametro `loss`.  |  Minimizza  | 
| test:precision |  La precisione del modello finale nel set di dati di test. Se scegli questo parametro come obiettivo, ti consigliamo di impostare una richiamata di target impostando l'iperparametro `binary_classifier_model_selection` su `precision_at_target_recall` e il valore per l'iperparametro `target_recall`. Questo parametro oggettivo è valido solo per la classificazione binaria.  |  Massimizza  | 
| test:recall |  La richiamata del modello finale nel set di dati di test. Se scegli questo parametro come obiettivo, ti consigliamo di impostare una precisione di target impostando l'iperparametro `binary_classifier_model_selection` su `recall_at_target_precision` e il valore per l'iperparametro `target_precision`. Questo parametro oggettivo è valido solo per la classificazione binaria.  |  Massimizza  | 
| test:roc\$1auc\$1score |  L'area sotto la curva caratteristica operativa del ricevitore (curva ROC) del modello finale nel set di dati di test. Questo parametro oggettivo è valido solo per la classificazione binaria.  |  Massimizza  | 
| validation:absolute\$1loss |  La perdita assoluta del modello finale nel set di dati di convalida. Questo parametro oggettivo è valido solo per la regressione.  |  Minimizza  | 
| validation:binary\$1classification\$1accuracy |  L'accuratezza del modello finale nel set di dati di convalida. Questo parametro oggettivo è valido solo per la classificazione binaria.  |  Massimizza  | 
| validation:binary\$1f\$1beta |  Il punteggio F-beta del modello finale nel set di dati di convalida. Per impostazione predefinita, il punteggio F-beta è il punteggio F1, che è la media armonica dei parametri `validation:precision` e `validation:recall`. Questo parametro oggettivo è valido solo per la classificazione binaria.  |  Massimizza  | 
| validation:dcg |  Il guadagno cumulativo scontato del modello finale nel set di dati di convalida. Questo parametro oggettivo è valido solo per la classificazione multiclasse.  |  Massimizza  | 
| validation:macro\$1f\$1beta |  Il punteggio F-beta del modello finale nel set di dati di convalida. Questo parametro oggettivo è valido solo per la classificazione multiclasse.  |  Massimizza  | 
| validation:macro\$1precision |  Il punteggio della precisione del modello finale nel set di dati di convalida. Questo parametro oggettivo è valido solo per la classificazione multiclasse.  |  Massimizza  | 
| validation:macro\$1recall |  Il punteggio di richiamo del modello finale nel set di dati di convalida. Questo parametro oggettivo è valido solo per la classificazione multiclasse.  |  Massimizza  | 
| validation:mse |  L'errore quadratico medio del modello finale nel set di dati di convalida. Questo parametro oggettivo è valido solo per la regressione.  |  Minimizza  | 
| validation:multiclass\$1accuracy |  L'accuratezza del modello finale nel set di dati di convalida. Questo parametro oggettivo è valido solo per la classificazione multiclasse.  |  Massimizza  | 
| validation:multiclass\$1top\$1k\$1accuracy |  La accuratezza tra le prime etichette k previste sul set di dati di convalida. Se scegli questo parametro come obiettivo, consigliamo di impostare il valore di k utilizzando l'iperparametro `accuracy_top_k`. Questo parametro oggettivo è valido solo per la classificazione multiclasse.  |  Massimizza  | 
| validation:objective\$1loss |  Il valore medio della funzione di perdita obiettivo su ogni epoca (Unix epoch) del set di dati di convalida. Per impostazione predefinita, la perdita è la perdita logistica per la classificazione binaria e la perdita al quadrato per la regressione. Per impostare la perdita di altri tipi, utilizza l'iperparametro `loss`.  |  Minimizza  | 
| validation:precision |  La precisione del modello finale nel set di dati di convalida. Se scegli questo parametro come obiettivo, ti consigliamo di impostare una richiamata di target impostando l'iperparametro `binary_classifier_model_selection` su `precision_at_target_recall` e il valore per l'iperparametro `target_recall`. Questo parametro oggettivo è valido solo per la classificazione binaria.  |  Massimizza  | 
| validation:recall |  Il richiamo del modello finale nel set di dati di convalida. Se scegli questo parametro come obiettivo, ti consigliamo di impostare una precisione di target impostando l'iperparametro `binary_classifier_model_selection` su `recall_at_target_precision` e il valore per l'iperparametro `target_precision`. Questo parametro oggettivo è valido solo per la classificazione binaria.  |  Massimizza  | 
| validation:rmse |  La radice dell'errore quadratico medio del modello finale nel set di dati di convalida. Questo parametro oggettivo è valido solo per la regressione.  |  Minimizza  | 
| validation:roc\$1auc\$1score |  L'area sotto la curva caratteristica operativa del ricevitore (curva ROC) del modello finale nel set di dati di convalida. Questo parametro oggettivo è valido solo per la classificazione binaria.  |  Massimizza  | 

## Ottimizzazione degli iperparametri di apprendimento lineare
<a name="linear-learner-tunable-hyperparameters"></a>

Puoi ottimizzare un modello Linear Learner con i seguenti iperparametri.


| Nome parametro | Tipo parametro | Intervalli consigliati | 
| --- | --- | --- | 
| wd |  `ContinuousParameterRanges`  |  `MinValue: ``1e-7`, `MaxValue`: `1`  | 
| l1 |  `ContinuousParameterRanges`  |  `MinValue`: `1e-7`, `MaxValue`: `1`  | 
| learning\$1rate |  `ContinuousParameterRanges`  |  `MinValue`: `1e-5`, `MaxValue`: `1`  | 
| mini\$1batch\$1size |  `IntegerParameterRanges`  |  `MinValue`: `100`, `MaxValue`: `5000`  | 
| use\$1bias |  `CategoricalParameterRanges`  |  `[True, False]`  | 
| positive\$1example\$1weight\$1mult |  `ContinuousParameterRanges`  |  `MinValue`: 1e-5, `MaxValue`: `1e5`  | 

# Formati di risposta di Linear Learner
<a name="LL-in-formats"></a>

## Formati di risposta JSON
<a name="LL-json"></a>

Tutti gli algoritmi integrati di Amazon SageMaker AI aderiscono al formato di inferenza di input comune descritto in Common [Data Formats](https://docs.aws.amazon.com/sagemaker/latest/dg/cdf-inference.html) - Inference. Di seguito sono riportati i formati di output disponibili per l'algoritmo SageMaker AI linear learner.

**Classificazione binaria**

```
let response =   {
    "predictions":    [
        {
            "score": 0.4,
            "predicted_label": 0
        } 
    ]
}
```

**Classificazione multiclasse**

```
let response =   {
    "predictions":    [
        {
            "score": [0.1, 0.2, 0.4, 0.3],
            "predicted_label": 2
        } 
    ]
}
```

**Regressione**

```
let response =   {
    "predictions":    [
        {
            "score": 0.4
        } 
    ]
}
```

## Formati di risposta JSONLINES
<a name="LL-jsonlines"></a>

**Classificazione binaria**

```
{"score": 0.4, "predicted_label": 0}
```

**Classificazione multiclasse**

```
{"score": [0.1, 0.2, 0.4, 0.3], "predicted_label": 2}
```

**Regressione**

```
{"score": 0.4}
```

## Formati di risposta RECORDIO
<a name="LL-recordio"></a>

**Classificazione binaria**

```
[
    Record = {
        features = {},
        label = {
            'score': {
                keys: [],
                values: [0.4]  # float32
            },
            'predicted_label': {
                keys: [],
                values: [0.0]  # float32
            }
        }
    }
]
```

**Classificazione multiclasse**

```
[
    Record = {
    "features": [],
    "label":    {
            "score":  {
                    "values":   [0.1, 0.2, 0.3, 0.4]   
            },
            "predicted_label":  {
                    "values":   [3]
            }
       },
    "uid":  "abc123",
    "metadata": "{created_at: '2017-06-03'}"
   }
]
```

**Regressione**

```
[
    Record = {
        features = {},
        label = {
            'score': {
                keys: [],
                values: [0.4]  # float32
            }   
        }
    }
]
```