• Ingen resultater fundet

Neuralt Netværk

In document Copenhagen Business School (Sider 82-88)

Figur 20: ROC-kurve for ubalanceret og balanceret XGboost 4.4.5 Sammenfatning

Vi har i dette afsnit set på to typer XGboost modeller. Den ene model er ubalance-ret hvorimod den anden er balanceubalance-ret. Derudover prøver vi at justere på threshold for at se, om dette har en effekt på performance. Figur 20 illustrerer, at den balan-cerede XGboost model har en højere AUC end den ubalanbalan-cerede XGboost model.

Det fremgår af tabellerne 30 og 32, at der er en mindre forskel ved balancering af modellen. Det ses af tabellerne, atrecall stiger for den balancerede model, hvorimod precision falder. Der skal derfor tages højde for dette trade-off, når en model vælges.

4.5.1 Valg af Neuralt Netværk arkitektur

Vi har prøvet os frem med forskellige Neurale Netværk ved at ændre på arkitektu-ren. Vi har gjort os mange overvejelser om valget af de to modeller, som vi bruger i afsnit 4.5.2 og 4.5.3. Her er hver model dannet på træningsdatasættet og vurderet på valideringsdatasættet. Den model, som performer bedst på valideringsdatasæt-tet, benyttes.

Med udgangspunkt i teorien for Neuralt Netværk 3.6, vælger vi strukturen for net-værksmodellerne i dette afsnit. For begge netværksmodeller vælger vi at fokusere på dybe netværk, da dette kan være med til at forhindre overfitting. Vi har prøvet os frem ved at ændre på antallet af lag og antallet af neuroner i hvert lag. Vi har også afprøvet forskellige activation funktioner i hidden layers for at se, om disse gør en forskel for prædiktionen. Som vi også nævner i teori afsnit 3.6 for Neuralt Netværk, bruger visigmoid funktionen somactivation funktion ioutput layer. Vi prøvede også med forskellige regulariseringsmetoder, hvor vi finder frem til, at dropout regulari-seringen er den bedste, hvorfor vi vælger at bruge denne.

Vi har været følgende proces igennem for at komme frem til de valgte Neurale Net-værk. Først fokuserede vi på dybden af det Neurale Netværk samt mængden af neuroner i hvert lag. Vi startede med at lave et Neuralt Netværk med få lag og man-ge neuroner i hvert lag. Derudover valgte vi den samme activation funktion, relu, i hvert lag. Dernæst afprøvede vi et netværk med flere lag, hvor input layer havde 256 neuroner, som halveres for hvert lag. Igen brugte vi den sammeactivation funk-tion, relu. Dernæst testede vi performance for netværket ved at ændre på antallet af epoch. Ved det efterfølgende netværk prøvede vi et med samme dybde som det tidligere, men hvor vi fordoblede antallet af neuroner i hvert lag.

Vi fittede alle de ovenstående modeller med dropout regularisering i mellem hvert hidden layer. Vi testede med forskellige størrelser af dropout regularisering for at se om højeredropout sandsynlighed gavnede performance. Desuden prøvede vi forskel-lige activation funktioner i hvert hidden layer for at se deres inflydelse på prædik-tionen. Vi valgte at teste med relu og tanh.

Til sidst valgte vi de to modeller, som resulterede i den bedste performance på valideringsdatasættet. Disse modeller og deres performance vil blive beskrevet i de næste afsnit.

4.5.2 Neuralt Netværk uden regularisering

Det ses af tabel 33, at dette Neurale Netværk indeholder 6 lag, hvoraf fem af dem er hidden layers. Det skal bemærkes, at input layer ikke medregnes. I output layer

bruger vi sigmoid funktionen som activation funktion, da vi prædikterer en sand-synlighed. Input layer vil have 128 neuroner. De 5 hidden layers vil fra første til sidste hidden layer have henholdsvis 64, 32, 16, 4 og 2 neuroner. Outputlaget har 1 neuron. På baggrund af undersøgelsen i forrige afsnit har vi har valgt at bruge tanh activation funktion i to af de femhidden layers. I de resterende hidden layers bruger vi relu som activation funktion. Derudover bruger vi en learning_rate på 0.01, batch_size på 32 og epochs på 1000.

Hyperparameter Værdi

Antal lag 6

Antal hidden layers 5 Antaldropout layers 0 learning_rate 0.01

