Programmering

Uovervåket læring forklart

Til tross for suksessen med veiledet maskinlæring og dyp læring, er det en tankegang som sier at læring uten tilsyn har enda større potensial. Læringen av et overvåket læringssystem er begrenset av opplæringen; dvs. et overvåket læringssystem kan bare lære de oppgavene det er opplært til. Derimot kan et system uten tilsyn teoretisk oppnå "kunstig generell intelligens", som betyr evnen til å lære enhver oppgave et menneske kan lære. Imidlertid er teknologien ikke der ennå.

Hvis det største problemet med veiledet læring er kostnadene ved å merke opplæringsdataene, er det største problemet med uten tilsyn læring (der dataene ikke er merket) at det ofte ikke fungerer veldig bra. Ikke-overvåket læring har likevel sine bruksområder: Det kan noen ganger være bra for å redusere dimensjonaliteten til et datasett, utforske mønsteret og strukturen til dataene, finne grupper av lignende objekter og oppdage avvik og annen støy i dataene.

Generelt er det verdt å prøve uten tilsyn læringsmetoder som en del av den utforskende dataanalysen din for å oppdage mønstre og klynger, for å redusere dimensjonaliteten til dataene dine, for å oppdage latente funksjoner og for å fjerne outliers. Om du da trenger å gå videre til veiledet læring eller å bruke forhåndstrente modeller for å gjøre spådommer, avhenger av dine mål og dataene dine.

Hva er læring uten tilsyn?

Tenk på hvordan menneskelige barn lærer. Som foreldre eller lærer trenger du ikke å vise små barn alle hunderaser og katter som finnes for å lære dem å gjenkjenne hunder og katter. De kan lære av noen få eksempler, uten mye forklaring, og generalisere på egenhånd. Å, de kan feilaktig kalle en Chihuahua "Kitty" første gang de ser en, men du kan korrigere det relativt raskt.

Barn klumper intuitivt grupper av ting de ser i klasser. Et mål med læring uten tilsyn er egentlig å la datamaskiner utvikle den samme evnen. Som Alex Graves og Kelly Clancy fra DeepMind uttrykte det i blogginnlegget sitt, "Uovervåket læring: den nysgjerrige eleven,"

Uovervåket læring er et paradigme designet for å skape autonom intelligens av belønning av agenter (det vil si dataprogrammer) for å lære om dataene de observerer uten en spesiell oppgave i tankene. Med andre ord lærer agenten for lærings skyld.

Potensialet til en agent som lærer for lærings skyld er langt større enn et system som reduserer komplekse bilder til en binær beslutning (f.eks. Hund eller katt). Å avdekke mønstre i stedet for å utføre en forhåndsdefinert oppgave kan gi overraskende og nyttige resultater, som vist da forskere ved Lawrence Berkeley Lab kjørte en tekstbehandlingsalgoritme (Word2vec) på flere millioner materialvitenskapelige abstrakter for å forutsi funn av nye termoelektriske materialer.

Klyngemetoder

Et klyngeproblem er et uten tilsyn læringsproblem som ber modellen om å finne grupper med lignende datapunkter. Det er en rekke grupperingsalgoritmer som for tiden er i bruk, som har en tendens til å ha litt forskjellige egenskaper. Generelt ser klyngealgoritmer på beregningene eller avstandsfunksjonene mellom funksjonsvektorene til datapunktene, og grupperer deretter de som er "nær" hverandre. Klyngealgoritmer fungerer best hvis klassene ikke overlapper hverandre.

Hierarkisk gruppering

Hierarkisk klyngeanalyse (HCA) kan være agglomerativ (du bygger klyngene nedenfra og opp, starter med individuelle punkter og slutter med en enkelt klynge) eller splittende (du starter med en enkelt klynge og deler den opp til du ender med individuelle punkter). Hvis du er heldig, kan du finne et mellomfase i klyngeprosessen som gjenspeiler en meningsfull klassifisering.

Klyngeprosessen vises vanligvis som et dendrogram (trediagram). HCA-algoritmer har en tendens til å ta mye beregningstid [O(n3)] og minne [O(n2)] ressurser; disse begrenser anvendeligheten av algoritmene til relativt små datasett.

HCA-algoritmer kan bruke forskjellige beregninger og koblingskriterier. Euklidisk avstand og kvadrat Euklidisk avstand er begge vanlige for numeriske data; Hamming avstand og Levenshtein avstand er vanlig for ikke-numeriske data. Enkel kobling og full kobling er vanlig; begge disse kan forenkle klyngealgoritmene (henholdsvis SLINK og CLINK). SLINK er en av de få klyngealgoritmene som garantert finner en optimal løsning.

