Å arbeide med maskinlæring

Publish date:

For noen uker siden skrev min kollega Kjetil Åmdal om tilgjengeliggjøringen av maskinlæring og om hvilke dører som åpnes for bedrifter som tar i bruk denne teknologien på sine data. Innlegget hans kan du finne her. Nøkkelen til å åpne disse dørene er en vellykket arbeidsprosess, og for å få suksess med et slikt analyseinitiativ […]

For noen uker siden skrev min kollega Kjetil Åmdal om tilgjengeliggjøringen av maskinlæring og om hvilke dører som åpnes for bedrifter som tar i bruk denne teknologien på sine data. Innlegget hans kan du finne her.

Nøkkelen til å åpne disse dørene er en vellykket arbeidsprosess, og for å få suksess med et slikt analyseinitiativ er det viktig å ha et bevisst forhold til hva en gjør og hvorfor en gjør det. Maskinlæringsteknikker kan i mange tilfeller raskt gi ny innsikt, men uten en god prosess som viser veien er det lett å gå seg vill på leting etter det virkelige gullet og de virkelig grønne skogene. Disse forblir da uoppdaget og initiativet havner i skrivebordsskuffen, helt til en bestemmer seg for at denne gangen skal en gjøre det riktig og skrider til verks med en mer strukturert tilnærming.

 Azure Machine Learning

Microsoft Press 2015, Microsoft Azure Essentials: Azure Machine Learning

Maskinlæring skiller seg fra tradisjonell programmering ved at man endrer oppgaven til datamaskinen. I tradisjonell programmering gir vi gjerne data og regler som input til datamaskinen, før vi får det ønskede resultatet, en output. I maskinlæring brukes fortsatt data som input, sammen med det som i tradisjonell programmering var vår output. Unntaket fra dette er når vi ønsker å bruke klyngeanalyse for å undersøke naturlige grupperinger i et datasett. Da trenger vi ikke output som et designert felt inn i modellen, det er kun data inn og regler ut.

I maskinlæring er regler resultatet vi får fra datamaskinen. Regler som vi kan bruke til å predikere output i de tilfellene vi ikke har det, og regler som gir oss økt forståelse av samspillet mellom forksjellige faktorer i et datasett. Disse reglene er ikke alltid like synlige for sluttbrukeren, men det er de som er grunnlaget for at for eksempel Amazon vet hvilke bøker jeg ønsker meg. Regler som er generert av handlemønsteret til alle som er inne på nettsiden.
 

Eat, sleep, learn, repeat

Å arbeide med maskinlæring kan minne litt om de faktiske prosessene i maskinlæringen. Vi må hele tiden ha oversikt over hva vi ønsker å finne ut og hva vi har som datagrunnlag, ta lærdom av det som ikke fungerer, og prøve til vi er fornøyde.
Prosessflyt
Prosessflyt i et maskinlæringsprosjekt
 
Det første steget i arbeidsprosessen er å definere problemet, samle inn data og preparere disse dataene. Her er det viktig å tenke gjennom hvilket aggregeringsnivå en ønsker å ha analysen på, og at hver rad i datagrunnlaget har samme detaljnivå. Hvis man skal sette opp en analyse for mersalg av varer og tjenester vil man i dette steget bestemme seg for om hver rad skal representere alle nye kjøp, summering av alle kjøp hver person har gjort iløpet av en dag, eller kanskje vi skal representere en rad som de forskjellige varene vi selger, med informasjon om hvilke personer som har kjøpt disse.

Det andre steget er å sette opp maskinlæringsmodeller med datasettet en har. I dette steget er det viktig med mye prøving og feiling. En vet nødvendigvis ikke hva de beste maskinlæringsmodellene vil være før en har sett de forskjellige resultatene. Kanskje må det også videre datatransformering til, ved å normalisere data eller å manipulere de tilfellene vi mangler data. Ved å undersøke mersalg igjen vil vi i dette steget teste hvilke typer modeller som svarer best på problemdefinisjonen. En kan se på klassifiseringsmetoder for å bestemme om en gitt person kommer til å oppgradere et abonnoment hvis en får tilbud om det. Et annet valg kan være en regresjonsanalyse for å finne sannsynligheten for at en av kundene kjøper én eller flere tilleggstjenester som blir tilbudt.

Nå er det viktig å ta et blikk til det første steget, og besvare spørsmålene:

  • Svarer vi på problemdefinisjonen med disse forsøkene?
     
  • Kan andre måter å aggregere og kombinere data på gi mer nøyaktige resultater?
     
  • Kan vi ta inn andre datapunkter vi kan ta med for å øke forklaringsgraden?
     

