• No results found

Ontwikkelen van een een Machine Learning model voor het automatisch classificeren van Intelligence rapporten voor de Nederlandse politie

N/A
N/A
Protected

Academic year: 2021

Share "Ontwikkelen van een een Machine Learning model voor het automatisch classificeren van Intelligence rapporten voor de Nederlandse politie"

Copied!
31
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

Ontwikkelen van een een Machine Learning

model voor het automatisch classificeren van

Intelligence rapporten voor de Nederlandse

politie

Bob Strube

11890738

17 augustus 2020

Abstract

Het gebruik van machine learning technieken voor het automatisch classificeren van incidenten kan voor de politie grote voordelen opleveren. Naast dat er veel tijd bespaard kan worden met een dergelijk systeem zou de kwaliteit van de intelligence rapporten waarschijnlijk ook verbeteren. In dit onderzoek wordt aan de hand van experimenten aangetoond dat machine learning modellen in staat zijn goede voorspellingen te doen voor het samenstellen van intelligence rapporten. Het samenstellen van de rapporten geheel automatiseren lijkt echter niet verstandig om meerdere factoren. Daarom wordt in dit onderzoek voorgesteld een hybride systeem te ontwikkelen waarin agenten geholpen worden door suggesties van een ML model. Dit lijkt de beste manier om de voordelen van een ML model op het gebied van snelheid en kwaliteit te combineren met de ervaring van de agent.

Begeleider: Paul Groth

2e Examinator: Toon Abcouwer Bachelorscriptie Informatiekunde

Faculteit der Natuurwetenschappen, Wiskunde en Informatica Universiteit van Amsterdam

(2)

1

Introductie

In opdracht van de politie wordt onderzocht of er een machine learning (ML) model ontwikkeld kan worden dat kan helpen bij het geautomatiseerd samenstel-len van intelligence rapporten. Intelligence rapporten zijn dagelijkse overzichten van belangrijke incidenten die met de hand door de politie worden samengesteld. Deze rapporten geven een overzicht van alle incidenten die van belang zijn bin-nen het geografische werkgebied van een agent of basisteam (een team agenten in een bepaalde regio).

Het toepassen van machine learning technieken binnen dit domein is niet nieuw binnen de politie. Wel staan de ontwikkelingen nog in de beginfase en moet er nog veel geëxperimenteerd en geëvalueerd worden. Momenteel is er binnen de politie een ML model beschikbaar voor het automatisch samenstellen van intelligence rapporten. Dit ML model wordt echter nog weinig gebruikt en er ontbreekt een diepgaande analyse over de validiteit van dit model en de voorwaarden waaraan zo’n model moet voldoen. Aan de hand van meerdere experimenten met verschillende modellen wordt in dit onderzoek een model-voorstel gedaan alsmede een aantal criteria opgesteld waarvan de onderzoeker het belang bij het ontwikkelen van deze modellen hoog acht. Denk hierbij aan de manier waarop de modellen, voor deze toepassing, het beste op kwaliteit beoordeeld kunnen worden, hoe de beschikbare data behandeld moeten worden en welke implicaties het gebruik van verschillende typen machine learning kan hebben. Na het afkaderen van het op te lossen vraagstuk en het vaststellen op welke manier dit vraagstuk het beste opgelost kan worden zijn twee hoofddoe-len opgesteld voor het uitgevoerde onderzoek. Ten eerste moet er duidelijk in kaart worden gebracht of machine learning tot de mogelijke oplossingen van dit probleem behoort.

De onderzoeksvraag die in dit onderzoek beantwoord zal worden is daarom: welk machine learning model is geschikt voor het betrouwbaar samenstellen van intelligence rapporten? Ten tweede moet het ontwikkelde model minimaal hetzelfde of beter presteren dan het huidige model. Omdat het huidige model weinig op kwaliteit geëvalueerd is en hier geen goede gegevens van beschikbaar zijn, is hiertoe eerst een baseline vastgesteld op basis van dit model. Deze base-line is vastgesteld aan de hand van de indicatoren die passen bij het evalueren van een model voor deze specifieke taak.

(3)

Inhoudsopgave

1 Introductie 2

2 Intelligence rapporten politie 4

2.1 Doel van het intelligence rapport . . . 4

2.2 Automatisering intelligence rapporten . . . 4

3 Theoretisch kader 6 3.1 Kwaliteit bepalen binaire classificatie . . . 6

3.1.1 Confusion matrix . . . 6

3.1.2 Confusion matrix in de context van het ML model . . . . 7

3.1.3 Opstellen indicatoren . . . 8

3.1.4 Politie-indicator . . . 9

3.2 ML modellen voor binaire classificatie . . . 10

3.3 Mogelijke ethische implicaties . . . 11

3.3.1 Voorkomen van onethische bias . . . 12

4 Data 13 4.1 Overzicht van de metadata . . . 13

4.2 Training-, validatie- en testdatasets . . . 14

4.2.1 Rangschikking data . . . 14

4.3 Augmentatie van de data . . . 15

4.4 Ongebalanceerde data . . . 15

4.4.1 Methoden om bias door ongebalanceerde data tegen te gaan 15 4.5 Geografische dimensie . . . 16

5 Modellen 18 5.1 Baseline . . . 18

5.2 Neural network model met embeddings . . . 19

5.3 Random forest model . . . 20

6 Resultaten 21 6.1 ROC-curves . . . 21 6.2 Politie indicator . . . 24 6.3 Feature importance . . . 24 6.4 Geografische verschillen . . . 25 7 Discussie 26 7.1 Politie-indicator . . . 26 7.2 Feature importance . . . 27 7.3 Geografie . . . 28 7.4 Conclusie . . . 28 7.5 Toekomstig werk . . . 29 Referenties 30 A Appendix 31

(4)

2

Intelligence rapporten politie

De politie krijgt iedere dag vele meldingen binnen. Aan deze meldingen wordt navolging gedaan. De politie doet onderzoek op basis van de melding en gaat bijvoorbeeld op locatie kijken. Wanneer er daadwerkelijk iets aan de hand is registreert de politie een incident in het BHV systeem. In dit systeem worden alle data omtrent het incident bijgehouden. Dit systeem is gekoppeld aan tal van andere datasystemen waarin aanvullende data wordt opgeslagen of waar data uit opgehaald kan worden. Om overzicht te houden over wat er binnen een bepaald geografisch gebied gebeurt, bijvoorbeeld een wijk of regio, worden er door de politie intelligence rapporten gemaakt. Deze rapportages bevatten meestal de belangrijkste gebeurtenissen van de afgelopen 24 uur of de afgelopen week. Het samenstellen van deze rapporten wordt door een ervaren agent gedaan. Deze agent bepaalt op basis van zijn of haar professionele ervaring of een incident wel of niet voldoet aan de criteria om in het intelligence rapport te horen. Er zijn binnen de politieorganisatie geen vaste regels die voorschrijven of een incident wel of niet in een intelligence rapport behoort. Derhalve zijn er waarschijnlijk verschillen tussen de regio’s waarbinnen rapportages worden gemaakt m.b.t. welke incidenten in het intelligence rapport komen. Om dit te onderzoeken zijn er in dit onderzoek ook experimenten gedaan op basis van de geografie van incidenten.

2.1

Doel van het intelligence rapport

Door een overzicht te creëren van alle belangrijke incidenten wordt door de poli-tie geprobeerd de agenten op straat van een zo goed mogelijke informapoli-tieposipoli-tie te voorzien. Dit is belangrijk omdat een agent op ieder moment zoveel mogelijk moet weten over wat er in de buurt speelt om zo goed mogelijk te kunnen functi-oneren. Ook hoopt de politie dat agenten hierdoor effectiever kunnen optreden en dit de impact van de politie positief beïnvloedt.

Daarnaast wordt het intelligence rapport gebruikt om niet direct betrokken belanghebbenden van een overzicht over belangrijke gebeurtenissen te voorzien. Denk hierbij aan burgemeesters van gemeenten die geïnformeerd moeten worden over bijvoorbeeld de georganiseerde misdaad in hun regio of een algemeen beeld behoeven over de toestand van hun gemeente.

2.2

Automatisering intelligence rapporten

Het opstellen van intelligence rapporten is een specialistische taak die zoals ge-zegd uitgevoerd wordt door agenten met de nodige ervaring. Uit een rondvraag onder een aantal agenten blijkt dat het opstellen van de rapporten veel tijd kost. Een ervaren agent is hier snel meerdere uren in de week mee bezig. Dit zijn kostbare uren die de agent uiteraard liever productiever besteedt. De voor-naamste reden om het samenstellen van intelligence rapporten te automatiseren is daarom de potentiële tijdsbesparing.

(5)

