Da jeg i 2009 blev færdig uddannet som civilingeniør i statistik var nogle af de ting jeg havde brugt meget tid på Big data og machine learning. Det sjove er, synes jeg, at folk altid spørger: hvad er det? Nu i 2015 begynder alle at tale om machine learning og ved hvad det er. Vi har talt om Big data i nogle år nu, så der er brug for et nyt buzzword. Men hvad er machine learning? Og hvorfor er det fedt?
Machine learning er i virkeligheden bare statistik på speed. Det bygger på de to basale størrelser i statistikken, gennemsnit og varians. Man beregner et estimat (gennemsnit), og usikkerheden (variansen). Moderne computere har muliggjort at beregne disse størrelser på store data sæt. Og bruge det til at klassificere observationer eller hændelser. Man skelner mellem 2 typer modellering; supervised, hvor man forklarer modellen hvad den skal prøve at ramme, fx salgsprisen på et hus, neurale netværk er af denne type. Eller unsupervised, hvor man ikke ved hvad man kigger efter, man er blot interesseret i at finde ligheder eller forskelle i data. Dette kunne eksempelvis være kundesegmentering.
Et interessant felt hvor man traditionelt bruger supervised learning er i kreditkort fraud. Tit bruges et neuralt netværk her, til at kigge på allerede opfanget svindel og forsøge at modellere dette. På den måde kan man fange den svindel man kender. Eller retter med et neuralt netværk kan man tune sin analytiske model til at fange præcis de sager man kender, mens nye sager med allerede kendte typer svindel kan dog stadig være svære at detektere. Man taler om at modellen er overfittet til ens træningsdata (de kendte svindelsager). Selv i en idel verden med en top tunet model, vil modellen være begrænset af de typer fraud den er blevet trænet til at opfange. Dvs. alle kendte fraud sager som er blevet fodret ind i systemet, det resulterer i at alt der ligner de kendte sager også kan blive klassificeret som fraud uagtet om det er det eller ej. Denne type model er altid begrænset af sin sidste opdatering med nye fraud cases. Og hvad med alle de sager/typer som aldrig bliver opdaget? Hvad hvis vi kunne nå at stoppe svindlen inden den fandt sted ved at systemet identificerede mistænkelig adfærd? Kan det gøres anderledes? Svaret er ja
Hvis man i stedet for at tage udgangspunkt i kendte sager af fraud, inddeler den samlede kundebase i forbrugssegmenter, så man samler nogenlunde homogent forbrugende kunder i samme klasse. Så har man allerede et godt mål for hvordan hver gruppe opfører sig. Og hvad der var fraud for en gruppe er måske helt normalt for en anden gruppe. Ovenpå klasserne lægges beregninger omkring gennemsnitskøbt, hvis vi er i detailhandlen, typisk butikskategorier og frekvens, så er det allerede muligt at regne variationen ud i gruppen. Fra moderne statistisk kvalitetskontrol har vi forskellige teknikker til at identificere om en proces (købsadfærden) er ude af kontrol (fraud). Der vil være nogle gange hvor processen er ude af kontrol, men hvor det på et gennemsnit er helt ok. Det sker jo at man køber noget stort, eller hæver mange kontanter. Hvis dette ligger inden for den gennerelle trend i forbrugssegmentet er der ingen grund til panik. Er det derimod statistisk sjældent, kan man undersøge sagen. Dvs. man får mulighed for at identificere nye former for fraud som ikke er identificereret før blot ved at identificere om det ligner normalt forbrug for segmentet. På grund af mængden af data og beregningerne som kræves er det ikke muligt at gennemføre uden moderne computere. Dette er styrken i machine learning og derfor er det så fedt!
Følgende artikler dykker dybere ned i machine learning
Om neurale netværk
http://pages.cs.wisc.edu/~bolo/shipyard/neural/local.html
Supervised learning
http://en.wikipedia.org/wiki/Supervised_learning
Unsupervised learning
http://en.wikipedia.org/wiki/Unsupervised_learning
Del gerne dine erfaringer med machine learning og kom med gode råd.