Maskinlæring

Maskinlæring er en gren av kunstig intelligens som gir datasystemer evnen til å lære og forbedre seg fra erfaring uten å være eksplisitt programmert. Det finnes ulike tilnærminger til maskinlæring, som kan deles inn i tre hovedkategorier basert på hvordan læringsprosessen styres:

  1. Overvåket læring: Dette er den mest vanlige formen for maskinlæring, hvor en modell trenes på et datasett som inneholder inngangsdata sammen med de korrekte utgangsdataene. Målet er at modellen skal lære å forutsi den korrekte utgangen fra nye inngangsdata. Eksempler inkluderer bildegjenkjenning og e-postfiltrering. Vi kan tenke oss at vi legger inn bilder av hunder og katter og ber om at man angir hvilke som bilder av hunder og hvilke som er katter. Vi vet hva som er riktig svar og kan derfor korrigere svarene (ja, dette er en hund eller nei, dette er ikke en hund – det er en katt).
  2. Semiovervåket læring: Denne tilnærmingen benyttes når det samlede datasettet inneholder en blanding av merkede og umerkede data. Her kan modellen bruke den store mengden umerkede data til å forbedre sin læring ytterligere og oppnå bedre generell ytelse. Her kan vi som eksempel igjen bruke bilder av hunder og katter, men hvor vi har noen som vi vet svaret på – men hvor vi i tillegg legger inn bilder vi ikke har angitt om er hund eller katt. Her vil man derfor ta utgangspunkt i det som er kjent og finne mønstre, for å bruke den informasjonen videre for å kategorisere de bildene som ikke er merket.
  3. Uovervåket læring: I uovervåket læring arbeider modeller med datasett som ikke er merket. Målet er å finne skjulte mønstre eller strukturer i data. Det er nyttig i situasjoner som klyngeanalyse, hvor vi ønsker å gruppere sammen lignende dataelementer, eller i dimensjonsreduksjon, som søker å forenkle data uten å miste for mye informasjon.

Hver av disse metodene har sine fordeler og begrensninger, og valget av metode avhenger av den spesifikke oppgaven og tilgjengeligheten av data. Maskinlæring er kraftfullt, men krever nøye overveielse av design og implementasjon for å sikre at modellene er både effektive og rettferdige.

Mønstergjenkjenning på egenhånd?

Som et eksempel kan du tenke deg en fargehandel. Der finnes det mange typer maling, i ulike farger og i ulike forpakninger. I tillegg er de levert av ulike leverandører. Hvis vi samler alle malingsspann i en stor haug og ber en datamaskin prøve å skape mønstre kan vi få ulike resultater, for eksempel:

  • sortert etter type (oljebasert, vannbasert osv)
  • sortert etter farge (rød, blå, gul osv)
  • sortert etter volum (1/2 liter, 1 liter, 10 liter osv)
  • sortert etter leverandør
  • sortert på en helt ukjent måte for oss, men som datamaskinen finner er en sammenheng

Ikke alle disse måtene å sortere på er like gode for å skape mening og oversikt, så her må vi kanskje hjelpe litt med å si hva som fungerer og ikke fungerer i sorteringen. 

Overfitting og underfitting

Overfitting og underfitting er to vanlige problemer i maskinlæring når man trener modeller. Begge disse problemene kan ha alvorlige konsekvenser for ytelsen til modellen, og det er viktig å finne en balanse mellom dem for å oppnå best mulig ytelse på nye, ukjente data.

Overfitting (overtilpasning) oppstår når modellen passer så godt til treningsdataene at den mister sin evne til å generalisere til nye, ukjente data. Dette skjer når modellen blir for kompleks og «memorerer» treningsdataene i stedet for å lære generelle mønstre i dataene. Resultatet er en modell som yter dårlig på nye data. Kort sagt tar den med seg for mye detaljer fra treningsdataene, kanskje detaljer som er uvesentlige. Som et eksempel kan man tenke seg detaljer som at hvis treningsdata alltid viser hunder i bånd så vil man utlede at hunder alltid må ha bånd for å kategoriseres som hund.

