Numeri casuali nell’apprendimento automatico
Numeri casuali nell'apprendimento automatico un approfondimento
Tutto sui numeri pseudo-casuali, il seeding e la riproducibilità
L’apprendimento automatico si basa sulle statistiche e i numeri casuali sono importanti per le prestazioni di molti passaggi nella pipeline di elaborazione dati e allenamento del modello. I moderni framework di apprendimento automatico forniscono astrazioni e funzioni che implementano casualità internamente e per noi, come scienziati dei dati e ingegneri dell’apprendimento automatico, i dettagli sulla generazione di numeri casuali rimangono spesso oscuri.
In questo articolo, voglio fare chiarezza sui numeri casuali nell’apprendimento automatico. Leggerai di:
- 3 esempi dell’uso di numeri casuali nell’apprendimento automatico
- Generazione di numeri (pseudo-)casuali
- Risolvere i numeri casuali tramite seeding
- Apprendimento automatico riproducibile: linee di codice necessarie per scikit-learn, tensorflow e pytorch.
Alla fine di questo articolo, saprai cosa succede quando usi numeri casuali nella tua pipeline di apprendimento automatico e imparerai le linee di codice necessarie per garantire la riproducibilità dei tuoi algoritmi di apprendimento automatico.
3 Esempi dell’uso di numeri casuali nell’apprendimento automatico
Per illustrare l’importanza dei numeri casuali, discuteremo tre esempi in cui sono rilevanti lungo la pipeline di apprendimento automatico.
- Distribuzioni discrete univariate una spiegazione facile da capire
- ‘CLIP, spiegato in modo intuitivo ed esaustivo’
- Rimodellare la Memoria del Modello senza la Necessità di un Nuovo Addestramento
- Creazione di divisioni train/test di un dataset
- Inizializzazione dei pesi in una rete neurale
- Scegliere minibatch durante l’allenamento
Divisione train/testDividere il tuo dataset in dati di training e di test è uno dei passaggi più importanti per valutare le prestazioni di un algoritmo di apprendimento automatico. Siamo interessati a creare modelli che generalizzino bene su dati non utilizzati durante l’allenamento. A questo scopo, una collezione di campioni di dati viene divisa in almeno due insiemi disgiunti.
I dati di training vengono utilizzati per allenare l’algoritmo, cioè per fissare iterativamente i parametri del modello. I dati di test vengono utilizzati per convalidare l’algoritmo applicando un modello allenato ai dati di test e riportando le metriche appropriate.