Hvordan komme i gang med maskinlæring?

Forsøk på å designe maskiner smartere enn mennesker er ikke nytt.

Et av de veldig tidlige angrepene som datavitenskap gjorde på menneskelig «intelligens» var gjennom sjakkspillet. Sjakk er (eller skal vi si, ble?) antatt av mange som den ultimate testen av menneskelig intellekt og kreativitet, og tilbake på 1960-70-tallet var det forskjellige tankeretninger innen informatikk.

Noen mente at det bare var et tidsspørsmål før datamaskiner innhentet mennesker i å spille sjakk, mens andre mente at dette aldri ville skje.

Kasparov mot Deep Blue

Den mest oppsiktsvekkende begivenheten med mann vs. maskin i tankens kamp var sjakkkampen i 1996 mellom den daværende verdensmesteren Garry Kasparov (og uten tvil den beste sjakkspilleren noensinne) og Mørkeblåen superdatamaskin IBM designet for nettopp denne begivenheten.

Bildekreditt: Wikipedia

For å gjøre en lang historie kort, vant Kasparov 1996-kampen overbevisende (4-2), men tapte 1997-omkampen (4,5-3,5) midt i mye Kontrovers og Kasparovs direkte jukseanklager mot IBM.

Uansett var en æra innen sjakk og informatikk over. Datamaskiner var berettiget smartere enn noe levende menneske mulig. IBM, fornøyd med hevnen, demonterte Deep Blue og gikk videre.

I dag er det umulig for noen stormester å slå en vanlig sjakkmotor som kjører på råvare.

Hva er ikke maskinlæring?

Før vi tar en mer dyptgående titt på Machine Learning, la oss få noen misoppfatninger ut av veien. Maskinlæring er ikke, på noen måte, et forsøk på å kopiere den menneskelige hjernen. Til tross for oppsiktsvekkende oppfatninger holdt av slike som Elon Musk, hevder informatikkforskere at de ikke er på jakt etter dette hellige kornet og absolutt ikke i nærheten av det.

Enkelt sagt er maskinlæring praksisen med å bruke lærings-for-eksempel-prosesser på datamaskiner. Dette står i kontrast til den tradisjonelle tilnærmingen med å stole på en menneskelig programmerer for å tenke opp alle mulige scenarier og hardkoderegler for dem i et system.

Ærlig talt, det handler om hva maskinlæring er: å mate tonn og tonn og tonnevis med data til en datamaskin slik at den kan lære av eksempler (prøve → feil → sammenligning → forbedring) i stedet for å stole på kildekoden.

  Sjekk nettverksaktivitet på Mac-en med aktivitetsmonitoren

Anvendelser av maskinlæring

Så hvis maskinlæring ikke er svart magi og heller ikke noe kommer til å skape Terminators, hva er det nyttig for?

Machine Learning hjelper i tilfeller der tradisjonell programmering faller flatt, og disse tilfellene faller generelt inn i en av de to kategoriene.

Som navnet tilsier, gjelder klassifisering å merke ting riktig, mens Prediction tar sikte på å korrigere fremtidige anslag, gitt et stort nok datasett med tidligere verdier.

Noen interessante bruksområder for maskinlæring er:

Spamfiltrering

E-postspam er utbredt, men å prøve å stoppe det kan være et mareritt. Akkurat hvordan defineres spam? Er det tilstedeværelsen av spesifikke søkeord? Eller kanskje måten det er skrevet på? Det er vanskelig å tenke opp et uttømmende sett med regler, programmessig.

Det er derfor vi bruker Machine Learning. Vi viser systemet millioner av spam-meldinger og ikke-spam-meldinger og lar det finne ut resten. Dette var hemmeligheten bak Gmails utmerkede spamfiltre som rystet personlig e-post tidlig på 2000-tallet!

Anbefalinger

Alle store e-handelsbedrifter har i dag kraftige anbefalingssystemer. Til tider er deres evne til å anbefale ting vi «kanskje» finner nyttige, utrolig nøyaktig, til tross for at vi aldri har klikket på det elementet før.

Tilfeldigheter? Ikke i det hele tatt!

Maskinlæring jobber hardt her, og sluker terabyte etter terabyte med data og prøver å forutsi våre flyktige stemninger og preferanser.

Chatbots

Har du kommet over kundestøtte på første nivå som virket merkelig robotbasert og likevel var i stand til å snakke interessant?

Vel, da har du blitt overbevist av Machine Learning!

Å lære av samtaler og bestemme hva du skal si når er et kommende og spennende område for chatbot-applikasjoner.

Ugressfjerning

I landbruket brukes roboter drevet av Machine Learning til å sprøyte ugress og andre uønskede planter selektivt blant avlinger.

Dette ville ellers måtte gjøres for hånd eller ville være veldig sløsing da systemet også ville sprayet produktet med mordervæsken!

Stemmebasert interaksjon med datasystemer er ikke lenger science fiction. I dag har vi digitale assistenter som Alexa, Siri og Google Home som kan ta kommandoer verbalt og ikke rote (vel, nesten!).

Noen vil kanskje hevde at det er en oppfinnelse som best unngås fordi den gjør menneskeslekten latere enn noen gang, men du kan ikke argumentere med effektiviteten.

  Hvordan fikse Outlook som sitter fast ved lasting av profil

Medisinsk diagnose