Naast de tijdbesparing kan de kwaliteit van de intelligence rapporten mo-gelijk worden verbeterd door de automatisering. Een ML model wordt op een grote hoeveelheid data getraind en kan zodoende meer factoren meewegen dan een mens. Daarnaast is een ML model in staat alle potentiële incidenten, dit kunnen er honderden zijn, mee te wegen in de selectie van het intelligence rap-port. Voor de agent die dit normaal gesproken doet, kost het te veel tijd om alle incidenten handmatig na te gaan en per geval een afweging te maken. Op basis van bovenstaande punten lijkt er op meerdere terreinen, tijd en kwaliteit, veel winst te bepalen door het toepassen van een ML model bij het samenstellen van intelligence rapporten.

(6)

3

Theoretisch kader

Op basis van het hiervoor beschreven te onderzoeken probleem is relevante li-teratuur gezocht van gelijksoortige onderzoeken. In eerste instantie is op basis van deze literatuur vastgesteld wat de beste methode is voor het evalueren van de kwaliteit van de ML modellen. Verschillende indicatoren zijn onderzocht en de meest geschikte indicatoren zijn gebruikt om de kwaliteit van de ontwikkelde modellen te bepalen. Daarnaast is een aantal ML modellen geselecteerd die, mede op basis van de wetenschappelijke literatuur, goede kandidaten zijn voor de specifieke taak in dit onderzoek. Ook is in breder opzicht vastgesteld wat eventuele ethische implicaties kunnen zijn bij het gebruik van ML modellen.

3.1

Kwaliteit bepalen binaire classificatie

In de kern komt het samenstellen van intelligence rapporten neer op het binair selecteren van incidenten die wel of niet in het rapport moeten komen. In de ML literatuur wordt deze taak omschreven als een classificatie taak (Tharwat, 2018). Het ML model moet op basis van de ingevoerde data bepalen of het incident wel of niet (binair) in een intelligence rapport hoort te komen.

Omdat de op te lossen taak een classificatie probleem betreft kan de kwaliteit van het model bepaald worden aan de hand van een confusion matrix (Tharwat, 2018). De exacte rekenmethode waarmee op basis van de confusion matrix een indicator tot stand komt, is onderhevig aan discussie. Aan de hand van een aantal criteria wordt hieronder uiteengezet op basis waarvan een drietal indicatoren vastgesteld zijn waarmee de ML modellen geëvalueerd zijn. Bij de selectie van deze indicatoren is zoveel mogelijk rekening gehouden met de praktijk waarbinnen de ML modellen actief zijn.

3.1.1 Confusion matrix

Het evalueren van classificatiemodellen wordt gedaan aan de hand van een con-fusion matrix. Afhankelijk van het aantal groepen waarin wordt geclassificeerd is de confusion matrix groter of kleiner (Tharwat, 2018). Voor het model in dit onderzoek is er gekozen voor twee classificatiegroepen. Het incident moet wel of niet in het intelligence rapport komen. Positief en negatief respectievelijk. Dit resulteert in een confusion matrix van 2x2 met in totaal vier velden. Alle incidenten die geclassificeerd zijn als positief en ook daadwerkelijk in het intel-ligence rapport horen vallen binnen het True Positive vak (TP). Alle incidenten die als negatief zijn geclassificeerd en ook niet in het intelliegence rapport ho-ren vallen binnen het True Negative vak (TN). Deze twee cellen vormen samen alle correct geclassificeerde incidenten. Alle incidenten die als positief zijn ge-classificeerd maar niet in het intelligence rapport horen vallen binnen het False Positive vak (FP). Alle incidenten die als False zijn geclassificeerd maar wel in het intelligence rapport horen vallen binnen het False Negative vak (FN). Deze twee cellen vormen alle incorrect geclassificeerde incidenten. Zie figuur 1 voor een visuele representatie van de confusion matrix.

(7)

Figuur 1: Confusion matrix

Het ML model bepaalt de kans waarmee een incident tot de positieve en de negatieve groep behoort. Wanneer de kans op positief hoger is dan de kans op negatief wordt het incident als positief geclassificeerd en vice versa. De exacte waarde van de kans waarbij een voorspelling tot de positive of negative groep wordt gerekend is arbitrair (een waarde van minimaal 80% zou bijvoorbeeld ook als voorwaarde genomen kunnen worden om een voorspelling tot de positieve of negatieve groep te rekenen).

3.1.2 Confusion matrix in de context van het ML model

Het samenstellen van een intelligence rapport moet zorgvuldig gebeuren. Ui-teraard is het van belang zoveel mogelijk incidenten correct te classificeren. Er zullen echter altijd classificaties zijn die niet kloppen. Wanneer er verkeerd ge-classificeerd wordt, er is dan sprake van een FP of een FN, is het van belang te kunnen inschatten wat hiervan de impact kan zijn wanneer het model in pro-ductie wordt gebruikt. Aan de hand van dit inzicht kan het ML model op de juiste wijze geëvalueerd worden.

Een incident dat als FN wordt geclassificeerd zal naar alle waarschijnlijkheid de meest negatieve effecten hebben. In dit geval zou een ernstig incident niet als zodanig worden geclassificeerd door het ML model en daarom niet opgeno-men worden in het intelligence rapport. Dit zou als gevolg kunnen hebben dat waardevolle informatie waar de politie alert op moet zijn niet optimaal wordt ge-bruikt waardoor zij minder goed haar werk kan doen. Voor niet direct betrokken belanghebbenden van het intelligence rapport heeft dit tot gevolg dat zij moge-lijk niet op de hoogte worden gebracht van een aantal ingrijpende incidenten. Een incident dat als FP wordt geclassificeerd zal naar alle waarschijnlijkheid minder ernstige gevolgen hebben. In dit geval wordt een incident als ernstig be-schouwd door het model terwijl dit niet het geval is. Er komt dan een incident in het intelligence rapport wat er niet in had gehoeven. In eerste instantie lijkt

(8)

dit niet zo erg. Wel moet er rekening mee gehouden worden dat hierdoor het in-telligence rapport onnodig lang wordt. Dit veroorzaakt extra werk voor de lezer en mogelijk worden hierdoor andere wel belangrijke incidenten ondergesneeuwd. Het is van belang zoveel mogelijk fouten te voorkomen omdat iedere fout mogelijke ernstige en minder ernstige gevolgen kan hebben. Er zal in eerste instantie met name worden gelet op het zoveel mogelijk voorkomen van FN’s in het intelligence rapport. Daarna is het van belang om ook zoveel mogelijk FP’s te voorkomen.

3.1.3 Opstellen indicatoren

De indicatoren die gebruikt kunnen worden voor het evalueren van de ML mo-dellen maken ieder een andere afweging in de mate waarin welke cel van de confusion matrix (TP, FP FN of TN) wordt meegewogen. Onderstaande formu-les worden doorgaans gebruikt bij het evalueren van classificatiemodellen (Lever et al., 2016). Aan de hand van de formules en wat een score op basis van deze formule zegt over het model in dit onderzoek zal de beste indicator bepaald worden. Zie de appendix voor een overzicht van de daadwerkelijke formules.

Accuracy is een indicator die de ratio van het aantal goed geclassificeerde incidenten aangeeft (Lever et al., 2016). Het is een indicator die goed te interpre-teren is maar die onverwachte uitwerkingen kan hebben. Ook zegt de indicator niets over het feit of FN’s of FP’s meer voorkomen. Accuracy kan niet goed omgaan met ongebalanceerde data. In sommige gevallen kan een model dat simpelweg alles als positief of negatief classificeert toch een hoge accuracy heb-ben, dit wordt ook wel de accuracy paradox genoemd (Thomas & Balakrishnan, 2008). De accuracy kan dienst doen als hulpmiddel tijdens het ontwikkelen van het model maar zal geen indicator zijn voor de kwaliteit van het model.

Recall is de proportie TP’s dat correct als positief geclassificeerd is. De waarde van deze indicator zit in het feit dat het duidelijk weerspiegelt wat de ratio is van de positief geclassificeerde gevallen ten opzichte van alle positieve gevallen (TP’s en FN’s) (Powers, 2011). In de informatica en ML wereld wordt deze indicator minder gebruikt omdat er vrijwel altijd veel positieve gevallen in de data voorkomen. De recall indicator zal daarom in veel gevallen een redelijke score opleveren. Bij het classificeren is het echter ook van belang te weten hoe goed het model werkt met betrekking tot de negatieve kolom van de confusion matrix.

Precision is de proportie positief geclassificeerde (TP’s) incidenten die correct als zodanig zijn geclassificeerd. De indicator geeft een beeld hoe precies het model is in het positief classificeren (Powers, 2011). Ook deze indicator geeft echter geen inzicht in de negatief te classificeren incidenten.

