“Algoritme” er et ord som blir kastet mye rundt. Men når vi bygger samtaler rundt YouTube- eller Facebook-algoritmer, hva snakker vi egentlig om? Hva er algoritmer, og hvorfor klager folk så mye over dem?
Algoritmer er instruksjoner for problemløsning
Vi lever i en verden der datamaskiner bare er vagt forstått, selv om de gjennomsyrer hvert øyeblikk i våre liv. Men det er ett område innen informatikk hvor alle kan forstå det grunnleggende om hva som skjer. Det området informatikk kalles programmering.
Programmering er ikke glamorøst arbeid, men det er grunnlaget for all dataprogramvare, fra Microsoft Office til robocallers . Og selv om din kunnskap om programmering utelukkende stammer fra dårlige 90-talls filmer og off-beat nyhetsrapporter, trenger du sannsynligvis ikke noen som skal forklare deg hva en programmerer gjør. En programmerer skriver kode for en datamaskin, og datamaskinen følger instruksjonene til den koden for å utføre oppgaver eller løse problemer.
Vel, i informatikkens verden er en algoritme bare et fancy ord for kode. Ethvert sett med instruksjoner som forteller en datamaskin hvordan man skal løse problemer, er en algoritme, selv om oppgaven er superenkel. Når du slår på datamaskinen, følger den et sett med instruksjoner om hvordan du slår på. Det er en algoritme på jobben. Når en NASA-datamaskin bruker rå radiobølgedata for å gjengi et fotografi av verdensrommet, er det også en algoritme på jobben.
Ordet "algoritme" kan brukes til å beskrive ethvert sett med instruksjoner, selv utenfor databehandlingsområdet. Metoden din for å sortere sølvtøy i en skuff er for eksempel en algoritme, det samme er metoden din for å vaske hendene etter bruk av badet.
Men her er tingen: I disse dager har ordet "algoritme" en tendens til å være reservert for noen veldig spesifikke tekniske samtaler. Du hører ikke folk snakke om "grunnleggende matematikk" -algoritmer eller "MS Paint graffiti-verktøy" -algoritmer. I stedet hører du Instagram-brukere som klager på algoritmer for forslag om venner, eller personverngrupper som baserer Facebooks datainnsamlingsalgoritmer.
Hvis “algoritme” er et sammenfattende begrep for beregningsinstruksjoner, hvorfor bruker vi det nesten utelukkende for å beskrive forvirrende, magiske og onde sider ved den digitale verden?
De fleste bruker "Algoritmer" og "Machine Learning" om hverandre
Tidligere refererte programmerere og popkultur til de fleste beregningsinstruksjoner som "kode". Dette forblir sant i dag, for det meste. Maskinlæring er det store, overskyede området for databehandling der vi pleier å bruke ordet "algoritme" i stedet for "kode". Dette har forståelig nok bidratt til forvirringen og uroen rundt ordet "algoritme".
Maskinlæring har eksistert lenge, men det har bare blitt en stor del av den digitale verden de siste 15 årene. Mens maskinlæring høres ut som en komplisert idé, er det ganske lett å forstå. Programmører kan ikke skrive og teste spesifikk kode for alle situasjoner, så de skriver kode som kan skrive seg selv.
Tenk på det som en mer praktisk form for kunstig intelligens. Hvis du kategoriserer nok av sjefens e-postmeldinger som søppelpost, vil e-postklienten begynne å skyve alle sjefens e-postmeldinger automatisk i søppelpostmappen. På samme måte bruker Google maskinlæring for å sikre at YouTube-søkeresultatene forblir relevante, og Amazon bruker maskinlæring for å foreslå hvilke produkter du bør kjøpe.
Selvfølgelig er ikke maskinlæring alt i orden. Navnet "maskinlæring" høres skumle ut til å gjøre noen mennesker ukomfortable, og noen av de populære bruksområdene for maskinlæring er etisk tvilsomme. Algoritmene som Facebook bruker til å data-gruve eller brukere over nettet er et lite smigrende eksempel på maskinlæring.
I pressen vil du høre om "Googles algoritme" for rangering av søkeresultater, "YouTubes algoritme" for å anbefale videoer og "Facebooks algoritme" for å bestemme hvilke innlegg du ser på tidslinjen din. Dette er alle emner for strid og debatt.
I SLEKT: Problemet med AI: Maskiner lærer ting, men kan ikke forstå dem
Hvorfor algoritmer er kontroversielle
Lang divisjon er en kjent algoritme (blant mange andre) for å dele tall. Det er bare det at det blir utført av skolebarn i stedet for datamaskiner. Intel-prosessoren din bruker en annen algoritme helt når den deler tall, men resultatene er de samme.
Tale til tekst bruker vanligvis maskinlæring, men ingen snakker om tale-til-tekst-algoritmen fordi det er et objektivt riktig svar hvert menneske umiddelbart kan gjenkjenne. Ingen bryr seg om “hvordan” datamaskinen finner ut hva du sa, eller om det er maskinlæring eller ikke. Vi bryr oss bare om maskinen fikk riktig svar.
Men andre anvendelser av maskinlæring har ikke fordelen av å ha et “riktig” svar. Derfor har algoritmer blitt et fast samtaleemne i media.
En algoritme for å sortere en liste alfabetisk er bare en måte å utføre en definert oppgave på. Men en algoritme som Google for på en eller annen måte å "rangere de beste nettstedene for et søk" eller YouTube for "å anbefale den beste videoen" er mye vagere og utfører ikke en definert oppgave. Folk kan diskutere om den algoritmen produserer de resultatene den burde, og folk vil ha forskjellige meninger om det. Men med vårt alfabetiske sorteringseksempel kan alle være enige om at listen blir sortert alfabetisk som den skal. Det er ingen kontrovers.
Hvordan skal vi bruke ordet "algoritme?"
Algoritmer er grunnlaget for all programvare. Uten algoritmer ville du ikke ha en telefon eller datamaskin, og du vil sannsynligvis lese denne artikkelen på et stykke papir (faktisk, du vil ikke lese den i det hele tatt).
Men allmennheten bruker ikke ordet "algoritme" som et betegnelse på datakode. De fleste antar faktisk at det er forskjell på en datamaskinkode og en algoritme - men det er det ikke. På grunn av ordet "algoritmens" tilknytning til maskinlæring har betydningen blitt tåkete, men bruken har blitt mer spesifikk.
Bør du begynne å bruke ordet "algoritme" for å beskrive selv de mest trivielle datamaskinkodene? Sannsynligvis ikke, ettersom ikke alle vil forstå hva du mener. Språk endrer seg alltid, og det endrer seg alltid med god grunn. Folk trenger et ord for å beskrive den forvirrende, ugjennomsiktige og noen ganger tvilsomme verdenen med maskinlæring, og "algoritme" blir det ordet - for nå.
Når det er sagt, er det godt å huske på at en algoritme (og maskinlæring) i sin kjerne er en haug med kode som er skrevet for å løse oppgaver. Det er ingen tryllekunster; det er bare en mer komplisert gjentakelse av programvaren vi allerede er kjent med.
Kilder: Skifer , Wikipedia , GeeksforGeeks