patience 100

epochs 1000

batch_size 32

Tabel 33: Hyperparametre for Neuralt Netværk uden regularisering

4.5.2.1 Klassifikationsresultater

Vi bruger early stopping, hvor loss for valideringsdatasættet findes for hvert epoch, så vi undgår overfitting. Valideringsdatasættet er dannet ved at splitte trænings-datasættet. Hvor 80% af observaitonerne danner et nyt træningsdatasæt og 20%

danner valideringsdatasættet. Valideringsdatasættet bliver benyttet til at teste mo-dellens performance for hver epoch under træning. Vi sætter patience parameteren til 100. Det vil sige, at når valideringsfejlen ikke falder efter 100 epoch, så stopper træningsfasen.

Det ses af figur 4.5.2, at træningsfasen stopper efter 104 epoch og modellen ved epoch fire benyttes. Yderligere kan det observeres, at valideringsfejlen er stigende efter den femte epoch, hvilket indikerer overfitting. Tabel 34a illustrerer prædiktio-nerne ved brug af threshold 0.3. Det ses, at prædiktion af frafald stiger, hvorimod prædiktion af ikke-frafald falder sammenlignet med threshold 0.5. Generelt virker det til, at modellen ikke påvirkes meget af en ændring i threshold, som det også ses

Faktisk Ikke-frafald Frafald Prædiktion Ikke-frafald 919 219

Frafald 122 111

(a) Threshold 0.3

Faktisk Ikke-frafald Frafald Prædiktion Ikke-frafald 989 262

Frafald 52 68

(b) Threshold 0.5 Tabel 34: Confusion Matrix: Neuralt Netværk uden regularisering

Figur 21: Trænings- og valideringsloss for Neuralt Netværk uden regularisering i modelaccuracy.

accuracy0.3 = 0.7513 accuracy0.5 = 0.7710

Tabel 35 er et resumé af modellens performance for threshold 0.3 og 0.5. Når vi ændrer threshold til 0.3, ser vi, at recall for frafald stiger. Dette kommer som kon-sekvens af, at flere ikke-frafald fejlprædikteres, hvilket resulterer i lavere precision. Dette er tilsvarende for de tidligere modeller. Derudover ses et fald i precison og en stigning i recall for frafald.

Klassifikations Ikke-frafald Frafald Samlet Parametre(threshold)

precision(0.3) 0.81 0.48 0.64

recall(0.3) 0.88 0.34 0.61

f1-score(0.3) 0.84 0.39 0.62

precision(0.5) 0.79 0.57 0.68

recall(0.5) 0.95 0.21 0.58

f1-score(0.5) 0.86 0.30 0.58

Tabel 35: Performance: Neuralt Netværk uden regularisering

4.5.3 Neuralt Netværk med regularisering

I det tidligere afsnit lavede vi et feed forward Neuralt Netværk uden nogen form for regularisering udover early stopping. Med udgangspunkt i undersøgelserne fra afsnit 4.5.1 vil vi i dette afsnit bygge et dybere Neuralt Netværk med få neuroner i hvert lag. Som gennemgået i teorien om Neuralt Netværk, i afsnit 3.6.7.2, kan dybe Neurale Netværk forhindre overfitting. Yderligere brugesdropout som regularisering.

Hyperparameter Værdi

Antal lag 14

Antal hidden layers 13 Antaldropout layers 13 learning_rate 0.01

patience 100

epoch 1000

batch_size 32

Tabel 36: Hyperparametre for Neuralt Netværk med dropout regularisering Det ses i tabel 36, at det Neurale Netværk indeholder 15 lag, det vil sige 14hidden layers. Hvert lag består af 8 neuroner med relu activation funktion bortset fra det sidste lag, som benyttersigmoid funktionen. Derudover har vi brugt dropout på20%

i hvert lag. Det vil sige, at hver neuron i et lag bliver fjernet med20%sandsynlighed.

4.5.3.1 Klassifikationsresultater

Netværket er trænet med early stopping med patience på 100 som ved tidligere til-fælde. Figur 22 viser valideringsfejl og træningsfejl for det regulariserede Neurale Netværk for hver epoch. Det ses, at modellen finder et mønster for validerings-fejlen hurtigt, hvorefter valideringsvaliderings-fejlen ikke ændre sig meget. Derudover stopper træningsfasen ved 144 epoch, som er lang tid inden de 1000 epoch, vi har givet modellen til at træne i.