F1 is een indicator die recall en precision (formule 2 en 3) combineert. Door deze samen te gebruiken ontstaat er een gebalanceerde nieuwe indicator. Ook deze indicator omvat echter niet de gehele confusion matrix omdat in beide formules geen rekening wordt gehouden met TN’s (Lever et al., 2016).

Een aantal van bovenstaande indicatoren weegt de belangrijkste cellen van de confusion matrix voor de ML modellen in grote mate mee. Zowel de FN’s,

(9)

welke het meest geminimaliseerd moeten worden, als de FP’s worden meegewo-gen. Bovenstaande indicatoren zijn echter toch onvoldoende expressief om te kunnen gebruiken bij het evalueren van de ML modelen. In het geval van ac-curacy kan er sprake zijn van de acac-curacy paradox en bij de andere indicatoren wordt niet of nauwelijks rekening gehouden met TN’s. Uit de eigenschappen van de classificatietaak en de data die voor de ML modellen wordt gebruikt, de incidentdata, is duidelijk dat er sprake zal zijn van veel TN’s. Er vinden immers veel incidenten plaats en lang niet allemaal zullen deze in het intelli-gence rapport horen. Er moet daarom een indicator gekozen worden die ook de TN’s meeweegt in de score. Alleen aan de hand van een dergelijke indicator kan uiteindelijk de kwaliteit van de ML modellen bepaald worden.

De Matthews correlation coefficient (MCC) is een indicator die alle data van de confusion matrix meeneemt in de uiteindelijke score (Lever et al., 2016). De indicator loopt van -1, classificatie is altijd fout, tot 1, classificatie is altijd goed. De MCC is een gebalanceerde indicator die ook goed om kan gaan met ongebalanceerde data (Lever et al., 2016). Omdat de indicator naast TP’s ook TN’s meeneemt in de score kan deze indicator geschikt zijn om de kwaliteit van het uiteindelijke model te evalueren.

Een andere populaire indicator is de ROC-curve. Deze curve geeft de TP ratio weer ten op zichte van de FP ratio. Het gevolg is een curve die het compro-mis weergeeft tussen het aantal correct geclassificeerde positieve incidenten en verkeerd geclassificeerde negatieve incidenten (Johnson & Khoshgoftaar, 2019). Uit de ROC curve kan de zogenaamde AUC score berekend worden. Dit is de oppervlakte onder de ROC-curve. Dit getal geeft aan hoe het ML model over het algemeen presteert. Echter, volgens David en Goadrich (Davis & Goadrich, 2006) kan de ROC-curve positiever lijker dan dat daadwerkelijk het geval is wan-neer er sprake is van ongebalanceerde data. De FP ratio die in de ROC-curve wordt gebruikt is minder gevoelig voor verandering naarmate de negatieve klasse groter wordt. Zij pleiten in het geval van unbalanced data voor het gebruik van een Precision-Recall curve.

In dit onderzoek is ervoor gekozen om meerdere indicatoren te gebruiken tijdens het ontwikkelen en uiteindelijk evalueren van het model. Tijdens het ontwikkelen van het model is gelet op de precision, recall en de AUROC score. Specifiek is op zowel de precison als recall gelet, in plaats van enkel de F1 score, om zodoende preciezer te kunnen evalueren welk model op welk gebied beter presteert. Om de resultaten visueel inzichtelijk te maken is gekozen voor het plotten van de ROC-curve. Deze curve in combinatie met de precision en recall indicatoren geven een compleet beeld van de kwaliteit van de ML modelen. 3.1.4 Politie-indicator

Bij het handmatig samenstellen van rapportages wordt door een agent met name een selectie gemaakt uit de incidenten van de afgelopen 24 uur. Ook het ML model zal in productie incidenten moeten classificeren uit eenzelfde tijdspanne. De eerder beschreven indicatoren, de ROC-curve, AUROC, precision en recall, zullen ter evaluatie dienen van de kwaliteit van het ML model over de gehele

(10)

dataset. Voor de werking van het model in de praktijk is het echter van belang dat er ook wordt gemeten in hoeverre er juist wordt geclassificeerd bij gebruik van een relatief kleine subset incidenten.

Om vast te stellen of het ML model in deze context nuttige rapporten op-levert is een indicator ontwikkeld die specifiek inzicht geeft in de rapporten die door het model zullen worden gegenereerd. Deze politie-indicator (PI) geeft de simulariteit weer tussen handmatig samengestelde rapportages en rapportages samengesteld met het betreffende ML model. De indicator geeft een score tussen 0 en 1. Een score van 0 geeft aan dat er geen simulariteit is tussen een handma-tig samengesteld rapport en een rapport samengesteld door het betreffende ML model. Een score van 1 geeft aan dat beide rapporten volledig overeenkomen. Deze indicator geeft extra inzicht in de uitwerking op intelligence rapporten van het ML model in de praktijk omdat er rekening wordt gehouden met de kleinere hoeveelheid incidenten waaruit in de praktijk gekozen dient te worden.

Om deze indicator juist te berekenen zijn de te testen ML modellen enkel getraind op de data van voor 2019. Vervolgens zijn alle handmatige rappor-tages uit 2019 vergeleken met de selectie van incidenten door het model uit dezelfde periode. De selectie incidenten van de ML modellen komt tot stand door de voorspellingen van de positieve klasse (de kans dat het incident in de rapportage hoort), die het ML model doet voor alle incidenten in de betreffende periode, te sorteren van hoog naar laag. Deze gesorteerde lijst wordt vervolgens afgeknipt bij het aantal incidenten dat ook in de handmatige selectie zit. De politie indicator komt vervolgens tot stand door dit voor iedere handmatige rap-portage in 2019 te doen, te berekenen in hoeverre beide raprap-portages procentueel overeenkomen en van al deze scores het gemiddelde te nemen.

3.2

ML modellen voor binaire classificatie

De ML wereld is een uitgebreid wetenschappelijk veld waarin vele interessante wetenschappelijke inzichten worden gepubliceerd. Het kan hierdoor lastig zijn in dit uitgebreide wetenschappelijke landschap een goede selectie in de literatuur te maken. In dit onderzoek is ervoor gekozen om met name studies te selecte-ren waarin resultaten van praktijkgerichte problemen worden gepubliceerd. De resultaten van ML modellen in Kaggle (www.kaggle.com) competities zijn in dit opzicht interessant. Kaggle is een online platform waarop deelnemers, dit kan iedereen zijn, in een competitieve setting de beste ML modellen proberen te ontwikkelen.

De data in dit onderzoek vallen onder de noemer gestructureerde data. Voor gestructureerde data wordt al lange tijd, en ook recentelijk, succesvol gebruik gemaakt van tree ensemble methods (Guo & Berkhahn, 2016). Dit zijn ML modellen die gebruik maken van een boomstructuur waarin het model stap voor stap zoekt naar hoe een bepaalde uitkomst het best voorspeld kan worden door de beschikbare data. Onder andere in Kaggle competities worden met deze ML modellen, zoals random forests, goede resultaten behaald (Chen & Guestrin, 2016).

(11)

modellen hebben de wiskundige eigenschap dat ze in theorie iedere wiskundige functie arbitrair dicht kunnen benaderen (Cybenko, 1989). Dit wordt ook wel het universal approximation theorem genoemd. Het succesvol trainen van een NN komt in dit onderzoek neer op het vinden van de formule die het classificeren van incidenten op basis van de ingevoerde data zo precies mogelijk kan uitvoeren. Het gebruik van NNs bij gestructureerde data is relatief nieuw. Met name op het gebied van computer vision, spraakherkenning en natural language processing hebben NNs grote vooruitgang geboekt. Dit zijn echter velden waarin de data meestal ongestructureerd is. Uit recente studies blijkt dat ook Neural Networks goede resultaten kunnen opleveren wanneer getraind wordt op gestructureerde data (Guo & Berkhahn, 2016).

In dit onderzoek zijn de meer traditionele ensemble methods voor deze clas-sificatietaak en de recentere benadering van NNs met embeddings onderling en met het baseline model vergeleken.

3.3

Mogelijke ethische implicaties

In dit onderzoek wordt gebruik gemaakt van verschillende soorten algoritmen uit het ML domein. Het gebruik van ML algoritmen kan ethische bezwaren opleveren. Met name onduidelijkheid over waarom een algoritme een bepaalde voorspelling doet, er is dan sprake van een black box, is een reden voor ge-gronde bezwaren (Honegger, 2018). Het gevaar dat bij ML op de loer ligt is het ontstaan van machine bias. Er is sprake van machine bias wanneer een algo-ritme een onbedoelde voorkeur heeft voor een bepaalde voorspelling t.o.v. een andere voorspelling wat ongewenste juridische of ethische implicaties oplevert (Shadowen, 2019).