Underfitting (undertilpasning) oppstår når modellen er for enkel og ikke har tilstrekkelig kapasitet til å lære de komplekse sammenhengene i dataene. I dette tilfellet vil modellen ha en høy bias og lav variasjon, og den vil ikke kunne tilpasse seg treningsdataene godt nok til å gi nøyaktige prediksjoner. Resultatet er en modell som yter dårlig både på treningsdataene og nye data. Som eksempel kan man tenke seg at meteorologer bare baserer sine prediksjoner på temperaturer alene, det vil gi dårlige prognoser for hvordan været faktisk blir da man må ta hensyn til mange flere parametere.

Deep learning

Deep learning (dyp læring) er en underkategori av maskinlæring, som skiller seg fra de mer tradisjonelle metodene gjennom å bruke nevrale nettverk.

Hva brukes de ulike formene for maskinlæring til?

Overvåket læring

Vanlige bruksområder for overvåket læring:

  • Klassifisering: klassifisere data inn i forskjellige kategorier, for eksempel å klassifisere e-post som spam eller ikke-spam.
  • Regresjonsanalyse: gjøre prediksjoner basert på en lineær eller ikke-lineær relasjon mellom input- og outputvariabler.
  • Bildegjenkjenning: gjenkjenne objekter, ansikter eller scener i bilder.
  • Naturlig språkbehandling: løse oppgaver innen språkbehandling, som å oversette mellom språk, generere tekst eller identifisere emosjon i tekst.
  • Kundesegmentering:  identifisere og segmentere kundegrupper basert på deres atferd eller kjøpshistorikk.

Semiovervåket læring

Vanlige bruksområder for semiovervåket læring:

  • Kategorisering av store mengder tekst: Hvis man har en stor mengde tekst som skal kategorisiseres, men ikke nok tid eller ressurser til å merke opp alle tekstene manuelt, kan man bruke semi-overvåket læring for å automatisere prosessen.
  • Bildegjenkjenning: Hvis man har et stort bildedatasett, men ikke nok tid til å merke opp alle bildene manuelt, kan man bruke semi-overvåket læring for å lære modellen ved å merke opp noen få av bildene.
  • Svindel: Hvis man har en stor mengde transaksjoner, men ikke nok informasjon til å avgjøre hvilke som er svindel, kan man bruke semi-overvåket læring for å lære modellen ved å merke opp noen av transaksjonene som svindel.
  • Helse: Hvis man har en stor mengde medisinske bilder, men ikke nok informasjon til å avgjøre hvilke som inneholder en sykdom, kan man bruke semi-overvåket læring for å lære modellen ved å merke opp noen av bildene som inneholder sykdom.

Semiovervåket læring bruker derfor tilgjengelig informasjon for å forbedre resultatene av modellen. 

Uovervåket læring

Vanlige bruksområder for uovervåket læring:

  • Klustering: gruppere lignende data sammen i «kluster» eller grupper/kategorier. Dette kan være nyttig for å utforske og forstå data bedre.
  • Dimensjonalitetsreduksjon: redusere antallet av dimensjoner i data for å gjøre det enklere å visualisere og forstå.
  • Anbefalingssystemer: lage anbefalingsystemer ved å lære relasjoner mellom produkter, filmer eller musikk som folk liker, og foreslå lignende alternativer (de som kjøpte x, kjøper vanligvis også y)
  • Sentimentanalyse: analysere og kategorisere følelser i tekst, som å vurdere om et utsagn er positivt, negativt eller nøytralt.
  • Markedsegmentering: segmentere kundegrupper basert på deres kjøpsmønstre eller atferd, uten å ha tilgang til en forhåndsdefinert etikett for hver kundegruppe.
Skroll til toppen