Programmering

Uovervåget læring forklaret

På trods af succesen med overvåget maskinindlæring og dyb læring er der en tankegang, der siger, at ikke-overvåget læring har endnu større potentiale. Læringen af ​​et overvåget læringssystem er begrænset af dets træning; dvs. et overvåget læringssystem kan kun lære de opgaver, det er uddannet til. Derimod kunne et ikke-overvåget system teoretisk opnå "kunstig generel intelligens", hvilket betyder evnen til at lære enhver opgave et menneske kan lære. Teknologien er der dog ikke endnu.

Hvis det største problem med overvåget læring er udgifterne til mærkning af træningsdataene, er det største problem med ikke-overvåget læring (hvor data ikke er mærket), at det ofte ikke fungerer særlig godt. Ikke-overvåget læring har dog sine anvendelser: Det kan undertiden være godt til at reducere dimensionaliteten af ​​et datasæt, udforske mønsteret og strukturen på dataene, finde grupper af lignende objekter og detektere afvigende og anden støj i dataene.

Generelt er det værd at prøve ikke-overvågede læringsmetoder som en del af din sonderende dataanalyse for at opdage mønstre og klynger, for at reducere dimensionerne af dine data, for at opdage latente funktioner og fjerne outliers. Uanset om du derefter har brug for at gå videre til overvåget læring eller at bruge foruddannede modeller til at foretage forudsigelser, afhænger af dine mål og dine data.

Hvad er læring uden opsyn?

Tænk på, hvordan menneskelige børn lærer. Som forælder eller lærer behøver du ikke at vise små børn hver hunde- og katteagt der er for at lære dem at genkende hunde og katte. De kan lære af et par eksempler uden meget forklaring og generalisere på egen hånd. Åh, de kan fejlagtigt kalde en Chihuahua "Kitty" første gang de ser en, men du kan rette det relativt hurtigt.

Børn klumper intuitivt grupper af ting, de ser i klasser. Et mål med ikke-overvåget læring er i det væsentlige at lade computere udvikle den samme evne. Som Alex Graves og Kelly Clancy fra DeepMind udtrykte det i deres blogindlæg, "Uovervåget læring: den nysgerrige elev,"

Uovervåget læring er et paradigme designet til at skabe autonom intelligens af belønende agenter (dvs. computerprogrammer) til at lære om de data, de observerer uden en særlig opgave i tankerne. Med andre ord lærer agenten for lærings skyld.

Potentialet for en agent, der lærer for lærings skyld, er langt større end et system, der reducerer komplekse billeder til en binær beslutning (f.eks. Hund eller kat). At afdække mønstre snarere end at udføre en foruddefineret opgave kan give overraskende og nyttige resultater, som det blev demonstreret, da forskere ved Lawrence Berkeley Lab kørte en tekstbehandlingsalgoritme (Word2vec) på flere millioner materialevidenskabelige abstrakter for at forudsige opdagelser af nye termoelektriske materialer.

Klyngemetoder

Et klyngeproblem er et ikke-overvåget læringsproblem, der beder modellen om at finde grupper med lignende datapunkter. Der er et antal klyngealgoritmer, der i øjeblikket er i brug, som har tendens til at have lidt forskellige karakteristika. Generelt ser klyngealgoritmer på metrics eller afstandsfunktionerne mellem datapunktens funktionsvektorer og grupperer derefter dem, der er "nær" hinanden. Klyngealgoritmer fungerer bedst, hvis klasserne ikke overlapper hinanden.

Hierarkisk klyngedannelse

Hierarkisk klyngeanalyse (HCA) kan være agglomerativ (du bygger klyngerne nedenfra og op startende med individuelle punkter og slutter med en enkelt klynge) eller splittende (du starter med en enkelt klynge og deler den op, indtil du afslutter med individuelle punkter). Hvis du er heldig, kan du finde et mellemliggende trin i klyngeprocessen, der afspejler en meningsfuld klassificering.

Klyngeprocessen vises normalt som et dendrogram (trædiagram). HCA-algoritmer har tendens til at tage meget beregningstid [O(n3)] og hukommelse [O(n2)] ressourcer; disse begrænser algoritmernes anvendelighed til relativt små datasæt.

HCA-algoritmer kan bruge forskellige metrics og koblingskriterier. Euklidisk afstand og kvadrat Euklidisk afstand er begge almindelige for numeriske data; Hammingafstand og Levenshtein-afstand er almindelige for ikke-numeriske data. Enkeltkobling og komplet kobling er almindelige; begge disse kan forenkle klyngealgoritmerne (henholdsvis SLINK og CLINK). SLINK er en af ​​de få klyngealgoritmer, der garanteres at finde en optimal løsning.