In de praktijk blijkt dat zelfs de meest vooruitstrevende organisaties op het gebied van kunstmatige intelligentie (KI), zoals Google, projecten creëren die machine bias blijken te bevatten. Een voorbeeld hiervan is een algoritme dat advertenties voor banen voorschotelt aan internetgebruikers. Dit algoritme had een machine bias op basis van gender wat resulteerde in het feit dat mannen zes keer meer kans hadden op het zien van advertenties voor hoog betaalde banen dan vrouwen (Shadowen, 2019).

Om dit soort ethische problemen, inherent aan het gebruik van persoonlijke data te voorkomen, waaronder bijvoorbeeld het etnisch profileren van mensen, is het van groot belang te voorkomen dat persoonlijke informatie wordt gebruikt bij het trainen van een ML model (Miller et al., 2019). Het is echter discutabel welke typen data onder de noemer persoonlijke informatie vallen. Van een aantal typen data is direct duidelijk dat deze privacy gevoelig zijn en derhalve ook als persoonlijke informatie bestempeld worden. Denk aan telefoonnummers, e-mailadressen, iemands geboorteland etc. Het is minder duidelijk of meta data ook als zodanig bestempeld kunnen worden. Meta data zijn de data die de karakteristieken over bepaalde gegevens beschrijven. Bijvoorbeeld de duur van een telefoongesprek. De meningen over de privacy gevoeligheid van dit type informatie zijn verdeeld. Wel is duidelijk dat grote hoeveelheden meta data over een persoon een gedetailleerd inzicht kunnen geven in de persoonlijke connecties

(12)

en bewegingen van die persoon (Miller et al., 2019). 3.3.1 Voorkomen van onethische bias

Het is waarschijnlijk onmogelijk om een ML model te ontwikkelen zonder enige vorm van machine bias. Er bestaat altijd de afhankelijkheid van de vaak imper-fecte data die voortkomt uit de echte wereld die op zijn beurt ook vooroordelen bevat (Shadowen, 2019). Om de kans op machine bias te verkleinen wordt in dit onderzoek de meta data gebruikt die de karakteristieken beschrijven van incidenten geregistreerd door de politie. Het gaat hierbij om data die is verza-meld naar aanleiding van een gebeurtenis die de assistentie of ingrijpen van de politie vereiste. Dit maakt het gebruik van de data voor het samenstellen van intelligence rapporten verdedigbaar omdat de verzameling van de data in lijn ligt met het doel van de intelligence rapporten.

De aard van de data die is gebruikt in dit onderzoek, meta data, garandeert dat bij het trainen van de ML modellen geen persoonlijke informatie is gebruikt. Een enkele voor de hand liggende feature, een stukje data met waardevolle in-formatie voor het ML model, die mogelijk machine bias in de hand zou kunnen werken is de wijk- en gemeentecode van een incident. Wijken die veel in rap-portages voorkomen (mogelijk door meer criminaliteit, toeval etc) zullen eerder door het ML model worden geclassificeerd als belangrijk en in een intelligence rapport komen. Dit kan leiden tot meer politieactiviteiten in dezelfde regio, resulterend in nieuwe incidenten, waardoor deze regio steeds meer in de data opduikt. Het gevaar dat ontstaat is een vicieuze cirkel waarbij het opduiken van een bepaalde regio in intelligence rapporten leidt tot een machine bias voor die regio, waardoor deze vicieuze cirkel versterkt wordt. Dit fenomeen wordt wordt ook wel beschreven als de death spiral (O’neil, 2016). Om een death spiral te voorkomen en in de gaten te houden welke features de ML modellen gebruiken bij het classificeren is van een aantal ML modellen een feature importance ana-lyse gemaakt. Aan de hand van deze anaana-lyse wordt duidelijk welke features het meest bijdragen aan de classificatie van het betreffende model. Deze analyse is te vinden in de resultatensectie.

(13)

4

Data

Om ML modellen te trainen die incidenten kunnen classificeren is er gelabelde data nodig over een groot aantal incidenten. Het label geeft in dit geval aan of de betreffende data die bij een incident horen, in een rapportage hebben gezeten. Het ML model zal dit label als de waarheid beschouwen. Dit geeft ook direct het belang aan van goede data. Omdat het ML model de waarheid uit de ingevoerde data extraheert, is het ML model per definitie afhankelijk van de kwaliteit van deze data. Het ML model zal deze waarheid zo goed mogelijk proberen te benaderen. Of dit een kwalitatief ML model oplevert hangt af van hoe goed de ingevoerde data de echte wereld beschrijft. In dit onderzoek wordt de waarheid die de ML modellen krijgen voorgeschoteld bepaald door de classificaties die agenten aan incidenten hebben gegeven. De ML modellen kunnen op basis van deze waarheid, in een iteratief proces, steeds nauwkeuriger voorspellen of een incident wel of niet in een rapportage behoort. De labels, ook wel ground truth genoemd, heeft het ML model in dit proces nodig om te bepalen of de classificaties wel of niet goed zijn. Op basis hiervan past het model stapje voor stapje op een slimme manier parameters in het model aan om de classificatie steeds beter te maken.

Er worden veel data verzameld over incidenten binnen de politie. In grote lijnen kunnen deze data opgedeeld worden in twee soorten. Enerzijds zijn er de metadata over de incidenten. Denk hierbij aan de datum van het incident, de datum en tijd waarop de politie geïnformeerd werd, het aantal daders be-trokken bij het incident, of een van de daders als veelpleger bekend is bij het OM etc. Anderzijds zijn er de uitgeschreven verslagen en documenten over de incidenten. Deze twee verschillende typen data kunnen niet in hetzelfde type ML model ingevoerd worden. Afhankelijk van de typen ML modellen die ont-wikkeld worden moet er bijpassende data uit het datawarehouse van de politie verzameld worden. Het ML model dat ontwikkeld wordt, bepaalt zodoende in grote mate welke data nodig is. Met deze data kunnen de modellen vervolgens getraind, gevalideerd en uiteindelijk getest worden. In dit onderzoek zijn ML modellen ontwikkeld die enkel gebruik maken van de metadata van een inci-dent. Doorgaans is het ontwikkelen van ML model met dit type data minder computationeel intensief. Daarnaast heeft het als voordeel dat de data makke-lijker verstrekt kunnen worden, omdat deze data gemakkemakke-lijker te anonimiseren zijn.

4.1

Overzicht van de metadata

Uit het datawarehouse van de politie zijn metadata gehaald over alle incidenten tussen 2016 en 2019 in de regio Nederland-Oost. Deze metadata bestaan uit 23 kolommen die informatie bevatten over ieder specifiek incident. Vervolgens zijn deze data gelabeld door een andere databron te gebruiken waarin alle inci-dentnummers zijn verzameld die in een rapportage hebben gezeten. Deze bron is eerder samengesteld door van verschillende basisteams uit de verschillende regio’s alle intelligence rapporten op te vragen. Uit deze rapporten zijn

(14)

ver-volgens de incidentnummers geëxtraheerd. Het samenvoegen van deze bronnen leidt uiteindelijk tot een dataframe met 24 kolommen. De laatste kolom hierin is het label genaamd ‘in_opera’. Dit is een boolean die aangeeft of het incident wel of niet in een rapportage zat en fungeert als de ground truth. De data zijn op te delen in twee typen features. Er zijn features die aangeduid worden met een continue waarde en er zijn features die aangeduid worden met een ca-tegorische waarde. Deze indeling is van belang voor het ML model, waarover meer informatie bij de sectiemodellen. Voor een overzicht van de beschikbare metadata zie tabel 2.

De data die in de ML modellen gebruikt worden, zijn geheel geanonimiseerd. Dit wil zeggen dat er geen persoonsgegevens in de data voorkomen. Dit is van belang omdat er uitgesloten moet worden dat persoonlijke informatie, op wat voor manier dan ook, invloed heeft op de classificatie van een incident.

4.2

Training-, validatie- en testdatasets

De data zijn opgesplitst in drie stukken. Een traindataset, een validatiedataset en een testdataset. Op de traindataset wordt het model getraind, de validatie-dataset wordt gebruikt om het model tussentijds te evalueren en de testvalidatie-dataset wordt uitsluitend aan het eind van het onderzoeksproces gebruikt om de uit-eindelijke kwaliteit van het model te bepalen. De verdeling van de datasets is respectievelijk 70%, 20% en 10%.

