"Algoritme" is een woord dat veel wordt gebruikt. Maar als we conversaties opbouwen rond YouTube- of Facebook-algoritmen, waar hebben we het dan eigenlijk over? Wat zijn algoritmen en waarom klagen mensen er zo vaak over?
Algoritmen zijn instructies voor het oplossen van problemen
We leven in een wereld waarin computers slechts vaag worden begrepen, ook al doordringen ze elk moment van ons leven. Maar er is één gebied in de informatica waar iedereen de basis kan begrijpen van wat er gaande is. Dat gebied van informatica wordt programmeren genoemd.
Programmeren is geen glamoureus werk, maar het is de basis van alle computersoftware, van Microsoft Office tot robocallers . En zelfs als je kennis van programmeren uitsluitend voortkomt uit slechte films uit de jaren 90 en ongebruikelijke nieuwsverslagen, heb je waarschijnlijk niemand nodig om je uit te leggen wat een programmeur doet. Een programmeur schrijft code voor een computer en de computer volgt de instructies van die code om taken uit te voeren of problemen op te lossen.
Nou, in de wereld van de informatica is een algoritme gewoon een chique woord voor code. Elke set instructies die een computer vertelt hoe hij problemen moet oplossen, is een algoritme, zelfs als de taak supergemakkelijk is. Wanneer u uw computer aanzet, volgt deze een reeks instructies voor het inschakelen. Dat is een algoritme aan het werk. Wanneer een NASA-computer onbewerkte radiogolfgegevens gebruikt om een foto van de ruimte te maken, is dat ook een algoritme aan het werk.
Het woord "algoritme" kan worden gebruikt om elke set instructies te beschrijven, zelfs buiten het domein van de computerwereld. Uw methode voor het sorteren van bestek in een la is bijvoorbeeld een algoritme, evenals uw methode om uw handen te wassen na gebruik van de badkamer.
Maar hier is het ding: tegenwoordig is het woord 'algoritme' meestal gereserveerd voor een aantal zeer specifieke technische gesprekken. Je hoort mensen niet praten over algoritmen voor 'elementaire wiskunde' of algoritmen voor 'MS Paint graffiti tool'. In plaats daarvan hoor je Instagram-gebruikers klagen over algoritmen voor vriendensuggesties, of privacygroepen die de algoritmen voor gegevensverzameling van Facebook bashen.
Als "algoritme" een verzamelnaam is voor computationele instructies, waarom gebruiken we het dan bijna uitsluitend om verwarrende, magische en kwaadaardige aspecten van de digitale wereld te beschrijven?
De meeste mensen gebruiken "algoritmen" en "machine learning" door elkaar
In het verleden noemden programmeurs en popcultuur de meeste rekeninstructies 'code'. Dit blijft vandaag grotendeels het geval. Machine leren is het grote, bewolkte gebied van computers waar we de neiging hebben om het woord 'algoritme' te gebruiken in plaats van 'code'. Dit heeft begrijpelijkerwijs bijgedragen aan de verwarring en het onbehagen rondom het woord 'algoritme'.
Machine learning bestaat al heel lang, maar is pas in de afgelopen vijftien jaar een groot deel van de digitale wereld geworden. Hoewel machine learning een ingewikkeld idee lijkt, is het vrij eenvoudig te begrijpen. Programmeurs kunnen niet voor elke situatie specifieke code schrijven en testen, dus schrijven ze code die zichzelf kan schrijven.
Beschouw het als een meer praktische vorm van kunstmatige intelligentie. Als je genoeg e-mails van je baas als spam categoriseert, begint je e-mailclient alle e-mails van je baas automatisch in de spammap te plaatsen. Op dezelfde manier gebruikt Google machine learning om ervoor te zorgen dat YouTube-zoekresultaten relevant blijven, en Amazon gebruikt machine learning om voor te stellen welke producten je moet kopen.
Natuurlijk is machine learning niet allemaal prima en chic. De naam 'machine learning' klinkt griezelig genoeg om sommige mensen ongemakkelijk te maken, en sommige populaire toepassingen van machine learning zijn ethisch twijfelachtig. De algoritmen die Facebook gebruikt om datamining of gebruikers op internet te gebruiken, zijn een niet erg vleiend voorbeeld van machine learning.
In de pers hoor je over 'het algoritme van Google' voor het rangschikken van zoekresultaten, 'het algoritme van YouTube' voor het aanbevelen van video's en 'het algoritme van Facebook' om te bepalen welke berichten je in je tijdlijn ziet. Dit zijn allemaal onderwerpen van discussie en discussie.
VERWANT: Het probleem met AI: machines leren dingen, maar kunnen ze niet begrijpen
Waarom algoritmen controversieel zijn
Staartdeling is een bekend algoritme (naast vele andere) voor het delen van getallen. Het is alleen dat het wordt uitgevoerd door schoolkinderen in plaats van door computers. Uw Intel-CPU gebruikt volledig een ander algoritme wanneer het getallen deelt, maar de resultaten zijn hetzelfde.
Spraak-naar-tekst maakt over het algemeen gebruik van machine learning, maar niemand heeft het over het spraak-naar-tekst "algoritme" omdat er een objectief correct antwoord is dat ieder mens onmiddellijk kan herkennen. Het kan niemand schelen 'hoe' de computer erachter komt wat u zei, en of het machine learning is of niet. Het maakt ons gewoon uit of de machine het juiste antwoord heeft.
Maar andere toepassingen van machine learning hebben niet het voordeel dat ze een 'juist' antwoord hebben. Daarom zijn algoritmen een regelmatig onderwerp van gesprek in de media geworden.
Een algoritme voor het alfabetisch sorteren van een lijst is slechts een manier om een gedefinieerde taak uit te voeren. Maar een algoritme zoals dat van Google voor het op de een of andere manier 'rangschikken van de beste websites voor een zoekopdracht' of YouTube voor 'het aanbevelen van de beste video' is veel vager en volbrengt geen gedefinieerde taak. Mensen kunnen debatteren of dat algoritme de resultaten oplevert die het zou moeten opleveren, en mensen zullen daar verschillende meningen over hebben. Maar met ons alfabetische sorteervoorbeeld kan iedereen het erover eens zijn dat de lijst alfabetisch wordt gesorteerd zoals het hoort. Er is geen controverse.
Hoe moeten we het woord 'algoritme' gebruiken?
Algoritmen vormen de basis van alle software. Zonder algoritmen zou je geen telefoon of computer hebben, en zou je dit artikel waarschijnlijk op een vel papier lezen (eigenlijk zou je het helemaal niet lezen).
Maar het grote publiek gebruikt het woord 'algoritme' niet als verzamelterm voor computercode. In feite gaan de meeste mensen ervan uit dat er een verschil is tussen een computercode en een algoritme, maar dat is niet zo. Vanwege de associatie van het woord 'algoritme' met machine learning, is de betekenis ervan vaag geworden, maar is het gebruik ervan specifieker geworden.
Moet je het woord 'algoritme' gaan gebruiken om zelfs de meest triviale stukjes computercode te beschrijven? Waarschijnlijk niet, want niet iedereen zal begrijpen wat u bedoelt. Taal verandert altijd, en het verandert altijd om een goede reden. Mensen hebben een woord nodig om de verwarrende, ondoorzichtige en soms dubieuze wereld van machine learning te beschrijven, en 'algoritme' wordt dat woord - voorlopig.
Dat gezegd hebbende, is het goed om in gedachten te houden dat een algoritme (en machine learning) in wezen een hoop code is die is geschreven om taken op te lossen. Er is geen goocheltruc; het is gewoon een meer gecompliceerde versie van de software waarmee we al bekend zijn.
Bronnen: Leisteen , Wikipedia , GeeksforGeeks