Nel machine learning, due termini — ovvero "iperparametro del modello" e "parametro" — vengono spesso confusi tra loro. In questa sede esamineremo entrambi i concetti, dando un rapido sguardo alle differenze che intercorrono tra i due.
L'obiettivo primario del machine learning consiste nel creare un modello a partire da un determinato set di dati. Tale set di dati viene successivamente impiegato per predire etichette o variabili dipendenti. Per perfezionare tale previsione, i modelli di ML necessitano di algoritmi di ottimizzazione durante la fase di addestramento.
Che cos'è un parametro di modello?
Un parametro di modello è una variabile il cui valore viene stimato a partire dal dataset. I parametri sono i valori appresi durante la fase di addestramento, ricavati dai dataset storici.
I valori dei parametri del modello non vengono impostati manualmente; essi vengono stimati a partire dai dati di addestramento. Si tratta di variabili interne al modello di machine learning.
I valori dei parametri vengono definiti in base all'addestramento. Tali valori vengono utilizzati dal modello di machine learning nel momento in cui effettua delle previsioni. L'accuratezza dei valori dei parametri determina la capacità predittiva del modello.
Nel caso in cui un modello presenti un numero fisso di parametri, il sistema viene definito "parametrico". Al contrario, i sistemi "non parametrici" non possiedono un numero fisso di parametri.
Questi sistemi presuppongono che la distribuzione dei dati non possa essere definita tramite un insieme fisso di parametri.
I coefficienti nelle regressioni lineari o logistiche e i pesi nelle reti neurali costituiscono esempi di parametri di modello.
Che cos'è un iperparametro?
Un iperparametro è una variabile di configurazione esterna al modello. Viene definito manualmente prima della fase di addestramento del modello, utilizzando il dataset storico. Il suo valore non può essere ricavato direttamente dai dataset.
Non è possibile determinare a priori quale sia il valore ottimale dell'iperparametro; tuttavia, è possibile avvalersi di regole empiriche o selezionare un valore per il proprio sistema tramite un approccio per tentativi ed errori.
Gli iperparametri influenzano la velocità e l'accuratezza del processo di apprendimento del modello. Sistemi diversi richiedono un numero differente di iperparametri; i sistemi più semplici, in alcuni casi, potrebbero non richiedere alcun iperparametro.
Il learning rate (tasso di apprendimento), il valore di K nell'algoritmo dei k-nearest neighbors e la batch size sono esempi di iperparametri.
Iperparametro vs. Parametro
Comprendiamo la differenza tra parametro e iperparametro con l'aiuto di un esempio.
Quando, poniamo il caso, stai imparando a guidare, devi seguire delle sessioni di apprendimento con un istruttore che ti impartisce lezioni.
In questo contesto, vieni addestrato con l'aiuto dell'istruttore. L'istruttore ti assiste nel corso delle lezioni; ti aiuta a fare pratica di guida finché non ti senti sufficientemente sicuro e capace di guidare autonomamente su strada.
Una volta completato l'addestramento e acquisita la capacità di guidare, non avrai più bisogno dell'istruttore per essere formato. In questo scenario, l'istruttore rappresenta l'iperparametro, mentre lo studente rappresenta il parametro.
Come visto in precedenza, i parametri sono le variabili di cui il sistema stima il valore durante la fase di addestramento.
I valori degli iperparametri sono preimpostati. Tali valori sono indipendenti dal dataset e non subiscono variazioni nel corso dell'addestramento.
L'iperparametro non costituisce una parte integrante del modello addestrato o del modello finale. I valori dei parametri del modello, stimati durante l'addestramento, vengono invece salvati insieme al modello stesso.
I valori degli iperparametri vengono utilizzati durante l'addestramento per stimare i valori dei parametri del modello.
Gli iperparametri sono variabili di configurazione esterne, mentre i parametri del modello sono interni al sistema.
Poiché i valori degli iperparametri non vengono salvati, essi non vengono utilizzati dal modello addestrato o finale per effettuare previsioni. I parametri del modello, al contrario, vengono impiegati proprio nel momento in cui si effettuano le previsioni.
Una semplice regola pratica per non confondere i due termini è ricordare che se è necessario specificare il valore in anticipo, si tratta di un iperparametro.
Ora che li abbiamo esaminati entrambi, dovrebbe essere chiaro che la definizione e l'utilizzo dei due termini sono differenti.