K-betyder klyngedannelse

K-betyder klyngeproblemer forsøger at opdele n observationer i k klynger, der bruger den euklidiske afstandsmetrik med det formål at minimere variansen (summen af ​​firkanter) inden for hver klynge. Det er en metode til vektorkvantisering og er nyttig til funktionsindlæring.

Lloyds algoritme (iterativ klyngeagglomeration med centroid-opdateringer) er den mest almindelige heuristik, der bruges til at løse problemet, og er relativt effektiv, men garanterer ikke global konvergens. For at forbedre det kører folk ofte algoritmen flere gange ved hjælp af tilfældige indledende klyngecentroider genereret ved hjælp af Forgy eller Random Partition-metoderne.

K-middel antager sfæriske klynger, der kan adskilles, så middelværdien konvergerer mod klyngecentret og antager også, at rækkefølgen af ​​datapunkterne ikke betyder noget. Klyngerne forventes at have samme størrelse, så tildelingen til det nærmeste klyngecenter er den korrekte tildeling.

Heuristikkerne til løsning af k-betyder klynger svarer normalt til forventnings-maksimering (EM) -algoritmen for Gaussiske blandingsmodeller.

Blandingsmodeller

Blandingsmodeller antager, at underpopulationerne af observationer svarer til en vis sandsynlighedsfordeling, almindeligvis gaussiske fordelinger for numeriske observationer eller kategoriske fordelinger for ikke-numeriske data. Hver underpopulation kan have sine egne fordelingsparametre, for eksempel gennemsnit og varians for Gaussiske fordelinger.

Forventningsmaksimering (EM) er en af ​​de mest populære teknikker, der bruges til at bestemme parametrene for en blanding med et givet antal komponenter. Ud over EM kan blandingsmodeller løses med Markov-kæden Monte Carlo, momentmatchning, spektralmetoder med enestående nedbrydning (SVD) og grafiske metoder.

Den oprindelige ansøgning om blandingsmodel var at adskille to populationer af krabbekrabber efter forhold mellem pande og kropslængde. Karl Pearson løste dette problem i 1894 ved hjælp af moment matching.

En almindelig udvidelse af blandingsmodeller er at forbinde de latente variabler, der definerer blandingskomponentens identiteter, i en Markov-kæde i stedet for at antage, at de er uafhængige identisk fordelte tilfældige variabler. Den resulterende model kaldes en skjult Markov-model og er en af ​​de mest almindelige sekventielle hierarkiske modeller.

DBSCAN-algoritme

Densitetsbaseret rumlig klyngning af applikationer med støj (DBSCAN) er en ikke-parametrisk dataklyngealgoritme, der stammer fra 1996. Den er optimeret til brug med databaser, der kan fremskynde geometriske forespørgsler ved hjælp af et R * -træ eller en anden geometrisk indeksstruktur .

I det væsentlige er DBSCAN-klynger centrale punkter der har mere end noget minimum antal naboer inden for en vis afstand Epsilon, kasserer som outliers point, der ikke har naboer inden for Epsilon, og tilføjer punkter, der er inden for Epsilon af et kernepunkt til den klynge. DBSCAN er en af ​​de mest almindelige klyngealgoritmer og kan finde arbitrært formede klynger.

OPTICS algoritme

Bestilling af punkter til identifikation af klyngestrukturen (OPTICS) er en algoritme til at finde tæthedsbaserede klynger i geodata. OPTICS svarer til DBSCAN, men håndterer sagen om varierende punkttæthed.

Variationer af idéerne i DBSCAN og OPTICS kan også bruges til enkel outlier og støjdetektion og fjernelse.

Latente variable modeller

En latent variabel model er en statistisk model, der relaterer et sæt observerbare variabler til et sæt latente (skjulte) variabler. Latente variable modeller er nyttige til afsløring af skjulte strukturer i komplekse og højdimensionale data.

Hovedkomponentanalyse

Principal component analysis (PCA) er en statistisk procedure, der bruger en ortogonal transformation til at konvertere et sæt observationer af muligvis korrelerede numeriske variabler til et sæt værdier af lineært ukorrelerede variabler kaldet hovedkomponenter. Karl Pearson opfandt PCA i 1901. PCA kan opnås ved egenværdi-nedbrydning af en datakovarians (eller korrelation) -matrix eller en-værdisnedbrydning (SVD) af en datamatrix, normalt efter et normaliseringstrin af de oprindelige data.