Uit de trainingdata worden batches, stukken van de data, gesampled die het ML model gebruikt om op te trainen. Batch voor batch wordt de gehele trainingdataset gebruikt om de parameters van het ML model te optimaliseren. Vervolgens worden de data uit de validatiedataset gebruikt om het tot dan toe getrainde model te valideren. Op basis van de ground truth en de classifica-ties van het ML model wordt de confusion matrix bepaald. Aan de hand van deze confusion matrix kunnen, zoals eerder beschreven, de verschillende indica-toren berekend worden. Aan de hand van deze resultaten worden de modellen tussentijds geëvalueerd.

4.2.1 Rangschikking data

Het vermoeden bestaat dat het classificeren van incidenten voor het intelligence rapport door de tijd heen veranderd. Incidenten die een aantal jaren geleden wel in een intelligence rapport terecht kwamen, komen dat tegenwoordig misschien niet meer. Dit kan bijvoorbeeld te maken hebben met het opkomen of verdwij-nen van specifieke typen criminaliteit. Om te onderzoeken of dit mogelijk het geval is wordt de data waarop getraind, gevalideerd en uiteindelijk getest wordt op twee manieren samengesteld. In eerste instantie zullen de datasets random uit alle data worden samengesteld. Zodoende is er geen sprake van chronologie in de data. Om mogelijkerwijs aan te tonen dat chronologie van belang is zullen de datasets vervolgens worden gesampled uit de op datum gerangschikte data. De trainingdataset zal zodoende bestaan uit de 70% oudste incidenten, de valida-tiedataset uit de 20% oudste incidenten na de trainingdataset en de testdataset

(15)

uit de 10% oudste incidenten daarna. Wanneer de data chronologisch geordend zijn, en bijgevolg de verschillende datasets ook, zullen de modellen meer dan wanneer er geen sprake is van chronologische ordening incidenten moeten clas-sificeren die in de toekomst liggen. Op basis van deze resultaten kan mogelijk vastgesteld worden in hoeverre het classificeren van incidenten tijdafhankelijk is.

4.3

Augmentatie van de data

Uit de beschikbare data is het mogelijk extra data te genereren. Het toevoegen van betekenisvolle data kan een significant positief effect hebben op de presta-ties van een ML model (Ho et al., 2019). Aan deze dataset kon op basis van verschillende gegevens over de datum waarop een incident plaatsvond, eindigde, bekend werd bij de politie en in het systeem gezet werd extra data gegenereerd worden. Zo is de totale tijd van een incident toegevoegd in seconden, het verschil in seconden tussen het incident en de kennisname bij de politie, verschillende extra gegevens over de datum waarop het incident plaatsvond (maand, kwar-taal, begin van maand, jaar). Ook is berekend aan de hand van tijd en locatie of het donker of licht was ten tijde van het incident en wat de exacte zonnestand was. Van alle features die bestonden uit datums zijn vervolgens trigonometri-sche weergaven berekend zodat deze ook in de ML modellen gebruikt kunnen worden als extra continue features. Zie tabel 2 voor een compleet overzicht van alle data.

4.4

Ongebalanceerde data

Uit de analyse van de beschikbare data blijkt dat er sprake is van ongebalan-ceerde klassen m.b.t. de ground truth. Zie tabel 1 voor een uiteenzetting van de verhoudingen. De klasse incidenten die wel in een intelligence rapport horen is aanzienlijk kleiner dan de klasse incidenten die hier niet in horen. Dit is per definitie het geval omdat de ene klasse data (incidenten in het intelligence rap-port) een selectie is van de andere klasse data (alle incidenten). De verhouding is echter dusdanig scheef dat geprobeerd zal worden dit te compenseren in de hoop dat dit het trainingsproces van de ML modellen verbetert.

Tabel 1: Aantal incidenten in rapportage t.o.v. niet in rapportage

Absoluut Percentage Incidenten niet in rapp. 232000 92.35 Incidenten in rapp. 18000 7.65

Totaal 250000 100

4.4.1 Methoden om bias door ongebalanceerde data tegen te gaan Ongebalanceerde data is een bekend probleem in de machine learning literatuur en wordt al meerdere decennia bestudeerd. Zoals beschreven in sectie 3 is het

(16)

van belang indicatoren te kiezen die om kunnen gaan met ongebalanceerde data. Daarnaast zijn er ook methoden om de bias van een bepaalde klasse in de data te verminderen. Vooralsnog zijn er drie methoden om op deze manier met ongebalanceerde data om te gaan (Johnson & Khoshgoftaar, 2019).

Eén manier om de bias van de in overmaat aanwezige klasse te verhelpen is door de trainingdata aan te passen en handmatig de balans te herstellen. Deze methode is op twee manieren uit te voeren. Door gebruik te maken van oversampling of van undersampling (Johnson & Khoshgoftaar, 2019). Wanneer gebruik gemaakt wordt van oversampling wordt de klasse die in minderheid aanwezig is gekopieerd totdat de twee klassen weer in balans zijn. Naast het feit dat dit langere trainingstijden oplevert doordat er meer data zijn, moet er bij deze methode ook opgelet worden dat dit niet leidt tot overfitten. Bij overfitten wordt het ML model te veel getraind op de trainingdata waardoor het enkel bekende data goed kan classificeren en onbekende data (de validatie-en testdataset) veel slechter.

Wanneer gebruik wordt gemaakt van undersampling wordt een deel van de data die tot de in overmaat aanwezige klasse hoort verwijderd totdat de klassen weer in balans zijn. Het nadeel hiervan is dat er mogelijk belangrijke data niet gebruikt wordt om op te trainen (Johnson & Khoshgoftaar, 2019).

In dit onderzoek zijn alle ML modellen getraind, gevalideerd en getest op de orginele data, de data door gebruik te maken van undersampling en de data door gebruik te maken van oversampling.

4.5

Geografische dimensie

Om te onderzoeken of er verschillen zijn tussen geografische gebieden met be-trekking tot de typen incidenten die voorkomen in rapportages is er een aantal experimenten uitgevoerd. Van alle incidenten in de dataset is bekend in welke wijk en gemeente het incident plaatsvond. Op basis van deze geografische gege-vens zijn de data van de incidenten verrijkt met een extra indicator afkomstig van het CBS (CBS, 2018). Deze indicator, oplopend van 1 tot 5, geeft aan in hoeverre het gebied stedelijk is. Bij een score van 1 is het geen stedelijk gebied, in dit geval is het zeer landelijk, bij een score van 5 is het zeer stedelijk. Op basis van deze indicator is er een splitsing gemaakt in de data. Alle incidenten met een score hoger dan 4.5 zijn in een nieuwe stedelijke dataset opgeslagen. Alle incidenten met een score minder dan 1.7 zijn in een landelijke dataset opgesla-gen. Beide nieuwe datasets bevatten ongeveer evenveel incidenten. Vervolgens zijn er op vier verschillende manieren modellen getraind, gevalideerd en getest om vast te stellen of stedelijke rapportages verschillen van landelijke rapporta-ges. Zo is er een model getraind op stedelijke incidenten en vervolgens getest op landelijke incidenten. Hetzelfde experiment is ook andersom uitgevoerd (ML model getraind op landelijke incidenten en getest op stedelijke incidenten).

De resultaten van deze experimenten geven inzicht in hoeverre stedelijke ge-bieden en landelijke gege-bieden overeenkomen qua intelligence rapporten. Ook kunnen de uitkomsten inzichten verschaffen in hoeverre de ontwikkelde ML mo-dellen bruikbaar zijn voor heel Nederland. Met andere woorden: is het ML

(17)

model generaliseerbaar en zijn de data die gebruikt zijn voldoende om voorspel-lingen te doen voor alle incidenten in Nederland?

Tabel 2: Beschikbare metadata, type data en type feature over de incidenten.

