Trace Id is missing
Gå til hovedinnhold

Algoritmer for maskinlæring

En introduksjon til matematikken og logikken bak maskinlæring.

Hva er maskinlæringsalgoritmer?

Maskinlæringsalgoritmer er koder som hjelper brukere med å utforske, analysere og finne betydninger i komplekse datasett. Hver algoritme er et finitt sett med utvetydige, trinnvise instruksjoner som en maskin kan følge for å oppnå et bestemt mål. I en maskinlæringsmodell er målet å etablere eller oppdage mønstre som personer kan bruke til å lage prognoser eller kategorisere informasjon. Hva er maskinlæring?

Maskinlæringsalgoritmer bruker parametere som er basert på læringsdata, som er et delsett med data som representerer det store settet. Etter hvert som opplæringsdata utvides for å representere verden på en mer realistisk måte, beregner algoritmen mer nøyaktige resultater.

Forskjellige algoritmer analyserer data på forskjellige måter. Du grupperes ofte av maskinlæringsteknikkene de brukes for: overvåket læring, ikke-overvåket læring og forsterkningslæring. De mest brukte algoritmene bruker regresjon og klassifisering til å forutse målkategorier, finne uvanlige datapunkter, forutse verdier og oppdage likheter.

Maskinlæringsteknikker

Etterhvert som du lærer mer om maskinlæringsalgoritmer, vil du oppdage at de vanligvis faller innenfor én av tre maskinlæringsteknikker:


Overvåket opplæring

I overvåket læring gjør algoritmene prognoser basert på et sett med merkede eksempler som du angir. Denne teknikken er nyttig når du vet hvordan resultatet skal se ut.
 

Du kan for eksempel angi et datasett som inkluderer bypopulasjoner etter år i løpet av de siste 100 årene, og du ønsker å vite hva populasjonen til en bestemt by vil være fire år fra nå. Resultatet bruker etiketter som allerede finnes i datasettet: populasjon, sted og år.
 

Opplæring som ikke overvåkes

I ikke-overvåket læring er ikke datapunktene merket – algoritmen skalerer dem for deg ved å organisere dataene eller beskrive strukturen. Denne teknikken er nyttig når du ikke vet hvordan resultatet skal se ut.

 

Du kan for eksempel oppgi kundedata, og du ønsker å opprette kundesegmenter som liker lignende produkter. Dataene du oppgir, er ikke merket, og etikettene i utfallet genereres basert på likhetene som ble oppdaget mellom datapunkter.

 

Forsterkningsopplæring

Forsterkningslæring bruker algoritmer som lærer av utfall og deretter bestemmer hvilken handling som skal utføres. Etter hver handling mottar algoritmen tilbakemelding som hjelper den med å avgjøre om valget var riktig, nøytralt eller galt. Det er en god teknikk å bruke for automatiserte systemer som må foreta mange små beslutninger uten menneskelig veiledning.

 

For eksempel, hvis du designer en selvkjørende bil og du vil forsikre deg om at den overholder loven og holder folk trygge. Etterhvert som bilen får mer erfaring og en historikk med forsterkninger, lærer den hvordan den holder seg i sin fil, holder fartsgrensen og bremser for fotgjengere.

Hva kan du bruke maskinlæringsalgoritmer til?

Maskinlæringsalgoritmer hjelper deg med å svare på spørsmål som er for komplekse til å besvare gjennom manuell analyse. Det finnes mange ulike typer maskinlæringsalgoritmer, men brukstilfellene kan stort sett samles i disse kategoriene.

Forutsi en målkategori

Algoritmer for klassifisering av to klasser (binær) deler dataene inn i to kategorier. De er nyttige for spørsmål som kun har to mulige svar som utelukker hverandre, blant annet ja-/nei-spørsmål. For eksempel:

  • Kommer dette dekket til å svikte i løpet av de neste 160 milene? Ja eller nei?
  • Hva gir flest henvisninger: kreditt på 10 dollar eller 15 % rabatt?

 

Algoritmer for klassifisering på tvers av klasse (multinominell) deler dataene inn i tre eller flere kategorier. De er nyttige for spørsmål som har tre eller flere mulige svar som utelukker hverandre. For eksempel:

  • I hvilken måned kjøper flertallet av reisende flybilletter?
  • Hvilken følelse viser denne personen på bildet?

Finne uvanlige datapunkter

Algoritmer for avviksregistrering identifiserer datapunkter som faller utenfor de definerte parameterne for det som er «normalt». Du kan for eksempel bruke algoritmer for avviksregistrering til å svare på spørsmål som:

  • Hvor er de defekte delene i denne bunken?
  • Hvilke kredittkortkjøp kan være svindel?

