Contenuto principale

Pattern recognition utilizzando l’app Neural Net Pattern Recognition

Questo esempio mostra come addestrare una rete neurale superficiale per classificare i pattern con l’app Neural Net Pattern Recognition.

Apri l’app Neural Net Pattern Recognition tramite nprtool.

nprtool

Selezione dei dati

L’app Neural Net Pattern Recognition contiene dei dati esemplificativi che ti aiuteranno ad iniziare ad addestrare una rete neurale.

Per importare i dati esemplificativi per la classificazione del vetro, seleziona Import > Import Glass Data Set (Importare > Importare set di dati vetro). È possibile utilizzare questi dati per addestrare una rete neurale alla classificazione di vetro come finestra o non-finestra, usando le proprietà della chimica del vetro. Se si importano dati propri da un file o da workspace, occorre specificare i predittori e le risposte e se le osservazioni siano distribuite in righe o colonne.

Le informazioni sui dati importati compaiono nel Model Summary (Riepilogo modello). Questo set di dati contiene 214 osservazioni, con 9 feature ciascuna. Ogni osservazione viene assegnata ad una di queste due classi: finestra o non-finestra.

Suddividi i dati in set di addestramento, convalida e prova. Mantieni le impostazioni predefinite. I dati si suddividono in:

  • 70% per l’addestramento.

  • 15% per convalidare che la rete stia generalizzando e per interrompere l’addestramento prima di un overfitting.

  • 15% per testare in maniera indipendente la generalizzazione della rete.

Per ulteriori informazioni sulla suddivisione dei dati, vedere Divide Data for Optimal Neural Network Training.

Creazione della rete

La rete è una rete feed-forward a due livelli con funzione di trasferimento sigmoidale nel livello nascosto e una funzione di trasferimento softmax nel livello di output. Le dimensioni del livello nascosto corrispondono al numero di neuroni nascosti. Il valore predefinito per le dimensioni è 10. È possibile vedere l’architettura di rete nel pannello Network. Il numero di neuroni di output è impostato su 2, che corrisponde al numero di categorie specificate dai dati di risposta.

Addestramento della rete

Per addestrare la rete, fai clic su Train (Addestrare).

Nel pannello Training (Addestramento) si possono vedere i progressi dell’addestramento. L’addestramento continua fino al raggiungimento di uno dei criteri di arresto. In questo esempio, l'addestramento continua finché l'errore di convalida non è maggiore o uguale all'errore di convalida precedentemente più piccolo per sei iterazioni di convalida consecutive ("Criterio di convalida soddisfatto").

Analisi dei risultati

Il Model Summary (Riepilogo modello) contiene informazioni sull’algoritmo di addestramento e i risultati dell’addestramento per ogni set di dati.

È possibile analizzare ulteriormente i risultati generando dei grafici. Per tracciare le matrici di confusione, nella sezione Plots (Grafici), fai clic su Confusion Matrix (Matrice di confusione). Gli output della rete sono molto accurati, come si può vedere dai numeri elevati di classificazioni corrette nei quadrati verdi (diagonale) e dai numeri ridotti di classificazioni errate nei quadrati rossi (fuori dalla diagonale).

Visualizza la curva ROC per ottenere un’ulteriore verifica della performance della rete. Nella sezione Plots (Grafici), fai clic su ROC Curve (Curva ROC).

Le linee colorate su ogni asse rappresentano le curve ROC. La curva ROC è un grafico dell’incidenza di veri positivi (sensibilità) rispetto all’incidenza di falsi positivi (1 - specificità) al variare della soglia. Un test perfetto mostrerebbe i punti nell’angolo in alto a sinistra, con il 100% di sensibilità e il 100% di specificità. Per questo problema, la performance della rete è ottima.

Se non si è soddisfatti delle prestazioni della rete, si può procedere in uno dei seguenti modi:

  • Addestrare nuovamente la rete.

  • Aumentare il numero di neuroni nascosti.

  • Usare un set più ampio di dati di addestramento.

Se la performance sul set di addestramento è buona ma la performance sul set di test è scarsa, questo può indicare un overfitting del modello. Ridurre il numero di neuroni può ridurre l’overfitting.

Si può anche valutare la performance della rete su un ulteriore set di test. Per caricare ulteriori dati di test con cui valutare la rete, nella sezione Test, fai clic su Test. Il Model Summary (Riepilogo modello) mostra i risultati di test aggiuntivi. È possibile generare anche dei grafici per analizzare i risultati di test aggiuntivi.

Generazione di codice

Seleziona Generate Code > Generate Simple Training Script (Generare codice > Generare script di addestramento semplice) per creare un codice MATLAB in grado di riprodurre le fasi precedenti dalla riga di comando. La creazione di codice MATLAB può essere utile se si desidera imparare come utilizzare la funzionalità della riga di comando del toolbox per personalizzare il processo di addestramento. In Pattern recognition utilizzando le funzioni della riga di comando, potrai esaminare più dettagliatamente gli script generati.

Esportazione della rete

Una volta addestrata, la rete può essere esportata nel workspace o in Simulink®. È anche possibile distribuire la rete con MATLAB Compiler™ e altri strumenti di generazione di codice MATLAB. Per esportare la rete addestrata e i risultati, seleziona Export Model > Esport to Workspace (Esportare modello > Esportare in Workspace).

Vedi anche

| | | |

Argomenti