Hvordan kommer man i gang med Machine Learning?

Forsøg på at designe maskiner smartere end mennesker er ikke nyt.

Et af de meget tidlige angreb, som datalogi lavede på menneskelig “intelligens”, var gennem skakspillet. Skak er (eller skal vi sige, blev?) af mange antaget som den ultimative test af menneskelig intellekt og kreativitet, og tilbage i 1960-70’erne var der forskellige tankegange inden for datalogi.

Nogle mente, at det kun var et spørgsmål om tid, før computere overhalede mennesker i at spille skak, mens andre mente, at dette aldrig ville ske.

Kasparov vs. Deep Blue

Den mest sensationelle begivenhed med mand mod maskine i tankens kamp var skakkampen i 1996 mellem den daværende verdensmester Garry Kasparov (og uden tvivl den bedste skakspiller nogensinde) og Dyb blåen supercomputer, som IBM har designet til netop denne begivenhed.

Billedkredit: Wikipedia

For at gøre en lang historie kort vandt Kasparov 1996-kampen overbevisende (4-2), men tabte 1997-omkampen (4,5-3,5) midt i meget kontrovers og Kasparovs direkte snydbeskyldninger mod IBM.

Uanset hvad var en æra inden for skak og datalogi forbi. Computere var berettiget smartere end noget levende menneske muligt. IBM, glad for hævnen, afmonterede Deep Blue og gik videre.

I dag er det umuligt for enhver stormester at slå enhver almindelig skakmotor, der kører på råvarehardware.

Hvad er Machine Learning ikke?

Før vi tager et mere dybtgående kig på Machine Learning, lad os få nogle misforståelser af vejen. Machine Learning er på ingen måde et forsøg på at replikere den menneskelige hjerne. På trods af sensationelle overbevisninger som Elon Musk holder fast i, fastholder datalogiforskere, at de ikke er på jagt efter dette hellige korn og bestemt ikke i nærheden af ​​det.

Enkelt sagt er maskinlæring praksis med at anvende lærings-for-eksempel-processer på computere. Dette står i kontrast til den traditionelle tilgang med at stole på en menneskelig programmør til at optænke alle de mulige scenarier og hårde koderegler for dem i et system.

Helt ærligt, det handler om, hvad maskinlæring er: at føre tonsvis og tonsvis af data til en computer, så den kan lære af eksempler (forsøg → fejl → sammenligning → forbedring) i stedet for at stole på kildekoden.

  Sådan slukker du dit webcam og din mikrofon på zoom

Anvendelser af Machine Learning

Så hvis Machine Learning ikke er sort magi og heller ikke er noget, der kommer til at afføde Terminators, hvad er det så nyttigt til?

Machine Learning hjælper i tilfælde, hvor traditionel programmering falder fladt, og disse tilfælde falder generelt ind under en af ​​de to kategorier.

Som navnet antyder, vedrører klassificering at mærke ting korrekt, mens forudsigelse sigter mod at rette fremtidige fremskrivninger, givet et stort nok datasæt af tidligere værdier.

Nogle interessante anvendelser af Machine Learning er:

Spamfiltrering

E-mail-spam er udbredt, men at forsøge at stoppe det kan være et mareridt. Hvordan defineres spam? Er det tilstedeværelsen af ​​specifikke søgeord? Eller måske måden det er skrevet på? Det er svært at udtænke et udtømmende regelsæt, programmæssigt.

Det er derfor, vi bruger Machine Learning. Vi viser systemet millioner af spammeddelelser og ikke-spammeddelelser og lader det finde ud af resten. Dette var hemmeligheden bag Gmails fremragende spamfiltre, der rystede personlige e-mails i begyndelsen af ​​2000’erne!

Anbefalinger

Alle større e-handelsvirksomheder har i dag kraftfulde anbefalingssystemer. Til tider er deres evne til at anbefale ting, vi “måske” finder nyttige, utrolig nøjagtig, på trods af at vi aldrig har klikket på det element før.

Sammentræf? Slet ikke!

Machine Learning er hårdt på arbejde her, sluger terabyte efter terabyte af data og forsøger at forudsige vores flygtige humør og præferencer.

Chatbots

Er du stødt på kundesupport på første niveau, der virkede underligt robotagtig og alligevel var i stand til at lave en interessant smalltalk?

Nå, så er du blevet pwned af Machine Learning!

At lære af samtaler og bestemme, hvad man skal sige hvornår, er et kommende og spændende område af chatbot-applikationer.

Fjernelse af ukrudt

I landbruget bruges robotter drevet af Machine Learning til selektivt at sprøjte ukrudt og andre uønskede planter blandt afgrøder.

Dette ville ellers skulle gøres i hånden eller ville være vildt spild, da systemet også ville sprøjte produktet med dræbervæsken!

Stemmebaseret interaktion med computersystemer er ikke længere science fiction. I dag har vi digitale assistenter som Alexa, Siri og Google Home, der kan tage kommandoer verbalt og ikke rode (nå, næsten!).

Nogle vil måske hævde, at det er en opfindelse, der bedst undgås, da den gør menneskeheden mere doven end nogensinde, men du kan ikke argumentere med effektiviteten.

  Ret Gruppen eller ressourcen er ikke i den korrekte tilstand til at udføre den anmodede operation

Medicinsk diagnose