Enkel værdi nedbrydning

Singular value decomposition (SVD) er en faktorisering af en reel eller kompleks matrix. Det er en almindelig teknik i lineær algebra og beregnes ofte ved hjælp af husholdertransformationer. SVD er en måde at løse hovedkomponenter på. Selvom det er perfekt muligt at kode SVD fra bunden, er der gode implementeringer i alle de lineære algebra-biblioteker.

Metode til øjeblikke

Metoden med øjeblikke bruger momentene i den observerede dataprøve (gennemsnit, varians, skævhed og kurtose) til at estimere befolkningsparametre. Metoden er ret enkel, kan ofte beregnes manuelt og opnår normalt global konvergens. I tilfælde af lave statistikker kan metoden for øjeblikke dog undertiden producere estimater, der ligger uden for parameterområdet. Metoden til øjeblikke er en nem måde at løse blandingsmodeller på (ovenfor).

Forventnings-maksimeringsalgoritmer

En forventnings-maksimering (EM) algoritme er en iterativ metode til at finde maksimale sandsynlighedsestimater for parametre i modeller, der afhænger af ikke-observerede latente variabler. EM-iteration veksler mellem at udføre et forventningstrin (E), som skaber en funktion til forventningen om den log-sandsynlighed, der evalueres ved hjælp af det aktuelle estimat for parametrene, og et maksimeringstrin (M), der beregner parametre, der maksimerer den forventede log- sandsynligheden findes på E-trinnet.

EM konvergerer til et maksimalt eller sadelpunkt, men ikke nødvendigvis til det globale maksimum. Du kan øge chancen for at finde det globale maksimum ved at gentage EM-proceduren fra mange tilfældige indledende estimater for parametrene eller ved at bruge metoden med øjeblikke til at bestemme de indledende estimater.

EM anvendt på en Gaussisk blandingsmodel (ovenfor) kan bruges til klyngeanalyse.

Uovervågede neurale netværk

Neurale netværk trænes normalt i mærkede data til klassificering eller regression, hvilket pr. Definition overvåges maskinindlæring. De kan også trænes i umærkede data ved hjælp af forskellige ordninger, der ikke er under opsyn.

Autokodere

Autokodere er neurale netværk, der trænes i deres input. I det væsentlige er autokoderen et feed-forward-netværk, der fungerer som en codec, der koder dets input fra inputlaget til et eller flere skjulte lag med et lavere neuronantal og derefter afkoder den kodede repræsentation til et outputlag med topologien som input.

Under træning bruger autoencoderen spredning af ryg for at minimere forskellen mellem input og output. Autokodere er blevet brugt til dimensionalitetsreduktion, funktionsindlæring, afstøjning, anomaliedetektion, billedbehandling og til læring af generative modeller.

Dybe trosnetværk

Deep belief-netværk (DBN'er) er stakke af autokodere eller begrænsede Boltzmann-maskiner (RBN'er), der kan lære at rekonstruere deres input. Lagene fungerer derefter som funktionsdetektorer. RBN'er trænes normalt ved hjælp af kontrastdivergens.

DBN'er er blevet brugt til at generere og genkende billeder, videosekvenser og motion-capture-data.

Generative kontradiktoriske netværk

Generative adversarial netværk (GAN'er) træner samtidigt to netværk, en generativ model, der fanger datadistributionen og en diskriminerende model, der estimerer sandsynligheden for, at en prøve kom fra træningsdataene. Uddannelsen forsøger at maksimere sandsynligheden for, at generatoren kan narre diskriminatoren.

GAN'er kan bruges til at skabe fotos af imaginære mennesker og forbedre astronomiske billeder. GAN'er er også blevet brugt til at opskalere teksturer fra gamle videospil til brug i højopløsningsversioner af spillene. Uden for ikke-overvåget læring er GAN'er blevet anvendt til forstærkning af læring af spil.

Selvorganiserende kort

Det selvorganiserende kort (SOM) definerer en ordnet kortlægning fra et sæt givne dataelementer på et almindeligt, normalt todimensionelt gitter. En model er knyttet til hver gitterknude. Et dataelement kortlægges i noden, hvis model mest ligner dataelementet, dvs. har den mindste afstand fra dataelementet i en eller anden metrisk.

Der er en række forholdsregler, du skal tage for at sikre, at kortlægningerne er stabile og ordnede. Ikke alle kommercielle implementeringer følger alle forholdsreglerne.