Data Datatype Type feature AangehoudenCount DateTime Continu AangifteBoolean Boolean Categorisch BeginPleegDatumTijd Int Datum AanmaakDatumTijd Int Datum ActiviteitenIncidentCount Int Continu BeleidCode String Categorisch BeleidOmschrijving String Categorisch EindPleegDatumTijd Datetime Datum GevaarmarkeringCount Int Categorisch HoofdincidentIndicator Int Categorisch KennisnameDatumTijd Datetime Datum KwetsbaarheidCount Int Continu MisdrijfBoolean Boolean Categorisch OmVeelplegerCount Int Continu OpgehelderdBoolean Boolean Categorisch PersonenBetrokkenCount Int Continu PogingBoolean Boolean Categorisch Prioriteit Int Continu SamenloopBoolean Boolean Categorisch ZwaarsteIncidentBoolean Boolean Categorisch Sun_alt Float Continu Is_donker Boolean Categorisch Description_count Int Continu Description_len Int Continu Description_count_sentences Int Continu GM_CODE String Categorisch Augmented data Datatype DeltaIncidentAanmaak Int Continu DuratieIncident Int Continu DeltaIncidentKennisname Int Continu BeginPleegDatumTijdYear Int Continu BeginPleegDatumTijdMonth Int Continu BeginPleegDatumTijdWeek Int Continu BeginPleegDatumTijdDay Int Continu BeginPleegDatumTijdDayofweek Int Continu BeginPleegDatumTijdDayofyear Int Continu BeginPleegDatumTijdIs_month_end Boolean Categorisch BeginPleegDatumTijdIs_month_start Boolean Categorisch BeginPleegDatumTijdIs_quarter_end Boolean Categorisch BeginPleegDatumTijdIs_quarter_start Boolean Categorisch BeginPleegDatumTijdIs_year_end Boolean Categorisch BeginPleegDatumTijdIs_year_start Boolean Categorisch BeginPleegDatumTijdElapsed Int Continu AanmaakDatumTijdweekday_cos Float Continu AanmaakDatumTijdweekday_sin Float Continu AaanmaakDatumTijdday_month_cos Float Continu AanmaakDatumTijdday_month_sin Float Continu AanmaakDatumTijdmonth_year_cos Float Continu AanmaakDatumTijdmonth_year_sin Float Continu AanmaakDatumTijdday_year_cos Float Continu AanmaakDatumTijdday_year_sin Float Continu KennisnameDatumTijdweekday_cos Float Continu KennisnameDatumTijdweekday_sin Float Continu KennisnameDatumTijdday_month_cos Float Continu KennisnameDatumTijdday_month_sin Float Continu KennisnameDatumTijdmonth_year_cos Float Continu KennisnameDatumTijdmonth_year_sin Float Continu KennisnameDatumTijdday_year_cos Float Continu KennisnameDatumTijdday_year_sin Float Continu EindPleegDatumTijdweekday_cos Float Continu EindPleegDatumTijdweekday_sin Float Continu EindPleegDatumTijdday_month_cos Float Continu EindPleegDatumTijdday_month_sin Float Continu EindPleegDatumTijdmonth_year_cos Float Continu EindPleegDatumTijdmonth_year_sin Float Continu EindPleegDatumTijdday_year_cos Float Continu EindPleegDatumTijdday_year_sin Float Continu BeginPleegDatumTijdweekday_cos Float Continu , BeginPleegDatumTijdweekday_sin Float Continu BeginPleegDatumTijdday_month_cos Float Continu BeginPleegDatumTijdday_month_sin Float Continu BeginPleegDatumTijdmonth_year_cos Float Continu BeginPleegDatumTijdmonth_year_sin Float Continu BeginPleegDatumTijdday_year_cos Float Continu STED N 10 0 Float Continu in_opera (label) Boolean Target

(18)

5

Modellen

Op basis van de eerder beschreven data en wetenschappelijke literatuur is een tweetal ML modellen gekozen om te ontwikkelen. Om te controleren dat de kwaliteit van deze ML modellen minimaal hetzelfde of hoger is dan het huidige ML model, wordt van alle modellen de kwaliteit bepaald aan de hand van de besproken indicatoren. Het huidige ML model zal de baseline vormen waarmee de nieuwe ML modellen worden vergeleken.

Alle modellen zijn getraind op een Windows machine die enkel op het interne netwerk van de politie gebruikt kan worden. Deze machine beschikt over drie grafische kaarten van Nvidea (Nvidea GeForce GTX 1080Ti).

5.1

Baseline

Het huidige ML model is een NN. Het is ontwikkeld met de open source library Tensorflow. Het bestaat uit vier volledig verbonden lagen. De verschillende lagen bevatten respectievelijk zes, tien, zes en vier neuronen. De eerste drie lagen gebruiken als activatiefunctie een rectified linear unit (ReLU), de laatste laag gebruikt een sigmoid activatiefunctie. Voor het optimaliseren van de parameters van het NN is gebruik gemaakt van optimalisator ‘Adam’. Als verliesfunctie wordt binaire crossentropie gebruikt.

(19)

5.2

Neural network model met embeddings

In dit onderzoek is gekozen om een NN te trainen met embeddings. Uit recent onderzoek blijkt dat dit mogelijk goede resultaten kan opleveren (Guo & Berk-hahn, 2016). Het NN model is ontwikkeld met de open source library fastai. Deze library bouwt voort op de populaire ML library PyTorch. Met behulp van de fastai library is een tabular model getraind welke gebruik maakt van embeddings. Dit is een relatief nieuwe architectuur die specifiek gebruikt kan worden voor het trainen van NNs met gestructureerde data. Dit NN is in dit geval met name effectief, omdat de data categorische features bevatten met een hoge cardinaliteit (Howard & Gugger, 2020). In deze architectuur moet er on-derscheid gemaakt worden tussen continue waarden en categorische waarden in de data. Features die een continue waarde hebben, het aantal arrestanten bij-voorbeeld, hebben een ordinaal karakter. Het getal zegt iets over het belang van de data. Een hoger getal duidt in dit geval op een groter, en daarom misschien belangrijker, incident. Features die een groep of categorie aangeven hebben in dit geval geen ordinaal karakter. De waarde van deze features (alle categorische features, zoals beleidcode die in het ML model wordt gebruikt, worden om tech-nische redenen vervangen met een getal dat enkel ter aanduiding fungeert) zegt niets over het belang van de features. Voor iedere categorische feature wordt een embedding aangemaakt die op dezelfde manier als de rest van het NN ge-traind kan worden (Guo & Berkhahn, 2016). Het effect hiervan is dat het NN in de laag van de embeddings specifiek over de eigenschappen van de categorische features leert en in de latere lagen van het NN over complexe combinaties (Guo & Berkhahn, 2016).

Het NN model heeft naast de embeddings ook een andere architectuur dan het baseline model. Het eerste deel van het model bestaat uit de embedding matrixen. Het tweede deel uit normale volledig verbonden lagen. Daarnaast is geëxperimenteerd met een verschillend aantal volledig verbonden lagen met daarin een verschillend aantal neuronen. Alle lagen maken gebruik van een ReLU activatiefunctie. Als verliesfunctie is binaire crossentropie gebruikt en als optimalisator wordt gebruikt gemaakt van Adam. Ook is er een aantal verschillende hyperparameters gebruikt zoals dropout. Op alle kolommen uit het dataframe dat in dit model werd ingevoerd zijn waar mogelijk een aantal transformaties uitgevoerd. Missende waarden in de kolommen van continue features zijn vervangen met de mediaan van de betreffende feature. Daarnaast zijn alle waarden van continue features genormaliseerd. De categorische features zijn getransformeerd in het pandas datatype ‘category’. Alle unieke categorieën worden zodoende vervangen door getallen die gebruikt kunnen worden in het ML model.

(20)

Figuur 3: Schematische weergave NN met embeddings.

5.3

Random forest model

Het Random Forests (RF) model is ontwikkeld met de open source library scikit learn. Bij dit ML model wordt er in eerste instantie een aantal random inciden-ten gesampled. Voor iedere variabele en voor iedere waarde van deze variabelen wordt per stap gekeken welke splitsing (waarde en variabele) in de volgende stap, volgens een gekozen verliesfunctie, het beste resultaat oplevert. Afhan-kelijk van de ingestelde hyperparameters blijft dit proces doorgaan totdat er geen stappen meer gemaakt kunnen worden of totdat een ingesteld maximum bereikt is. Bovenstaande stappen worden herhaald voor een ingesteld aantal trees (samen het forest ). Van al deze trees wordt het gemiddelde genomen, dit is de uiteindelijke voorspelling. Het gebruik van meerdere trees en hier het ge-middelde van nemen resulteert in stabielere uitkomsten. Bij het RF model is een aantal hyperparameters gebruikt zoals: aantal trees, aantal leaf nodes, max features.

(21)

6

Resultaten

Van ieder ML model zijn de gegevens (ROC-curve, AUC, precision, recall en de PI) verzameld door het betreffende model te trainen op de originele data, de undersampled data en de oversampled data.

6.1

ROC-curves

Hieronder staan de ROC-curves weergegeven van alle modellen met de verschil-lende datasets. Bij het baseline model moet opgemerkt worden dat de train-, validatie- en testdatasets altijd random gegenereerd worden uit de data. In de discussiesectie wordt verder toegelicht waarom dit gunstigere resultaten oplevert voor de indicatoren dan dat werkelijk gerechtvaardigd is.

(22)

Figuur 5: ROC-curve RF (chronologisch datasets) Figuur 6: ROC-curve RF (random datasets)

(23)

Tabel 3: AUC, precision en recall van alle variaties van de ML modellen met random datasets.