Vi er på randen af ​​en revolution inden for medicinsk diagnose, da Machine Learning-baserede systemer begynder at overgå erfarne læger i diagnose gennem røntgenbilleder mv.

Bemærk venligst, at dette ikke betyder, at der snart ikke vil være behov for læger, men at kvaliteten af ​​medicinsk behandling vil stige dramatisk, mens omkostningerne vil tage et dyk (medmindre forretningskarteller dikterer andet!).

Dette var blot et eksempel på, hvad Machine Learning bliver brugt til. Selvkørende biler, robotter til strategispil, t-shirt-foldemaskiner, captcha-brydning og farvelægning af sort-hvid-billeder sker i disse dage.

Typer af maskinlæring

Maskinlæringsteknikker er af to slags.

Supervised Learning, hvor systemet er styret af menneskelig dømmekraft, og Unsupervised Learning, hvor systemet overlades til at lære helt af sig selv. En anden måde at sige det samme på ville være, at vi i Supervised Learning har et datasæt, der indeholder både input og det forventede output, som systemet bruger til at sammenligne og selvkorrigere. I Unsupervised Learning er der dog ikke noget eksisterende output at måle på, så resultaterne kan variere meget.

En spændende og benhård anvendelse af Unsupervised Machine Learning?

Det ville være bots, der spiller brætspil, hvor programmet læres spillereglerne og vinderbetingelserne og derefter overlades til dets egne enheder. Programmet spiller derefter millioner af spil mod sig selv, lærer af sine fejl og styrker de fordelagtige beslutninger.

Hvis du er på en computer, der er stærk nok, kan en verdensslående AI forberedes på få timer!

Følgende billeder illustrerer disse ideer kortfattet (kilde: Medium):

Ressourcer til at komme i gang med Machine Learning

Så nu hvor du er begejstret for Machine Learning, og hvordan det kan hjælpe dig med at erobre verden, hvor skal du så begynde?

Nedenfor har jeg listet nogle fantastiske ressourcer på nettet, som kan hjælpe dig med at opnå flydende maskinlæring uden at få en ph.d. i datalogi! Hvis du ikke er en Machine Learning-forsker, vil du finde domænet for Machine Learning lige så praktisk og underholdende som programmering generelt.

Så bare rolig, uanset hvilket niveau du har i øjeblikket, kan du ligesom et godt Machine Learning-program lære dig selv og blive bedre. 😛

#1. Programmering

Det første krav for at komme ind i Machine Learning er at lære at programmere. Det skyldes, at Machine Learning-systemer kommer i form af biblioteker til forskellige programmeringssprog.

  Skrifttyper og browserudvidelser, der hjælper dem med ordblindhed med at læse internettet

Python er den mest anbefalede, dels fordi den er utrolig behagelig at lære, og dels fordi den har et massivt økosystem af biblioteker og ressourcer.

Det officiel Begynderguide er et godt sted at starte, selvom du er lidt fortrolig med Python. Eller tag dette Bootcamp kursus at blive en helt fra nul.

#2. Tænk statistik

Når du er færdig med det grundlæggende i Python, vil min anden anbefaling være at gennemgå to fremragende bøger. De er 100 % gratis og tilgængelige som PDF til download. Tænk statistik og Tænk Bayes er to moderne klassikere, som enhver håbefuld maskinlæringsingeniør bør internalisere.

#3. Udemy

På dette tidspunkt vil jeg anbefale dig at tage et par kurser fra Udemy. Det interaktive format i dit eget tempo hjælper dig med at komme ind i det småting og opbygge selvtillid.

Sørg for at tjekke kursets forhåndsvisning, anmeldelser (især de negative!) og den overordnede følelse af kurset, før du går i gang.

Du kan også støde på fantastiske tutorials på YouTube gratis. Sentdex er en sådan kanal, jeg kan anbefale, hvor der altid er masser af sjov, men hans tilgang er ikke begyndervenlig.

#4. Andrew Ng

Kursus undervist af Andrew Ng på Coursera er uden tvivl den mest populære læringsressource til grundlæggende maskinlæring.

Selvom det bruger programmeringssproget R, forbliver det uden sidestykke i sin behandling af emnet og dets klare forklaringer. På grund af dette kursus har Andrew Ng opnået noget af en gudelignende statur i ML-kredse, og folk ser op til ham for ultimativ visdom (jeg laver ikke sjov!).

Dette er ikke et kursus for begyndere, men hvis du allerede er god til at skændes med data og ikke gider noget sideforskning, mens du går, er dette kursus den bedste anbefaling.

#5. Udacity

Bliv maskinlæringsingeniør ved at tage denne nanograd Udacity.

Det vil tage cirka 3 måneder at gennemføre og afslutte kurset, du forventes at have en rimelig idé om maskinlæringsalgoritmer, hvordan man modellerer og implementerer dem til produktion.

Konklusion

Der er ingen ende på ressourcer på internettet, og du kan nemt fare vild, når du begynder. De fleste af tutorials og diskussioner derude er matematisk udfordrende eller mangler en struktur og kan bryde din selvtillid, før du overhovedet går i gang.

Så jeg vil gerne advare dig mod selvdestruktion: hold dit mål beskedent og bevæg dig i minimale trin. Machine Learning er ikke noget, du kan blive fortrolig med inden for en dag eller to, men ret hurtigt begynder du at nyde dig selv, og hvem ved, måske endda skabe noget skræmmende!

Hav det sjovt! 🙂