Vi må igjen prøve forskjellige ting, evaluere resultatene, og lære av det vi ser. Kanskje finner vi ut at at problemdefinisjonen må endres for å i det hele tatt få et resultat, men dette er en del av det å arbeide med maskinlæring, og læringen en gjør underveis sørger for at en hele tiden kommer nærmere mer innsikt.
Det siste steget er å ta modellene i bruk, og sette opp prediktive analyser med de beste modellene fra forrige steg. Nå skal vi bruke reglene fra maskinlæringen til å si noe om tilfeller vi ikke vet svaret på. For målrettet markedsføring vil vi gjerne ha svar på hvor mange varer en bestemt person kommer til å kjøpe, og hvilke varer. Om det er prediktivt vedlikehold vi modellerer, vil vi gjerne ha svar på om en gitt maskin kommer til å feile ved neste kjøring. Vi ønsker svar som gjør at vi kan agere. Aktivt reparere maskinen som kommer til å feile, og aktivt anbefale bøkene kjøperen mest sannsynlig bare må ha.

Igjen er det viktig å ta både ett og to steg tilbake, evaluere resultatene og lære av de. Er handlingene våre korrekte? Hvordan kan vi forbedre modellen ytterligere? Heldigvis hjelper maskinlæringsprosessene oss litt her, ettersom de lærer av alle datapunkter de får inn, også etter at modellene er satt i produksjon. Dersom reglene ved forrige tilfelle predikerte feil utfall, vil dette bli tatt i betrakning neste gang vi skal predikere et lignende tilfelle.
 

Det var en gang en domeneekspert, en dataekspert og en data scientist

Sammensetningen av arbeidsgruppen er en viktig suksessfaktor for ethvert maskinlæringsprosjekt. På samme måte som maskinen kontinuerlig lærer og forbedrer seg med mer data, må også prosjektgruppen ha som mål å lære av resultatene en får, og agere på det en lærer. For å få til dette på en god måte er det nyttig å ha representert tre forskjellige grupper i arbeidet med prosjektet.

Arbeidsgruppe
Copyright 2015 © Project Botticelli Ltd, used with permission. Learn data science at projectbotticelli.com/datascience

Domeneekspert: Den som er ekspert på sitt fagfelt, og kan komme med nyttig informasjon om hvilke sammenhenger en kan forvente å finne i datagrunnlaget.
Dataekspert: Den som kjenner datagrunnlaget godt, har mulighet til å finne frem det vi ønsker å ha med i modellen, og kan kombinere data fra flere kilder.
Data scientist: Den som implementerer modellene, og forstår hvordan data bør presenteres og modellene settes opp for å få gode resultat.
 
Prosessmål
Copyright 2015 © Project Botticelli Ltd, used with permission. Learn data science at projectbotticelli.com/datascience
 
Samspillet mellom disse tre gjør at en hele tiden vil kunne diskutere resultatene en får, aktivt agere på resultatene, og kunnskapen til å endre modellene og datagrunnlaget når det trengs. Alle tre gruppene blir en del av en syklus med mål om å forstå og forandre data, oppdage mønstre, bygge og validere modeller, og forandre virksomheten.

I Capgemini har vi utviklet en ressursgruppe med fokus på data science for å bygge på vår styrke som en stor aktør med et bredt erfaringsspekter. Vi ønsker å tilgjengeliggjøre den verdifulle innsikten bedrifter kan få ved å utforske og analysere store og små datamengder, fra små pilotprosjekt til fullskala implementeringer. Utstrakt bruk av maskinlæring er fortsatt i startfasen, og vi står klare til å gå inn som data scientists hos våre kunder som ønsker å komme tidlig i gang med fremtidens analyseverktøy.

Related Posts

GDPR

Why firms that failed to prepare for the GDPR are missing a great opportunity to get closer to customers

Paepe, Willem de
Date icon October 29, 2018

GDPR provides organizations with a business opportunity to improve their relationship with...

Digital Transformation

Digitally enabling healthier lives

Kees Jacobs
Date icon October 29, 2018

The Consumer Goods Forum together with Capgemini has created a Global Health and Wellness...

Artificial intelligence and conversational user interfaces powering customer experience

AKP
Date icon October 29, 2018

Conversational problem solving happens with a context learned across multiple channels. This...

cookies.

By continuing to navigate on this website, you accept the use of cookies.

For more information and to change the setting of cookies on your computer, please read our Privacy Policy.

Close

Close cookie information