Andersons vinkel
10 Beste Maskinlæringsalgoritmer

Selv om vi er midt i en tid med ekstraordinær innovasjon i GPU-akselerert maskinlærning, presenterer de siste forskningsrapportene ofte (og fremtredende) algoritmer som er flere tiår gamle, i noen tilfeller 70 år gamle.
Noen kan hevde at mange av disse eldre metodene hører hjemme i kategorien ‘statistisk analyse’ snarere enn maskinlærning, og foretrekker å datere oppfinnelsen av sektoren tilbake til 1957, med oppfinnelsen av Perceptron.
Gitt hvor mye disse eldre algoritmene støtter og er innviklet i de siste trendene og overskriftene i maskinlæringsutviklingen, er dette en tvilsom holdning. La oss se på noen av de ‘klassiske’ byggesteinene som ligger under de siste innovasjonene, samt noen nyere innganger som gjør en tidlig søknad om å komme inn i AI-hallen av berømthet.
1: Transformatorer
I 2017 ledet Google Research en forskningscollaborasjon som kulminerte i rapporten Attention Is All You Need. Arbeidet presenterte en ny arkitektur som fremmet oppmerksomhetsmekanismer fra ‘piping’ i encoder/decoder og rekursive nettverksmodeller til en sentral transformasjons-teknologi i seg selv.
Tilnærmingen ble kalt Transformator, og har siden blitt en revolusjonerende metode i naturlig språkbehandling (NLP), og driver, blant mange andre eksempler, den autoregressive språkmodellen og AI-ikonet GPT-3.

Transformatorer løste elegant problemet med sekvens-transduksjon, også kalt ‘transformasjon’, som er opptatt av behandling av inndata-sekvenser til utdata-sekvenser. En transformator mottar og behandler også data på en kontinuerlig måte, snarere enn i sekvensielle batcher, og tillater en ‘varighet av minne’ som RNN-arkitekturer ikke er designet for å oppnå. For en mer detaljert oversikt over transformatorer, se vår referanseartikkel.
I motsetning til de rekursive nevrale nettverkene (RNN) som hadde begynt å dominere ML-forskning i CUDA-æraen, kunne Transformator-arkitektur også lett parallelliseres, og åpnet veien for å produktivt å kunne håndtere en langt større korpus av data enn RNN.
Vanlig Bruk
Transformatorer fanget den offentlige fantasien i 2020 med utgivelsen av OpenAI’s GPT-3, som hevdet en da rekordhøy 175 milliarder parametre. Dette synes å være en imponerende prestasjon, som senere ble overskygget av senere prosjekter, som 2021 utgivelsen av Microsofts Megatron-Turing NLG 530B, som (som navnet antyder) har over 530 milliarder parametre.

En tidsline for hyperskala Transformer NLP-prosjekter. Kilde: Microsoft
Transformator-arkitektur har også krysset over fra NLP til datavisualisering, og driver en ny generasjon av bilde-syntese-rammeverk som OpenAI’s CLIP og DALL-E, som bruker tekst>bilde-domæne-mapping til å fullføre ufullstendige bilder og syntetisere nye bilder fra trenede domæner, blant en voksende liste av relaterte anvendelser.

DALL-E forsøker å fullføre et partielt bilde av en buste av Plato. Kilde: https://openai.com/blog/dall-e/
2: Generative Adversarial Networks (GANs)
Selv om transformatorer har fått ekstraordinær mediedekning gjennom utgivelsen og tilpasningen av GPT-3, har Generative Adversarial Network (GAN) blitt et kjent merke i seg selv, og kan til slutt bli en del av deepfake som et verb.
Først foreslått i 2014 og hovedsakelig brukt til bilde-syntese, består en Generative Adversarial Network arkitektur av en Generator og en Discriminator. Generatoren sykler gjennom tusenvis av bilder i en datasett, og forsøker iterativt å rekonstruere dem. For hvert forsøk, vurderer Diskriminatoren Generatoren arbeid, og sender Generatoren tilbake for å gjøre bedre, men uten noen innsikt i hvordan den tidligere rekonstruksjonen feilet.