Vi er på randen av en revolusjon innen medisinsk diagnose, ettersom maskinlæringsbaserte systemer begynner å overgå erfarne leger innen diagnose gjennom røntgen, etc.

Vær oppmerksom på at dette ikke betyr at leger snart ikke vil være nødvendig, men at kvaliteten på medisinsk behandling vil øke dramatisk, mens kostnadene vil ta et skritt (med mindre forretningskarteller tilsier noe annet!).

Dette var bare et eksempel på hva Machine Learning brukes til. Selvkjørende biler, roboter for strategispill, brettemaskiner for t-skjorter, captcha-bryting og fargelegging av svart-hvitt-bilder skjer i disse dager.

Typer maskinlæring

Maskinlæringsteknikker er av to typer.

Supervised Learning, der systemet styres av menneskelig dømmekraft, og Unsupervised Learning, der systemet overlates til å lære helt av seg selv. En annen måte å si det samme på vil være at i Supervised Learning har vi et datasett som inneholder både input og forventet output, som systemet bruker til å sammenligne og selvkorrigere. I uovervåket læring er det imidlertid ingen eksisterende utgang å måle mot, så resultatene kan variere voldsomt.

En spennende og beinkald anvendelse av uovervåket maskinlæring?

Det ville være roboter som spiller brettspill, der programmet læres spillereglene og vinnerbetingelsene og deretter overlates til sine egne enheter. Programmet spiller deretter millioner av spill mot seg selv, lærer av sine feil og forsterker de fordelaktige avgjørelsene.

Hvis du er på en kraftig nok datamaskin, kan en verdensslående AI forberedes i løpet av noen få timer!

Følgende bilder illustrerer disse ideene kortfattet (kilde: Medium):

Ressurser for å komme i gang med maskinlæring

Så, nå som du er helt tent på maskinlæring og hvordan det kan hjelpe deg med å erobre verden, hvor skal du begynne?

Nedenfor har jeg listet opp noen fantastiske ressurser på nettet som kan hjelpe deg med å oppnå flytende maskinlæring uten å ta en doktorgrad. i informatikk! Hvis du ikke er en maskinlæringsforsker, vil du finne domenet til maskinlæring like praktisk og morsomt som programmering generelt.

Så, ikke bekymre deg, uansett hvilket nivå du har nå, kan du, som et godt maskinlæringsprogram, lære deg selv og bli bedre. 😛

#1. Programmering

Det første kravet for å komme inn i maskinlæring er å lære å programmere. Det er fordi Machine Learning-systemer kommer i form av biblioteker for ulike programmeringsspråk.

Python er den mest anbefalte, dels fordi den er utrolig hyggelig å lære og dels fordi den har et enormt økosystem av biblioteker og ressurser.

  Beste fotokollasje-app for iPhone

De offisielt Nybegynnerguide er et flott sted å starte, selv om du er litt kjent med Python. Eller ta dette Bootcamp-kurs å bli en helt fra null.

#2. Tenk statistikk

Når du er ferdig med det grunnleggende om Python, vil min andre anbefaling være å gå gjennom to fremragende bøker. De er 100 % gratis og tilgjengelige som PDF for nedlasting. Tenk statistikk og Tenk Bayes er to moderne klassikere som enhver aspirerende maskinlæringsingeniør bør internalisere.

#3. Udemy

På dette tidspunktet vil jeg anbefale deg å ta et par kurs fra Udemy. Det interaktive formatet i eget tempo vil hjelpe deg med å komme inn i det tøffe og bygge selvtillit.

Sørg for at du sjekker ut forhåndsvisningen av kurset, vurderingene (spesielt de negative!), og den generelle følelsen av kurset før du setter i gang.

Du kan også komme over fantastiske opplæringsprogrammer på YouTube gratis. Sentdex er en slik kanal jeg kan anbefale, hvor det alltid er mye moro, men tilnærmingen hans er ikke nybegynnervennlig.

#4. Andrew Ng

Kurs undervist av Andrew Ng på Coursera er uten tvil den mest populære læringsressursen for grunnleggende maskinlæring.

Selv om det bruker programmeringsspråket R, forblir det uten sidestykke i behandlingen av emnet og dets klare forklaringer. På grunn av dette kurset har Andrew Ng oppnådd noe av en gudelignende status i ML-kretsene, og folk ser opp til ham for ultimat visdom (jeg tuller ikke!).

Dette er ikke et kurs for nybegynnere, men hvis du allerede er god på datakrangel og ikke har noe imot litt sideforskning mens du går, er dette kurset den beste anbefalingen.

#5. Utacity

Bli en maskinlæringsingeniør ved å ta denne nanograden Utacity.

Det vil ta ca. 3 måneder å fullføre og avslutte kurset, du forventes å ha en god idé om maskinlæringsalgoritmer, hvordan du modellerer og distribuerer dem til produksjon.

Konklusjon

Det er ingen ende på ressurser på internett, og du kan lett gå deg vill når du begynner. De fleste veiledningene og diskusjonene der ute er matematisk utfordrende eller mangler struktur og kan ødelegge selvtilliten din før du i det hele tatt kommer i gang.

Så jeg vil advare deg mot selvdestruksjon: hold målet ditt beskjedent og beveg deg i minimale trinn. Maskinlæring er ikke noe du kan bli komfortabel med i løpet av en dag eller to, men ganske snart begynner du å kose deg, og hvem vet, kanskje til og med skape noe skremmende!

Ha det gøy! 🙂