Preparazione dei dati e progettazione delle funzionalità in ML

Il machine learning ci aiuta a trovare pattern nei dati, pattern che utilizziamo per fare previsioni sui nuovi punti dati. Per ottenere previsioni corrette, dobbiamo costruire il set di dati e trasformare correttamente i dati. Questo corso tratta questi due passaggi fondamentali. Vedremo anche come giocano le considerazioni di formazione/pubblicazione in questi passaggi.

Un progetto di machine learning organizzato in cinque fasi. 1. Definire un problema di ML e proporre una soluzione. 2. Crea il tuo set di dati. 3. Trasforma i dati.
4. Addestrare un modello. 5. Utilizza il modello per fare previsioni.  Questo corso riguarda la creazione di un set di dati e la trasformazione dei dati.

Prerequisiti

Questo corso presuppone che tu abbia:

Perché scoprire di più sulla preparazione dei dati e sulla progettazione della funzionalità?

L'ingegneria delle funzionalità può essere paragonata a un modello che consente di comprendere i set di dati nello stesso modo in cui lo fanno. Gli studenti spesso frequentano un corso di machine learning incentrato sulla creazione dei modelli, ma finiscono per dedicare molto più tempo ai dati.

Per la domanda seguente, fai clic sulla freccia desiderata per controllare la risposta:

Se dovessi dare la priorità al miglioramento di una delle aree seguenti nel tuo progetto di machine learning, quale potrebbe avere l'impatto maggiore?
La qualità e le dimensioni dei dati
I dati hanno la precedenza. È vero che l'aggiornamento dell'algoritmo di apprendimento o dell'architettura del modello ti permette di apprendere diversi tipi di pattern, ma se i tuoi dati sono negativi, dovrai creare funzioni che corrispondono alla cosa sbagliata. La qualità e le dimensioni del set di dati sono molto più importanti rispetto all'algoritmo lucido che utilizzi.
Utilizzare l'algoritmo di ottimizzazione più recente
Potresti sicuramente ottenere risultati migliori nell'uso degli strumenti di ottimizzazione, ma non avrebbe un impatto significativo sul tuo modello come un altro elemento in questo elenco.
Una rete più dettagliata
Anche se una rete più profonda può migliorare il tuo modello, l'impatto non sarà significativo come un altro elemento in questo elenco.
Una funzione di perdita più intelligente
Ci sei andato vicino! Una migliore funzionalità di perdita può portare a una grande vittoria, ma è ancora seconda a un altro elemento in questo elenco.

Perché è importante raccogliere un buon set di dati?

Google Traduttore

"...uno dei nostri progressi più efficaci nel campo della qualità da quando la traduzione automatica neurale è stata quella di identificare il miglior sottoinsieme di dati di addestramento da utilizzare."

- Ingegnere informatico, Google Traduttore

Il team di Google Traduttore ha più dati di addestramento che può utilizzare. Invece di mettere a punto il modello, il team ha guadagnato maggiori vittorie utilizzando le migliori caratteristiche dei suoi dati.

 

 

 

"...la maggior parte delle volte quando ho provato a eseguire manualmente il debug di errori dall'aspetto interessante sono stati rinnovati a problemi con i dati di addestramento." - Ingegnere informatico, Google Traduttore

Gli errori di tipo "interesse interessante" sono in genere causati dai dati. I dati difettosi possono indurre il modello ad apprendere i pattern sbagliati, indipendentemente dalle tecniche di modellazione che provi.

 

 

Progetto sulla retinopatia diabetica da parte di Brain

Il progetto di retinopatia diabetica di Google Brain ha utilizzato un'architettura di rete neurale, nota come Inception, per rilevare la malattia classificando le immagini. Il team non ha modificato i modelli. Riuscirono invece a creare un set di dati di 120.000 esempi, etichettati da oftalmologi. Per ulteriori informazioni, visita https://research.google.com/pubs/pub43022.html.