K-betyr klynging

K-betyr klyngeproblemer prøver å dele seg n observasjoner inn i k klynger som bruker den euklidiske avstandsmetrikken, med det formål å minimere variansen (summen av kvadrater) i hver klynge. Det er en metode for vektorkvantisering, og er nyttig for funksjonslæring.

Lloyds algoritme (iterativ klyngebyggering med sentroid-oppdateringer) er den vanligste heuristikken som brukes for å løse problemet, og er relativt effektiv, men garanterer ikke global konvergens. For å forbedre det, kjører folk ofte algoritmen flere ganger ved hjelp av tilfeldige innledende klyngesentroider generert av Forgy eller Random Partition-metodene.

K-middel antar sfæriske klynger som kan skilles, slik at gjennomsnittet konvergerer mot klyngesenteret, og antar også at rekkefølgen av datapunktene ikke betyr noe. Klyngene forventes å være av samme størrelse, slik at oppdraget til nærmeste klyngesenter blir riktig oppdrag.

Heuristikken for å løse k-betyr klynger er vanligvis lik forventnings-maksimering (EM) algoritmen for Gaussiske blandingsmodeller.

Blandingsmodeller

Blandingsmodeller antar at underpopulasjonene til observasjonene tilsvarer en viss sannsynlighetsfordeling, ofte gaussiske fordelinger for numeriske observasjoner eller kategoriske fordelinger for ikke-numeriske data. Hver underpopulasjon kan ha sine egne fordelingsparametere, for eksempel gjennomsnitt og varians for Gaussiske fordelinger.

Forventningsmaksimering (EM) er en av de mest populære teknikkene som brukes til å bestemme parametrene til en blanding med et gitt antall komponenter. I tillegg til EM kan blandingsmodeller løses med Markov-kjeden Monte Carlo, momentmatching, spektralmetoder med singular value decomposition (SVD) og grafiske metoder.

Den opprinnelige blandingsmodellapplikasjonen var å skille to populasjoner av landkrabber etter forhold mellom panne og kroppslengde. Karl Pearson løste dette problemet i 1894 ved hjelp av moment matching.

En vanlig utvidelse av blandingsmodeller er å koble de latente variablene som definerer blandingskomponentidentitetene til en Markov-kjede i stedet for å anta at de er uavhengige identisk fordelte tilfeldige variabler. Den resulterende modellen kalles en skjult Markov-modell og er en av de vanligste sekvensielle hierarkiske modellene.

DBSCAN-algoritme

Tetthetsbasert romlig klynging av applikasjoner med støy (DBSCAN) er en ikke-parametrisk algoritme for dataklynger som dateres fra 1996. Den er optimalisert for bruk med databaser som kan akselerere geometriske spørringsspørsmål ved hjelp av et R * -tre eller annen geometrisk indeksstruktur .

I hovedsak klynger DBSCAN kjernepunkter som har mer enn noe minimum antall naboer innen en viss avstand Epsilon, kaster bort som poeng som ikke har naboer i Epsilon, og legger til punkter som er innenfor Epsilon som et kjernepunkt i klyngen. DBSCAN er en av de vanligste grupperingsalgoritmene, og kan finne vilkårlig formede klynger.

OPTICS algoritme

Bestilling av punkter for å identifisere klyngestrukturen (OPTICS) er en algoritme for å finne tetthetsbaserte klynger i romlige data. OPTICS ligner på DBSCAN, men håndterer saken med varierende punkttetthet.

Variasjoner av ideene i DBSCAN og OPTICS kan også brukes til enkel avviker og støyregistrering og fjerning.

Latente variable modeller

En latent variabel modell er en statistisk modell som relaterer et sett med observerbare variabler til et sett med latente (skjulte) variabler. Latente variable modeller er nyttige for å avsløre skjulte strukturer i komplekse og høydimensjonale data.

Hovedkomponentanalyse

Principal component analysis (PCA) er en statistisk prosedyre som bruker en ortogonal transformasjon for å konvertere et sett med observasjoner av mulig korrelerte numeriske variabler til et sett med verdier av lineært ukorrelerte variabler kalt hovedkomponenter. Karl Pearson oppfant PCA i 1901. PCA kan oppnås ved dekvalisjon av egenverdi av en datakovariansmatrise (eller korrelasjon) eller singular value decomposition (SVD) av en datamatrise, vanligvis etter et normaliseringstrinn av de opprinnelige dataene.

Enkel verdi nedbrytning