AUC Precision Recall Baseline (original) 0.86 0.68 0.25 Baseline (undersampled) 0.84 0.77 0.74 Baseline (oversampled) 0.88 0.78 0.60 RF (original) 0.89 0.77 0.30 RF (undersampled) 0.89 0.81 0.83 RF (oversampled) 1.0 0.99 0.60 NN (original) 0.87 0.53 0.29 NN (undersampled) 0.86 0.76 0.81 NN (oversampled) 0.99 0.94 0.96

Tabel 4: AUC, precision en recall van de RF en NN modellen met chronologische datasets.

AUC Precision Recall RF (original) 0.81 0.23 0.18 RF (undersampled) 0.80 0.62 0.67 RF (oversampled) 0.79 0.68 0.19 NN (original) 0.77 0.26 0.34 NN (undersampled) 0.80 0.72 0.64 NN (oversampled) 0.73 0.84 0.17

(24)

6.2

Politie indicator

De politie indicator geeft aan in hoeverre een handgemaakt rapport gemiddeld overeenkomt met een rapport gegenereerd door het betreffende ML model.

Tabel 5: De politie indicatoren van alle modellen.

PSI RF (original) 0.08 RF (undersampled) 0.32 RF (oversampled) 0.10 NN (original) 0.21 NN (undersampled) 0.30 NN (oversampled) 0.11

6.3

Feature importance

De feature importance geeft aan hoeveel het model een specifieke feature mee-weegt bij het classificeren. Het wordt berekend door te vergelijken hoe het ML model presteert wanneer de data die de feature representeert gerangschikt zijn en wanneer deze data gehusseld zijn. De feature importance is bepaald voor de twee best presterende modellen.

Figuur 9: Feature importance RF (orginele dataset).

Figuur 10: Feature importance NN (undersampled data-set).

(25)

6.4

Geografische verschillen

Geografische verschillen zijn onderzocht door het beste RF en NN model speci-fiek te trainen op incidenten uit steden en vervolgens te valideren en testen op landelijke incidenten. Vervolgens is hetzelfde experiment ook andersom uitge-voerd.

Figuur 11: ROC-curves RF (stedelijk model)

Figuur 12: ROC-curves RF (landelijk model)

Figuur 13: ROC-curves NN (stedelijk model)

Figuur 14: ROC-curves NN (lande-lijk model)

(26)

7

Discussie

Op basis van de ROC-curves van de modellen met random datasets kan worden vastgesteld dat er relatief weinig verschil qua prestaties is onderling. Al deze modellen hebben een AUC tussen de 0.84 en 0.88. Een opvallende uitschieter is het RF model en het NN model waarbij de data zijn oversampled. Deze modellen hebben een AUC van 1 wat aangeeft dat alle data zowel in de testdataset als in de trainingsdataset zat. Dit is een onbedoeld gevolg ontstaan door het random samplen uit een kunstmatig opgeblazen dataset.

Inzoomend op de resultaten van de modellen getraind op de chronologisch geordende datasets worden duidelijkere verschillen zichtbaar. Van het baseline model was het, ten tijde van het onderzoek, technisch niet mogelijk een juiste test te doen op chronologische datasets. Aan de resultaten van het RF model en het NN model is echter duidelijk zichtbaar dat de ML modellen getraind op deze datasets een stuk minder goed presteren. Gemiddeld is de AUC score 0.06 lager bij deze modellen. Ook de precision en recall van deze modellen zijn beduidend lager. Uit het verschil tussen de resultaten van de modellen getraind op de twee soorten datasets kan geconcludeerd worden dat deze classificatietaak een tijdsafhankelijk karakter heeft.

In de praktijk zal het model een voorspelling moeten doen over incidenten die wellicht andere informatie bevatten dan waar het model op getraind is. Bijvoor-beeld wanneer een nieuwe soort criminaliteit opkomt. Voor het evalueren van de kwaliteit van de modellen moet daarom, gelet op de praktijk waar de modellen voor bedoeld zijn, enkel gekeken worden naar de resulaten van de modellen die getraind zijn op de chronologische geordende datasets. Deze weerspiegelen het best de praktijk waarin de modellen zullen worden toegepast. De ML modellen zullen op basis van historische incidentdata nieuwe incidenten moeten classifi-ceren. Om dezelfde reden zullen de ML modellen doorlopend getraind moeten worden op de data van nieuwe incidenten. Op deze manier blijft het model zo accuraat mogelijk en kan het zich aanpassen aan nieuwe typen incidenten.

Op basis van de AUC, recall en met name de precision van het undersam-pled NN model kan geconcludeerd worden dat dit model het best presteert. De AUC en recall zijn vrijwel gelijk aan het undersampled RF model, de precision is echter aanzienlijk hoger. Deze hogere precision geeft aan dat dit model beter is in het positief classificeren van incidenten. Het lijkt erop dat er voldoende diverse data in de undersampled dataset zitten waardoor er weinig waardevolle informatie verloren gaat bij het undersamplen. Hierdoor ontstaat er waarschijn-lijk een effectiever trainproces waardoor het model goed generaliseert en beter scoort dan de andere modellen. Hetzelfde effect van de undersampled data is ook zichtbaar bij het RF model. Alle indicatoren meewegend scoort dit model na het NN het best.

7.1

Politie-indicator

De politie-indicator indicator kan gemiddeld worden vastgesteld op 0.19. Er is een aanzienlijk verschil tussen de twee typen ML modellen met betrekking

(27)

tot deze indicator. Het lijkt erop dat het NN model beter overeenkomt met de incidentselectie voor intelligence rapporten dan het RF model. Het RF model waarbij de data wordt undersampled heeft een relatief hoge score. Dit wordt voornamelijk veroorzaakt door het te kort aan data in dit geval en is minder betrouwbaar. Deze gemiddelde waarde is vastgesteld op basis van een totaal van vier rapporten. De andere gemiddeldes zijn vastgesteld op basis van 11 rapporten. Het NN model waarbij werd undersampled heeft echter ook een hoge score en hierbij was voldoende data beschikbaar. Dit NN model presteert, na het undersampled RF model, het best met een waarde van 0.30. Dit geeft aan dat ongeveer 30% van de classificaties door het ML model, op een subset incidenten vergelijkbaar met de hoeveelheid data waarmee een agent de selectie zou doen, overeenkomt met die van een agent.

Opvallend is dat de kansen die de modellen toekennen aan specifieke inci-denten om in het intelligence rapport te komen vrij hoog zijn. Een deel van deze incidenten blijkt ook in het intelligence rapport gezeten te hebben (32% in het hoogste geval). Een vrij groot deel van de incidenten blijkt, ondanks de hoge score, toch niet in een intelligence rapport te zitten. Dit kan erop duiden de modellen deze incidenten onterecht te belangrijk inschat (een FP). Echter, wan-neer deze incidenten afzonderlijk worden vergeleken met incidenten die wel in het intelligence rapport voorkomen, valt er geen duidelijk onderscheid te maken tussen beide. Het verkeerd classificeren van deze incidenten kan komen doordat hiervoor te weinig (digitale) data beschikbaar is. Ook is het mogelijk dat er veel meer soortgelijke incidenten in het intelligence rapport zouden kunnen zitten maar dat de agent deze niet is tegengekomen in het BHV systeem of dat de agent, op basis van niet (digitaal) beschikbare andere data, voor een specifiek incident heeft gekozen op basis van eigen informatie.

7.2

Feature importance

Door het random husselen van de kolom van een feature in de data verdwijnt de relatie met de andere data. Door de scores van een dataset met een gehus-selde en een niet gehusgehus-selde feature te vergelijken kan er vastgesteld worden hoeveel deze feature bijdraagt aan de classificatie. Dit is voor alle features gedaan. Op basis van deze analyse wordt duidelijk dat de ‘ActiviteitenInci-dentCount’ in beide ML modellen het belangrijkst is. Hierna volgen de fea-tures: ‘WK_code’,‘beleidsomschrijving’, ‘description_len’en ‘GM_code’. Het lijkt erop dat incidenten op basis van logische features door het ML model wor-den geclassificeerd. ‘ActiviteitenInciwor-dentCount’ en ‘description_len’ zijn beide indicatief voor de hoeveelheid tijd er door de politie aan het incident wordt be-steed. ‘beleidsomschrijving’ geeft de categorie van het incident aan. Hier kan vaak de ernst van een incident uit opgemaakt worden. De andere features zijn een indicatie van de geografie van het incident. Voor het ontwikkelen van de modellen is het van belang dat deze features zo zuiver en volledig mogelijk in het BHV systeem wordt opgeslagen. Het verbeteren van de data, met name de belangrijke features, zal een groot effect kunnen hebben op de prestaties van de ML modellen. Ook kan er verder onderzocht worden of aanvullende features

(28)

gemaakt kunnen worden uit de data van het BHV systeem.

7.3

Geografie