Kilde: https://developers.google.com/machine-learning/gan/gan_structure
Dette tvinger Generatoren til å utforske en mangfoldighet av veier, i stedet for å følge de potensielle blindveier som ville ha resultert hvis Diskriminatoren hadde fortalt det hvor det gikk galt (se #8 nedenfor). Når treningen er ferdig, har Generatoren en detaljert og omfattende kart over relasjoner mellom punkter i datasett.

Et utdrag fra forskernes’ tilhørende video (se innlegg ved slutten av artikkelen). Merk at brukeren manipulerer transformasjonene med en ‘grab’-cursor (øverst til venstre). Kilde: https://www.youtube.com/watch?v=k7sG4XY5rIc
Med analogi, dette er forskjellen på å lære en enkelt kjedelig kommutetur til sentrum av London, eller å anskaffe The Knowledge.
Resultatet er en høy-nivå-samling av funksjoner i den latente rommet til den trenede modellen. Den semantiske indikator for en høy-nivå-funksjon kan være ‘person’, mens en nedstigning gjennom spesifikasjon relatert til funksjonen kan avdekke andre lært egenskaper, som ‘mann’ og ‘kvinne’. På lavere nivåer kan under-egenskapene bryte ned til, ‘blond’, ‘kaukasisk’, osv.
Forvikling er et merkbart problem i den latente rommet til GAN og encoder/decoder-rammeverk: er smilene på et GAN-generert kvinnelig ansikt en forvikklet egenskap av hennes ‘identitet’ i den latente rommet, eller er det en parallell gren?

GAN-genererte ansikter fra thispersondoesnotexist. Kilde: https://this-person-does-not-exist.com/en
De siste årene har ført til en voksende liste av nye forskningsinitiativer i denne sammenhengen, kanskje baner vei for funksjonsnivå, Photoshop-stil-redigering for den latente rommet til en GAN, men for øyeblikket er mange transformasjoner effektivt ‘all eller ingenting’-pakker. Merkverdig, NVIDIA’s EditGAN-utgivelse i slutten av 2021 oppnår en høy nivå av tolkbarhet i den latente rommet ved å bruke semantisk segmentering.
Vanlig Bruk
Beside deres (i virkeligheten ganske begrensede) involvering i populære deepfake-videoer, har bilde/video-sentriske GAN blitt utbredt over de siste fire årene, og har forbløffet forskere og allmennheten like mye. Å holde pace med den svimlende takten og hyppigheten av nye utgivelser er en utfordring, selv om GitHub-repositoriet Awesome GAN Applications forsøker å gi en omfattende liste.
Generative Adversarial Networks kan i teorien avlede funksjoner fra hvilket som helst godt definert domæne, inkludert tekst.
3: SVM
Opprinnelig i 1963, er Support Vector Machine (SVM) en kjerne-algoritme som dukker opp hyppig i ny forskning. Under SVM kartlegger vektorer den relative disponenten av datapunkter i en datasett, mens støtte-vektorer avgrenser grensene mellom ulike grupper, funksjoner eller trekk.

Støttevektorer definerer grensene mellom grupper. Kilde: https://www.kdnuggets.com/2016/07/support-vector-machines-simple-explanation.html
Den avledede grensen kalles en hyperplan.
Ved lav funksjonsnivå er SVM to-dimensjonal (bilde over), men hvor det er et høyere antall erkjente grupper eller typer, blir det tre-dimensjonal.

En dypere rekke av punkter og grupper krever en tre-dimensjonal SVM. Kilde: https://cml.rhul.ac.uk/svm.html
Vanlig Bruk
Siden Support Vector Machines kan effektivt og nøytralt håndtere høy-dimensjonal data av mange typer, dukker de opp over hele maskinlæringssektoren, inkludert deepfake-avdekning, bilde-klassifisering, hate-speech-klassifisering, DNA-analyse og populasjonsstruktur-prediksjon, blant mange andre.
4: K-Means Clustering
Clustering generelt er en uovervåket læring-tilnærming som søker å kategorisere datapunkter gjennom tetthets-estimering, og skaper en kart over distribusjonen av dataene som studeres.

K-Means-clustering avdekker segmenter, grupper og samfunn i data. Kilde: https://aws.amazon.com/blogs/machine-learning/k-means-clustering-with-amazon-sagemaker/
K-Means Clustering har blitt den mest populære implementeringen av denne tilnærmingen, og fører datapunkter inn i distinkte ‘K-grupper’, som kan indikere demografiske sektorer, online-samfunn eller andre mulige hemmelige aggregater som venter på å bli oppdaget i rå statistisk data.

Kluster dannes i K-Means-analyse. Kilde: https://www.geeksforgeeks.org/ml-determine-the-optimal-value-of-k-in-k-means-clustering/
Verdien K selv er den avgjørende faktoren i nyttiggjøringen av prosessen, og i å etablere en optimal verdi for en kluster. Opprinnelig tildeles K-verdien tilfeldig, og dens funksjoner og vektor-egenskaper sammenlignes med naboene. Disse naboene som ligner mest på datapunktet med den tilfeldig tildelte verdien, tildeles til dens kluster iterativt til dataene har gitt alle grupperingene prosessen tillater.
Plotten for den kvadrerte feilen, eller ‘kostnaden’ av ulike verdier blant klusterne, avslører en albue-punkt for dataene:

Albue-punktet i en kluster-graf. Kilde: https://www.scikit-yb.org/en/latest/api/cluster/elbow.html
Albue-punktet er lignende i konsept til måten hvorpå tapet flattes ut til svakere avkastning ved slutten av en treningsøkt for en datasett. Det representerer punktet hvor ingen ytterligere distinksjoner mellom grupper vil bli tydelig, og indikerer øyeblikket å gå videre til påfølgende faser i datapipen, eller å rapportere funn.
Vanlig Bruk
K-Means Clustering, av åpenbare grunner, er en primær teknologi i kunde-analyse, siden det tilbyr en klar og forklarlig metode for å oversette store mengder kommersielle poster til demografiske innsikter og ‘ledsager’.
Utenfor denne anvendelsen er K-Means Clustering også brukt til landskred-prediksjon, medisinsk bilde-segmentering, bilde-syntese med GAN, dokument-klassifisering, og byplanlegging, blant mange andre mulige og faktiske anvendelser.
5: Random Forest
Random Forest er en ensemble-læring-metode som gjennomsnittlig resultatet fra en rekke beslutningstre for å etablere en overordnet prediksjon for utfallet.

Kilde: https://www.tutorialandexample.com/wp-content/uploads/2019/10/Decision-Trees-Root-Node.png
Hvis du har forsket det så lite som å se Back to the Future-trilogien, er en beslutningstre selv ganske enkelt å konseptualisere: en rekke stier ligger foran deg, og hver sti grener ut til et nytt resultat som igjen inneholder flere mulige stier.
I forsterket læring kan du trekke deg tilbake fra en sti og starte på nytt fra en tidligere stilling, mens beslutningstreer er bundet til sine reiser.
Således er Random Forest-algoritmen essensielt sprede-veddemål for beslutninger. Algoritmen kalles ’tilfeldig’ fordi den gjør ad hoc-valg og observasjoner for å forstå median-summeringen av resultater fra beslutningstre-arrayen.
Ettersom det tar hensyn til en mangfoldighet av faktorer, kan en Random Forest-tilnærming være vanskeligere å konvertere til meningsfulle grafer enn en beslutningstre, men er sannsynligvis mer produktiv.
Beslutningstreer er utsatt for over-tilpasning, hvor resultater er dataspesifikke og ikke sannsynlig å generalisere. Random Forests tilfeldige valg av datapunkter bekjemper denne tendensen, og borer gjennom til meningsfulle og nyttige representative trender i dataene.

Beslutningstre-regresjon. Kilde: https://scikit-learn.org/stable/auto_examples/tree/plot_tree_regression.html
Vanlig Bruk
Som med mange av algoritmene i denne listen, opererer Random Forest vanligvis som en ‘tidlig’ sorter og filter av data, og dukker opp hyppig i nye forskningsrapporter. Noen eksempler på Random Forest-bruk inkluderer Magnetresonans-bilde-syntese, Bitcoin-pris-prediksjon, kunde-segmentering, tekst-klassifisering og kredittkort-svindel-avdekning.
Ettersom Random Forest er en lav-nivå-algoritme i maskinlærings-arkitekturer, kan den også bidra til ytelsen av andre lav-nivå-metoder, samt visualiserings-algoritmer, inkludert induktiv klustering, funksjons-transformasjoner, klassifisering av tekst-dokumenter ved å bruke sparse funksjoner, og visning av rørledninger.
6: Naive Bayes
Koblet med tetthets-estimering (se 4 ovenfor), er en naiv Bayes-klassifisator en kraftfull, men relativt lettvekts-algoritme, som kan estimere sannsynligheter basert på beregnede funksjoner av data.

Funksjons-relasjoner i en naiv Bayes-klassifisator. Kilde: https://www.sciencedirect.com/topics/computer-science/naive-bayes-model
Begrepet ‘naiv’ refererer til antagelsen i Bayes’ teorem at funksjoner er uavhengige, kjent som betinget uavhengighet. Hvis du tar denne standpunktet, er å gå og snakke som en and ikke nok til å etablere at vi har å gjøre med en and, og ingen ‘åpenbare’ antagelser blir forhastet.
Dette nivået av akademisk og etterforsknings- rigor er overkill hvor ‘sunn fornuft’ er tilgjengelig, men er en verdifull standard når man navigerer gjennom de mange tvetydighetene og potensielt uavhengige korrelasjoner som kan eksistere i en maskinlærings-datasett.
I en original Bayesian-nettverk er funksjoner underlagt scoring-funksjoner, inkludert minimal beskrivelseslengde og Bayesian-scoring, som kan påføre restriksjoner på dataene i form av de estimerte forbindelsene funnet mellom datapunktene, og retningen som disse forbindelsene flyter.
En naiv Bayes-klassifisator, på den andre siden, opererer ved å anta at funksjonene til et gitt objekt er uavhengige, og bruker deretter Bayes’ teorem til å beregne sannsynligheten for et gitt objekt, basert på dets funksjoner.
Vanlig Bruk
Naive Bayes-filtre er godt representert i sykdoms-prediksjon og dokument-kategorisering, spam-filtrering, sentiment-klassifisering, anbefalings-systemer, og svindel-avdekning, blant andre anvendelser.
7: K- Nærmeste Naboer (KNN)
Først foreslått av USAs flyvåpen skole for luftfart medisin i 1951, og som måtte tilpasse seg datamaskin-hardwarens stand på midten av 1900-tallet, er K- Nærmeste Naboer (KNN) en slank algoritme som fremdeles er fremtredende i akademiske papirer og private sektors maskinlærings-forsknings-initiativer.
KNN har blitt kalt ‘den late læren’, siden det utfører en omfattende gjennomsøking av en datasett for å evaluere relasjonene mellom datapunkter, i stedet for å kreve opplæring av en fullstendig maskinlærings-modell.

En KNN-gruppering. Kilde: https://scikit-learn.org/stable/modules/neighbors.html
Selv om KNN er arkitektonisk slank, plasserer dens systematiske tilnærming en merkbart krav på les/skriv-operasjoner, og dens bruk i svært store datasett kan være problematisk uten hjelpetechnologier som Principal Component Analysis (PCA), som kan transformere komplekse og høy-volum datasett til representative grupperinger som KNN kan traversere med mindre anstrengelse.
En nylig studie evaluerte effektiviteten og økonomien til en rekke algoritmer som var oppgitt til å forutsi om en ansatt ville forlate et selskap, og fant at den 70 år gamle KNN fremdeles var overlegen til de mer moderne kandidatene i terms of nøyaktighet og prediktiv effektivitet.
Vanlig Bruk
Trods sin populære enkelhet i konsept og eksekvering, er KNN ikke fastlåst i 1950-årene – det har blitt tilpasset til en mer DNN-fokusert tilnærming i en 2018-forslag fra Pennsylvania State University, og forblir en sentral tidlig-fase-prosess (eller post-prosess-analytisk verktøy) i mange mer komplekse maskinlærings-rammeverk.
I ulike konfigurasjoner har KNN blitt brukt eller til online-signatur-verifisering, bilde-klassifisering, tekst-utvinning, avlings-prediksjon, og ansikts-gjenkjenning, blant andre anvendelser og inkorporeringer.

En KNN-basert ansikts-gjenkjenningssystem i trening. Kilde: https://pdfs.semanticscholar.org/6f3d/d4c5ffeb3ce74bf57342861686944490f513.pdf
8: Markov Decision Process (MDP)
En matematisk rammeverk introdusert av den amerikanske matematikeren Richard Bellman i 1957, er Markov Decision Process (MDP) en av de mest grunnleggende blokkene i forsterket læring-arkitekturer. En konseptuell algoritme i seg selv, har det blitt tilpasset til en rekke andre algoritmer, og dukker opp hyppig i den nåværende kroppen av AI/ML-forskning.
MDP utforsker en data-miljø ved å bruke sin vurdering av sin nåværende tilstand (dvs. ‘hvor’ det er i dataene) til å bestemme hvilken node av dataene det skal utforske neste.

Kilde: https://www.sciencedirect.com/science/article/abs/pii/S0888613X18304420
En grunnleggende Markov Decision Process vil prioritere nær-tidsfordel over mer ønskede lang-tids-mål. Av denne grunn er det vanligvis innbygget i konteksten av en mer omfattende politikk-arkitektur i forsterket læring, og er ofte underlagt begrensninger som diskontert belønning og andre modifiserende miljø-variable som vil forhindre det fra å rush til en umiddelbar mål uten å vurdere den bredere ønskede utfallet.
Vanlig Bruk
MDP’s lav-nivå-konsept er utbredt i både forskning og aktive utrullinger av maskinlærings-teknologi. Det har blitt foreslått for IoT-sikkerhets-forsvarssystemer, fiske-utvinning og marked-avdekning.
Besides dens åpenbare anvendelighet til sjakk og andre strengt sekvensielle spill, er MDP en naturlig kandidat for prosedural trening av robot-systemer, som vi kan se i videoen nedenfor.
9: Term Frequency-Inverse Document Frequency
Term Frequency (TF) deler antall ganger et ord opptrer i en dokument på totalt antall ord i den dokumenten. Således har ordet seal som opptrer en gang i en tusen-ords-artikkel en term-frekvens på 0,001. Av seg selv er TF stort sett ubrukelig som en indikator for term-viktighet, på grunn av det faktum at meningsløse artikler (slik som a, and, the og it) dominerer.
For å få en meningsfull verdi for en term, beregner Inverse Document Frequency (IDF) TF-en til et ord over flere dokumenter i en datasett, og tildeler lav rating til svært hyppige stop-ord, som artikler. De resulterende funksjons-vektorene er normalisert til hele verdier, med hver ord tildelt en passende vekt.

TF-IDF vekter relevansen av termer basert på frekvens over en rekke dokumenter, med sjeldnere forekomst som en indikator for betydning. Kilde: https://moz.com/blog/inverse-document-frequency-and-the-importance-of-uniqueness
Selv om denne tilnærmingen forhindrer at semantisk viktige ord forsvinner som outliers, betyr det ikke at et lav-frekvent term ikke er en outlier, fordi noen ting er sjeldne og verdiløse. Derfor vil en lav-frekvent term måtte bevise sin verdi i den videre arkitektoniske konteksten ved å være presentert (selv om det bare er i lav frekvens per dokument) i en rekke dokumenter i datasett.
Til tross for sin alder, er TF-IDF en kraftfull og populær metode for initialt filter-passer i Naturlig Språkbehandling-rammeverk.
Vanlig Bruk
Fordi TF-IDF har spilt en rolle i utviklingen av Googles stort sett okkulte PageRank-algoritme over de siste tjue årene, har det blitt svært utbredt som en manipulerende SEO-taktikk, til tross for John Muellers avvisning av dens betydning for søkeresultater.
På grunn av hemmeligholdelsen rundt PageRank, finnes det ingen klar bevis for at TF-IDF ikke er en effektiv taktikk for å øke i Googles rangering. Kontroversiell diskusjon blant IT-fagfolk nylig indikerer en populær forståelse, riktig eller ikke, at term-misbruk kan fremdeles resultere i forbedret SEO-plassering (selv om ytterligere beskyldninger om monopolutnyttelse og økende annonsering skygge grensene for denne teorien).
10: Stokastisk Gradient Descent
Stokastisk Gradient Descent (SGD) er en stadig mer populær metode for å optimalisere opplæringen av maskinlærings-modeller.
Gradient Descent i seg selv er en metode for å optimalisere og kvantifisere forbedringen som en modell gjør under opplæring.
I denne sammenhengen indikerer ‘gradient’ en nedover-løpende helling (i stedet for en farge-basert gradasjon, se bilde under), hvor den høyeste punktet på ‘åsen’, til venstre, representerer begynnelsen av opplæringsprosessen. På dette stadiet har modellen ikke ennå sett hele datasett en gang, og har ikke lært nok om relasjoner mellom dataene til å produsere effektive transformasjoner.

En gradient-descent på en FaceSwap-treningsøkt. Vi kan se at opplæringen har platået i en stund i den andre halvdelen, men har til slutt gjenvunnet sin vei nedover gradienten mot en akseptabel konvergens.
Det laveste punktet, til høyre, representerer konvergens (punktet hvor modellen er like effektiv som den noen gang vil bli under de pålagte begrensningene og innstillingene).
Gradienten fungerer som en rekord og forutsigelse for forskjellen mellom feil-raten (hvor nøyaktig modellen har kartlagt data-relasjoner) og vektene (innstillingene som påvirker måten modellen vil lære på).
Dette rekordet av fremgang kan brukes til å informere en læringsrate-plan, en automatisk prosess som forteller arkitekturen å bli mer granulert og presis når de tidlige vagt detaljer transformerer til klare relasjoner og kartlegginger. I virkeligheten gir gradient-tap en just-in-time-kart over hvor opplæringen skal gå neste, og hvordan den skal fortsette.
Innovasjonen i Stokastisk Gradient Descent er at den oppdaterer modellens parametre på hver enkelt trenings-eksempel per iterasjon, noe som vanligvis akselererer reisen til konvergens. På grunn av oppkomsten av hyperskala-datasett de siste årene, har SGD blitt mer populært nylig som en mulig metode for å håndtere de påfølgende logistiske problemene.
På den andre siden har SGD negative implikasjoner for funksjons-skala, og kan kreve flere iterasjoner for å oppnå samme resultat, og krever ytterligere planlegging og ytterligere parametre, sammenlignet med vanlig Gradient Descent.
Vanlig Bruk
Fordi SGD er konfigurerbar, og til tross for sine mangler, har det blitt den mest populære optimaliserings-algoritmen for å tilpasse neurale nettverk. En konfigurasjon av SGD som blir dominant i nye AI/ML-forsknings-rapporter er valget av Adaptive Moment Estimation (ADAM, introdusert i 2015) optimizer.
ADAM tilpasser lærings-raten for hver parameter dynamisk (‘adaptiv læringsrate’), samt inkorporerer resultater fra tidligere oppdateringer i den påfølgende konfigurasjonen (‘momentum’). I tillegg kan det konfigureres til å bruke senere innovasjoner, som Nesterov Momentum.
Men noen mener at bruken av momentum kan også akselerere ADAM (og lignende algoritmer) til en sub-optimal konklusjon. Som med mye av den blødende kanten av maskinlærings-forsknings-sektoren, er SGD et arbeid i fremgang.
Først publisert 10. februar 2022. Endret 10. februar 20:05 EET – formatering.