Singular value decomposition (SVD) er en faktorisering av en reell eller kompleks matrise. Det er en vanlig teknikk i lineær algebra, og blir ofte beregnet ved hjelp av husholdningstransformasjoner. SVD er en måte å løse hovedkomponenter på. Selv om det er fullt mulig å kode SVD fra bunnen av, er det gode implementeringer i alle de lineære algebra-bibliotekene.

Metode for øyeblikk

Metoden for øyeblikk bruker øyeblikkene til den observerte dataprøven (gjennomsnitt, varians, skjevhet og kurtose) for å estimere populasjonsparametere. Metoden er ganske enkel, kan ofte beregnes for hånd, og oppnår vanligvis global konvergens. I tilfelle av lav statistikk kan metoden for øyeblikk imidlertid noen ganger gi estimater som ligger utenfor parameterområdet. Metoden for øyeblikk er en enkel måte å løse blandingsmodeller (over).

Forventnings-maksimeringsalgoritmer

En forventnings-maksimering (EM) algoritme er en iterativ metode for å finne maksimale sannsynlighetsestimater av parametere i modeller som er avhengige av ikke-observerte latente variabler. EM-iterasjonen veksler mellom å utføre et forventningstrinn (E), som skaper en funksjon for forventningen om log-sannsynligheten som evalueres ved hjelp av gjeldende estimat for parametrene, og et maksimeringstrinn (M), som beregner parametere som maksimerer den forventede loggen. sannsynlighet funnet på E-trinnet.

EM konvergerer til et maksimalt eller sadelpunkt, men ikke nødvendigvis til det globale maksimumet. Du kan øke sjansen for å finne det globale maksimumet ved å gjenta EM-prosedyren fra mange tilfeldige innledende estimater for parametrene, eller ved å bruke metoden for øyeblikk for å bestemme de opprinnelige estimatene.

EM brukt på en Gaussisk blandingsmodell (ovenfor) kan brukes til klyngeanalyse.

Uovervåket nevrale nettverk

Nevrale nettverk trenes vanligvis på merkede data for klassifisering eller regresjon, som per definisjon overvåkes maskinlæring. De kan også trenes på umerkede data ved hjelp av forskjellige ordninger uten tilsyn.

Autokodere

Autokodere er nevrale nettverk som blir trent på deres innganger. I hovedsak er autokoderen et feed-forward-nettverk som fungerer som en kodek, som koder inngangen fra inngangslaget til et eller flere skjulte lag med et lavere neuronantall, og deretter dekoder den kodede representasjonen til et utgangslag med topologien som inngang.

Under trening bruker autokoderen forplantning av ryggen for å minimere forskjellen mellom inngang og utgang. Autokodere har blitt brukt for dimensjonsreduksjon, funksjonslæring, avstøyning, avviksdeteksjon, bildebehandling og for læring av generative modeller.

Dype trosnettverk

Dype trosnettverk (DBN) er stabler med autokodere eller begrensede Boltzmann-maskiner (RBN) som kan lære å rekonstruere deres innganger. Lagene fungerer da som funksjonsdetektorer. RBN-er blir vanligvis trent ved å bruke kontrastiv divergens.

DBN-er har blitt brukt til å generere og gjenkjenne bilder, videosekvenser og bevegelsesfangstdata.

Generative motstandernettverk

Generative adversarial nettverk (GAN) trener samtidig to nettverk, en generativ modell som fanger datadistribusjonen og en diskriminerende modell som estimerer sannsynligheten for at et utvalg kom fra treningsdataene. Opplæringen prøver å maksimere sannsynligheten for at generatoren kan lure diskriminatoren.

GAN kan brukes til å lage bilder av imaginære mennesker og forbedre astronomiske bilder. GAN har også blitt brukt til å oppskalere teksturer fra gamle videospill for bruk i høyoppløselige versjoner av spillene. Utenom tilsyn uten læring, har GAN blitt brukt med suksess for å styrke læring av spill.

Selvorganiserende kart

Det selvorganiserende kartet (SOM) definerer en bestilt kartlegging fra et sett med gitte dataelementer til et vanlig, vanligvis todimensjonalt rutenett. En modell er tilknyttet hver rutenett. Et dataelement blir kartlagt i noden hvis modell er mest lik dataelementet, dvs. har den minste avstanden fra dataelementet i noen beregninger.

Det er en rekke forholdsregler du må ta for å sikre at kartleggingen er stabil og ordnet. Ikke alle kommersielle implementeringer følger alle forholdsregler.

$config[zx-auto] not found$config[zx-overlay] not found