Hjælp til app: Neuralt netværk til multipel klassifikation
Herunder gives en gennemgang af hver af fanerne i Neuralt Netværk App til Multipel klassifikation. Du kan læse mere om matematikken bag i noten om simple kunstige neurale netværk til multipel klassifikation – her beskriver vi dog ikke, hvordan skjulte lag håndteres. Det kan du læse mere om i noten om kunstige neurale netværk. Denne note behandler dog kun binær klassifikation.

Tryk på Browse… og vælg den datafil, du vil uploade. Det skal enten være en csv- eller excel-fil.
Hvis du uploader en fil i CSV format, kommer følgende frem:

Her skal du vælge, hvordan data er separeret. Der er følgende muligheder:
- Auto
- Komma (,)
- Semikolon (; - Dansk/Excel)
Ved "Auto" prøver app’en selv at finde ud af, hvordan data er separeret. Hvis du ikke ved, hvad du skal vælge, så prøv alle muligheder og se efter, hvordan data bliver indlæst i højre side af skærmen.
Tryk herefter på Næste-knappen.
Target-variabel

Under Target-variabel vælger du den kolonne i dit datasæt, som angiver den klasse, der skal prædikteres. Du skal altså her vælge den kolonne, hvor target-værdierne står.
Feature-variable

Under feature-variable vælges alle de feature-/input-variable, som skal være en del af modellen.
Tryk herefter på Næste-knappen.
Antal neuroner i første skjulte lag

Her vælges antallet af neuroner i det første skjulte lag.
Antal neuroner i andet skjulte lag

Her vælges antallet af neuroner i det andet skjulte lag.
Learning rate

Når vægtene opdateres ved hjælp af gradientnedstigning benyttes denne opdateringsregel (hvor \(E\) er tabsfunktionen)
\[ w^{(\textrm{ny})} \leftarrow w - \eta \cdot \frac{\partial E }{\partial w} \]
her er \(\eta\) det, som kaldes for en learning rate. Hvis \(\eta\) vælges for stor, kan man risikere at "træde henover" minimum (det ses typisk ved at grafen for tabsfunktionen som funktion af antal iterationer – til højre i skærmbilledet – fluktuerer eller "stikker af"). Vælges \(\eta\) for lille går opdateringen for langsom, som ses ved at værdien af tabsfunktionen næsten ikke ændrer sig.
Iterationer

Iterationer angiver det antal gange vægtene opdateres i forbindelse med gradientnedstigning. Antal iterationer skal sættes stort nok til, at grafen for tabsfunktionen som funktion af antal iterationer begynder at flade ud.
Aktiveringsfunktion i skjulte lag

Under Aktiveringsfunktion i skjulte lag kan man vælge den aktiveringsfunktion, som bruges i alle de skjulte lag. Der kan vælges blandt:
- Sigmoid
- Tangenshyperbolsk
- ReLu
- Softsign
- Identitet med forskrift \(f(x)=x\)
Tryk herefter på Træn model-knappen.
Output fra modellen
Når modellen er trænet ses outputtet i højre side af skærmen. Følgende vises:
Grafen for værdien af tabsfunktionen som funktion af antal iterationer. Her skal du holde øje med, at grafen flader ud svarende til, at gradientnedstigning er konvergeret.
Slutværdien af tabsfunktionen. Hvis du vil vide mere om, hvordan størrelsen af denne værdi kan vurderes, så se dette forløb.
Evaluering

Der kan her vælges mellem tre evalueringsmetoder:
- Evaluering på træningsdata
- Evaluering på bruger-uploadet testdata
- Evaluering via krydsvalidering
Når evalueringsmetoden er valgt, trykkes der på Kør evaluering-knappen.
Vælges Evaluering på træningsdata beregnes følgende: Klassifikationsnøjagtighed (CA) og en confusion matrix. Desuden vises targetfordelingen i træningsdatasættet. Her skal man være opmærksom på at sammenholde CA med denne fordeling, som det også er beskrevet i afsnittet Klassifikationsnøjagtighed (CA).
Endelig er det muligt at downloade et datasæt, hvor træningsdatasættet er udvidet med et antal ekstra kolonner, som for hvert træningseksempel indeholder de prædikterede sandsynligheder (\(o_1, o_2, \dots, o_J\)) for hver af de forskellige \(J\) kategorier, som targetvektoren kan repræsentere. Desuden er der en kolonne, som indeholder den prædikterede kategori (bestemmes ved at finde den største prædikterede sandsynlighed – hvis det er \(o_j\), bliver den prædikterede klasse den \(j\)’te).
Vælges Evaluering på bruger-uploadet testdata beregnes det samme som for Evaluering på træningsdata blot med udgangspunkt i et uploadet testdatasæt.
Endelig kan Evaluering via krydsvalidering vælges. Her beregnes Klassifikationsnøjagtighed (CA) og en confusion matrix baseret på krydsvalidering.