Om te bepalen of incidenten een specifiek geografisch karakter hebben is on-derzocht of de ML modellen getraind op stedelijke incidenten ook landelijke incidenten kunnen classificeren en vice versa. De RF modellen laten een op-vallend verschijnsel zien. Stedelijke incidenten worden door dit type ML model over het algemeen beter geclassificeerd dan landelijke incidenten. Ook wanneer het model specifiek getraind is op stedelijke incidenten. Dit zou er mogelijk op kunnen duiden dat er in stedelijke gebieden meerdere soorten incidenten plaats-vinden dan in landelijke gebieden (vandaar dat een stedelijk model in dit geval wel landelijke incidenten kan classificeren, maar een landelijk model niet alle stedelijke).

De NN modellen liggen qua AUC score relatief dicht bij elkaar. Bij dit type ML model presteert het stedelijke model het best op de stedelijke testset en het landelijke model het best op de landelijke testset. De verschillen zijn niet groot maar wel duidelijk aanwezig. Deze resultaten wijzen er daarom op dat er verschil zit in de typen incidenten afhankelijk van de stedelijk- of landelijkheid van het gebied.

7.4

Conclusie

Uit dit onderzoek blijkt dat de ML modellen in staat zijn redelijke voorspellin-gen te doen op basis van de meta data van incidenten. Het is echter de vraag of de ML modellen, ook de best presterende in dit onderzoek, goed genoeg wer-ken om deze voorspellingen volledig automatisch te doen. Het lijkt erop dat agenten in de praktijk meerdere dingen meewegen dan de data in de gebruikte dataset. Daarnaast is het mogelijk dat agenten op basis van eigen informatie, wellicht niet digitaal beschikbaar, een keuze maken voor specifieke incidenten. Op basis van deze overwegingen is een hybride systeem waarbij de agent bij het selecteren van incidenten wordt geholpen door een ML model, die een voorse-lectie maakt van incidenten, waarschijnlijk de beste oplossing. Uit de analyse van de voorspellingen van de ML modellen blijkt dat deze goed in staat zijn intelligence rapport waardige incidenten te selecteren. De daadwerkelijke selec-tie tussen deze vele belangrijke incidenten, die waarschijnlijk in veel gevallen allemaal in het intelligence rapport zouden kunnen, lijkt echter een specifieke context afhankelijke taak te zijn voor een agent.

De voordelen die het toepassen van ML bij het classificeren van incidenten mogelijk heeft, zijn ook van toepassing wanneer gebruik zou worden gemaakt van een hybride systeem. Het samenstellen en classificeren van incidenten voor het intelligence rapport kan aan de hand van een slimme voorselectie door het ML model een stuk sneller gebeuren. Doordat alle relevante incidenten door het ML model worden meegewogen en de agent vervolgens de juiste definitieve selectie maakt, zal dit waarschijnlijk ook hogere kwaliteit intelligence rapporten opleveren.

(29)

Uit de feature importance analyse blijkt dat wijkcode en gemeentecode rela-tief belangrijk zijn voor de classificatie. Dit kan mogelijke ethische implicaties hebben wanneer als gevolg hiervan er meer door de politie zou worden opgetre-den in wijken uit de intelligence rapporten. Het gevaar voor een vicieuze cirkel ontstaat in dit geval omdat de aanleiding van het optreden mogelijk wordt be-paald door het rapport dat wordt samengesteld door het ML model. Meer incidenten in een specifieke wijk, als gevolg van eerdere rapportages, kan bij nieuwe trainingsronden van het ML model ervoor zorgen dat deze wijken een steeds hogere machine bias krijgen. Ook dit kan voorkomen worden door in plaats van een geheel automatisch systeem een hybride systeem te ontwikkelen. Op deze manier is er altijd supervisie van een agent die hierin kan bijsturen.

7.5

Toekomstig werk

In het ML domein vindt veel onderzoek plaats. Ieder jaar zijn er nieuwe en verbeterde ML modellen die mogelijkerwijs net weer betere classificaties kunnen doen. Het is belangrijk verschillende ML modellen te blijven testen en te zoeken naar verbeteringen. Een mogelijk voorbeeld hiervan kan het combineren van RFs en NNs zijn (Yang et al., 2018).

(30)

Referenties

CBS (2018). Kerncijfers wijken en buurten 2018. https://www.cbs.nl/nl-nl/maatwerk/2018/30/kerncijfers-wijken-en-buurten-2018.

Chen, T. & Guestrin, C. (2016). Xgboost: A scalable tree boosting system. In Proceedings of the 22nd acm sigkdd international conference on knowledge discovery and data mining, pp. 785–794.

Cybenko, G. (1989). Approximation by superpositions of a sigmoidal function. Mathematics of control, signals and systems, 2(4):303–314.

Davis, J. & Goadrich, M. (2006). The relationship between precision-recall and roc curves. In Proceedings of the 23rd international conference on Machine learning, pp. 233–240.

Guo, C. & Berkhahn, F. (2016). Entity embeddings of categorical variables. arXiv preprint arXiv:1604.06737.

Ho, D., Liang, E., Chen, X., Stoica, I., & Abbeel, P. (2019). Population ba-sed augmentation: Efficient learning of augmentation policy schedules. In International Conference on Machine Learning, pp. 2731–2741.

Honegger, M. (2018). Shedding light on black box machine learning algorithms: Development of an axiomatic framework to assess the quality of methods that explain individual predictions. arXiv preprint arXiv:1808.05054. Howard, J. & Gugger, S. (2020). Fastai: A layered api for deep learning.

Infor-mation, 11(2):108.

Johnson, J. M. & Khoshgoftaar, T. M. (2019). Survey on deep learning with class imbalance. Journal of Big Data, 6(1):27.

Lever, J., Krzywinski, M., & Altman, N. (2016). Points of significance: classifi-cation evaluation.

Miller, S. et al. (2019). Machine learning, ethics and law. Australasian Journal of Information Systems, 23.

O’neil, C. (2016). Weapons of math destruction: How big data increases inequa-lity and threatens democracy. Broadway Books.

Powers, D. M. (2011). Evaluation: from precision, recall and f-measure to roc, informedness, markedness and correlation.

Shadowen, N. (2019). Ethics and bias in machine learning: A technical study of what makes us “good”. In The Transhumanism Handbook, pp. 247–261. Springer.

Tharwat, A. (2018). Classification assessment methods. Applied Computing and Informatics.

(31)

Thomas, C. & Balakrishnan, N. (2008). Improvement in minority attack detec-tion with skewness in network traffic. In Data Mining, Intrusion Detecdetec-tion, Information Assurance, and Data Networks Security 2008, volume 6973, page 69730N. International Society for Optics and Photonics.

Yang, Y., Morillo, I. G., & Hospedales, T. M. (2018). Deep neural decision trees. arXiv preprint arXiv:1806.06988.

A

Appendix

Accuracy = T P + T N T P + F P + F N + T N (1) Recall = T P T P + F N (2) P recision = T P T P + F P (3) F 1 = 2 ∗ precision ∗ recall precision + recall (4) M CC = (T P ∗ T N ) − (F P ∗ F N ) p(T P + F P )(T P + F N)(T N + F P )(T N + F N) (5) AU C(f ) = P t0∈D0 P t1∈D11[f (t0) < f (t1)] |D0| · |D1| (6)

Referenties

GERELATEERDE DOCUMENTEN

Toch, als we hem dan opnemen, moet dat wel met grote wijsheid geschieden, want ook deze gehandicapte, en zeker diegene die 'alleen maar' blind is, zal overgevoelig

Onderwerp: Oproep van de Stichting van het Onderwijs: 'Investeer in onderwijs maar dan ook echt!' Geachte fractievoorzitters van de politieke partijen en woordvoerders van de

Voor zover de aanvragen voor een omgevingsvergunning betrekking hebben op een bouwactiviteit, kunnen deze worden voorgelegd aan de commissie Stedelijk Schoon Velsen.

Burgemeester en Wethouders van Velsen maken met inachtneming van artikel 139 Gemeentewet bekend dat de raad van Velsen in zijn vergadering van 9 september 2010 heeft besloten:. -

Het college kiest er niet voor om in Eelde één gebouw in te zetten als cultuurhuis.. Dat doet afbreuk aan de

Deze vooringenomenheden zijn bij de meeste HRM-afdelingen niet bekend; hierdoor wordt er veelal niet aan vrouwen gedacht voor bepaalde functies 27 en hebben ze ook niet altijd

Within this heyday of the medium the research project Projecting knowledge focuses specifically on the transfer of scientific knowledge with the optical lantern by academics,

Of gemeenten met hun budget jeugdhulp uitkomen hangt met veel factoren samen, die te maken hebben met het beleid van de desbetreffende gemeente, de wijze waarop zij de zorg