Forutsi verdier

Regresjonsalgoritmer forutser verdien for et nytt datapunkt basert på historiske data. De hjelper deg med å svare på spørsmål som:

  • Hvor mye koster en gjennomsnittlig leilighet med to soverom i min by til neste år?
  • Hvor mange pasienter kommer til å besøke klinikken på tirsdag?

Se hvordan verdier endres over tid

Tidsseriealgoritmer viser hvordan en gitt verdi endres over tid. I tidsserieanalyser og tidsserieprognoser blir data samlet inn regelmessig over tid. Disse dataene brukes til å komme med prediksjoner og identifisere trender, sesongavhengighet, periodisitet og uregelmessighet. Tidsseriealgoritmer brukes til å svare på følgende typer spørsmål:

  • Er det sannsynlig at prisen på en gitt aksje øker eller faller i året som kommer?
  • Hva blir utgiftene mine neste år?

Oppdage likheter

Klyngealgoritmer deler dataene inn i flere grupper ved å fastslå nivået for likhet mellom datapunkter. Klyngealgoritmer fungerer bra for spørsmål som:

  • Hvilke seere liker samme type filmer?
  • Hvilke skrivermodeller opplever samme type feil?

Klassifisering

Klassifiseringsalgoritmer bruker prediktive beregninger til å tilordne data til forhåndsangitte kategorier. Klassifiseringsalgoritmer læres opp med inndata og brukes til å besvare spørsmål som for eksempel følgende:

  • Er denne e-postmeldingen søppelpost?
  • Hvordan er sentimentet (positivt, negativt eller nøytralt) i en gitt tekst?
Lineær regresjon-algoritmer viser eller forutser forholdet mellom to variabler eller faktorer ved å tilpasse en kontinuerlig rett linje til dataene. Linjen beregnes ofte ved hjelp av funksjonen for kvadrert feilkostnad. Lineær regresjon er en av de vanligste typene regresjonsanalyser.
Logistisk regresjon-algoritmer tilpasser en kontinuerlig S-formet kurve til dataene. Logistisk regresjon er en annen vanlig type regresjonsanalyse.
Naïve Bayes-algoritmene beregner sannsynligheten for at en hendelse vil inntreffe, basert på forekomsten av en relatert hendelse.
Støttevektormaskiner trekker et hyperplan mellom de to nærmeste datapunktene. Dette marginaliserer klassene og maksimerer avstandene mellom de for å differensiere tydeligere mellom dem.
Beslutningstre-algoritmer deler dataene inn i to eller flere homogene sett. De bruker hvis-regler til å skille dataene basert på den mest signifikante differensiatoren mellom datapunkter.
K-Nearest neighbor-algoritmer lagrer alle tilgjengelige datapunkter og klassifiserer hvert nytt datapunkt basert på datapunktene som er nærmest, som målt av en distansefunksjon.
Tilfeldig skog-algoritmer  er basert på beslutningstrær, men i stedet for å opprette ett tre oppretter de en skog med trær og deretter tilfeldige trær i denne skogen. Deretter aggregerer de stemmer fra ulike tilfeldige formasjoner av beslutningstrærne for å bestemme den endelige klassen til testobjektet.
Graderingsforsterkningsalgoritmer  produserer en forutsigelsesmodell som samler svake forutsigelsesmodeller – vanligvis beslutningstrær – gjennom en samleprosess som forbedrer den generelle ytelsen til modellen.
K-Means-algoritmer klassifiserer data i klynger – der K er lik antallet klynger. Datapunktene i hver klynge er homogene, og de er heterogene for datapunkter i andre klynger.

Hva er maskinlæringsbiblioteker?

Et maskinlæringsbibliotek er et sett med funksjoner, strukturer, moduler og rutiner som er skrevet på et bestemt språk. Utviklere bruker koden i maskinlæringsbiblioteker som byggeklosser for å lage maskinlæringsløsninger som kan utføre kompliserte oppgaver. I stedet for å måtte kode hver algoritme og formel i en maskinlæringsløsning manuelt kan utviklere finne funksjonene og modulene de trenger, i et av de mange tilgjengelige maskinlæringsbibliotekene og bruke dem til å bygge en løsning som dekker behovene deres.

Begynn å eksperimentere med Azure Machine Learning

Se hvordan ulike algoritmer analyserer data ved å utvikle og distribuere dine egne maskinlæringsmodeller ved hjelp av Azure Machine Learning.