Figur 22: Trænings- og valideringsloss for Neuralt Netværk med dropout regularise-ring

I tabel 37a og 37b illustreres confusion matricerne for modellen med threshold

hen-Faktisk Ikke-frafald Frafald Prædiktion Ikke-frafald 983 267

Frafald 58 63

(a) Threshold 0.3

Faktisk Ikke-frafald Frafald Prædiktion Ikke-frafald 1026 304

Frafald 15 26

(b) Threshold 0.5

Tabel 37: Confusion Matrix: Neuralt Netværk med dropout regularisering holdsvis0.3og0.5. Ved et lavere threshold prædikteres flere frafald og dermed færre ikke-frafald. Dette resultat er tilsvarende for de tidligere modeller. Ved at justere på threshold ses det, at modelaccuracy ændres marginalt.

accuracy0.3 = 0.7629 accuracy0.5 = 0.7673

Klassifikations Ikke-frafald Frafald Samlet Parametre(threshold)

precision(0.3) 0.79 0.52 0.65

recall(0.3) 0.94 0.19 0.57

f1-score(0.3) 0.86 0.28 0.57

precision(0.5) 0.77 0.63 0.70

recall(0.5) 0.99 0.08 0.53

f1-score(0.5) 0.87 0.14 0.50

Tabel 38: Performance: Neuralt Netværk med dropout regularisering

Det ses af tabel 38, at regulariseringen forbedre precision for frafald og recall for ikke-frafald. Derudover falder samlet f1-score for modellen, hvilket betyder, at per-formance for modellen falder. En ændring i threshold fra 0.5 til0.3resulterer ikke i en betydelig forskel i performance.

4.5.4 Receiver Operating Characteristic (ROC)

Vi undersøger hvordan de to modeller performer ved brug af forskellige tresholds.

Dette gør vi ved at plotte kurven for de to modeller. Figur 23 illustrerer ROC-kurverne for de to modeller. Vi ser, at Neurale Netvært har en AUC tilsvarende for de logistiske modeller. Det lader ikke til, at modellerne finder et brugbart mønster, siden de ikke opnår bedre perfomance. Desuden opnår modellen uden regularisering højere performance sammenlignet med den regulariseret model.

4.5.5 Balanceret Neuralt Netværk

Vi har lavet en balanceret udgave af hvert Neuralt Netværk beskrevet i dette afsnit.

Vi observerer, at for den uregulariserede model vil balanceringen have den samme effekt på prædiktion, som set i de andre modeller. Det vil sige, at balanceringen vil medføre, at modellen bliver bedre til at prædiktere frafald, men samtidig bliver

Figur 23: ROC-kurve for uregulariseret og regulariseret Neuralt Netværk dårligere til at prædiktere ikke-frafald. AUC for det balancerede og uregulariserede netværk er 0.6924, hvilket er lavere end den ubalancerede version. Den balancerede version af det regulariserede Neurale Netværk prædikterer alle til frafald og ikke-frafald for henholdsvis threshold 0.3 og 0.5. Dette medfører en AUC på 0.4706, hvorfor det vil være en bedre strategi at gætte. Balanceringen for det regulariserede Neurale Netværk vil dermed ikke hjælpe modellen med at prædiktere frafald, som vi så i de andre modeller. Confusion matricer og performance mål for de balancerede versioner af Neurale Netværk kan findes i appendix B. I stedet for at præsentere resultater for de balancerede netværk har vi valgt at fokusere på strukturen for det Neurale Netværk og regulariseringenseffekten.

4.5.6 Sammenfatning

Vi ser i dette afsnit hvordan Neuralt Netværk performer på vores data. Det viser sig, at Neuralt Netværk ikke rigtigt er i stand til at finde et mønster i data. Dette er også tydeligt at se i figur 23, hvor AUC på 0.707 og 0.6377 blev opnået for henholdsvis modellen uden regularisering og modellen med regularisering. I teori afsnittet 3.6 beskriver vi, at det Neurale Netværk generelt bliver bedre for større datasæt. Manglen på data kan være en af årsagerne til, at modellerne ikke performer på niveau med Random Forest og XGboost. Baseret på AUC performer det Neurale Netværk på niveau med Lasso Logistisk Regression implementeret i afsnit 4.2.3.

In document Copenhagen Business School (Sider 82-88)