Programování

Vysvětlení bez dozoru

Navzdory úspěchu strojového učení pod dohledem a hlubokého učení existuje myšlenková škola, která říká, že učení bez dozoru má ještě větší potenciál. Učení systému pod dohledem je omezeno jeho tréninkem; tj. supervizovaný systém učení se může naučit pouze ty úkoly, pro které je vyškolen. Naproti tomu by systém bez dozoru mohl teoreticky dosáhnout „umělé obecné inteligence“, což znamená schopnost naučit se jakýkoli úkol, který se člověk může naučit. Tato technologie tam však zatím není.

Pokud největším problémem s kontrolovaným učením jsou výdaje na označování tréninkových dat, největším problémem s nekontrolovaným učením (kde data nejsou označena) je, že často nefunguje příliš dobře. Přesto má učení bez použití své využití: Někdy může být dobré snížit dimenzi souboru dat, prozkoumat vzor a strukturu dat, najít skupiny podobných objektů a detekovat odlehlé hodnoty a další šum v datech.

Obecně stojí za to vyzkoušet metody učení bez dozoru jako součást vaší průzkumné analýzy dat, abyste objevili vzory a shluky, snížili rozměr svých dat, objevili latentní funkce a odstranili odlehlé hodnoty. Zda pak budete muset přejít k učení pod dohledem nebo k použití předškolených modelů k provádění předpovědí, záleží na vašich cílech a vašich datech.

Co je učení bez dozoru?

Přemýšlejte o tom, jak se lidské děti učí. Jako rodič nebo učitel nemusíte malým dětem ukazovat každé plemeno psů a koček, abyste je naučili rozpoznávat psy a kočky. Mohou se poučit z několika příkladů, aniž by to hodně vysvětlovali, a zobecňovat sami. Mohli by omylem nazvat čivavu „Kitty“, když ji poprvé uvidí, ale můžete to napravit relativně rychle.

Děti intuitivně skládají do tříd skupiny věcí, které vidí. Jedním z cílů učení bez dozoru je v zásadě umožnit počítačům rozvíjet stejné schopnosti. Jak uvedli Alex Graves a Kelly Clancy ze společnosti DeepMind ve svém příspěvku na blogu: „Neomezené učení: zvědavý žák,“

Učení bez dozoru je paradigma navržené k vytváření autonomní inteligence odměňováním agentů (tj. Počítačových programů) pro učení o datech, která pozorují, bez konkrétního úkolu. Jinými slovy, agent se učí kvůli učení.

Potenciál agenta, který se učí kvůli učení, je mnohem větší než systém, který redukuje složité obrázky na binární rozhodnutí (např. Pes nebo kočka). Odhalování vzorů, nikoli provádění předem definovaného úkolu, může přinést překvapivé a užitečné výsledky, jak se ukázalo, když vědci z laboratoře Lawrence Berkeley Lab provedli algoritmus zpracování textu (Word2vec) na několika milionech abstraktů materiálových věd, aby předpovídali objevy nových termoelektrických materiálů.

Metody shlukování

Problém shlukování je problém s učením bez kontroly, který model žádá, aby našel skupiny podobných datových bodů. V současné době se používá řada clusterovacích algoritmů, které mají obvykle mírně odlišné vlastnosti. Obecně se shlukovací algoritmy dívají na metriky nebo funkce vzdálenosti mezi vektory funkcí datových bodů a poté seskupují ty, které jsou „blízko“. Algoritmy shlukování fungují nejlépe, pokud se třídy nepřekrývají.

Hierarchické shlukování

Hierarchická klastrová analýza (HCA) může být aglomerativní (vytváříte klastry zdola nahoru počínaje jednotlivými body a končící jedním klastrem) nebo dělící (začínáte s jedním klastrem a rozdělujete ho, dokud se neskončíte s jednotlivými body). Pokud budete mít štěstí, můžete najít mezistupeň procesu shlukování, který odráží smysluplnou klasifikaci.

Proces shlukování se obvykle zobrazuje jako dendrogram (stromový diagram). Algoritmy HCA mají tendenci trvat hodně výpočetního času [Ó(n3)] a paměť [Ó(n2)] zdroje; tyto omezují použitelnost algoritmů na relativně malé soubory dat.

Algoritmy HCA mohou používat různé metriky a kritéria propojení. Euklidova vzdálenost a druhá mocnina Euklidova vzdálenost jsou pro číselná data běžná; Hammingova vzdálenost a Levenshteinova vzdálenost jsou běžné pro nečíselná data. Běžná je jednoduchá vazba a úplná vazba; oba mohou zjednodušit shlukovací algoritmy (SLINK a CLINK). SLINK je jedním z mála clusterovacích algoritmů, které zaručeně najdou optimální řešení.

K znamená shlukování

Problém shlukování k-means se pokouší rozdělit n pozorování do k klastry využívající euklidovskou metriku vzdálenosti s cílem minimalizovat rozptyl (součet čtverců) v každém klastru. Jedná se o metodu vektorové kvantizace a je užitečná pro učení funkcí.

Lloydův algoritmus (iterativní klastrová aglomerace s aktualizacemi centroidů) je nejběžnější heuristika používaná k řešení problému a je relativně efektivní, ale nezaručuje globální konvergenci. Aby to vylepšili, lidé často spouštějí algoritmus několikrát pomocí náhodných počátečních centroidů clusteru generovaných metodami Forgy nebo Random Partition.

K-means předpokládá sférické klastry, které jsou oddělitelné, takže průměr konverguje směrem ke středu klastru, a také předpokládá, že na pořadí datových bodů nezáleží. Očekává se, že klastry budou mít podobnou velikost, takže přiřazení k nejbližšímu středu klastru je správné přiřazení.

Heuristika pro řešení k-means klastrů je obvykle podobná algoritmu očekávání-maximalizace (EM) pro modely Gaussovy směsi.

Modely směsí

Modely směsí předpokládají, že subpopulace pozorování odpovídají určitému rozdělení pravděpodobnosti, běžně Gaussovu rozdělení pro numerická pozorování nebo kategorickému rozdělení pro nečíselná data. Každá subpopulace může mít své vlastní distribuční parametry, například průměr a rozptyl pro Gaussovy distribuce.

Maximalizace očekávání (EM) je jednou z nejpopulárnějších technik používaných k určení parametrů směsi s daným počtem složek. Kromě EM lze modely směsí řešit pomocí Markovova řetězce Monte Carlo, porovnávání momentů, spektrálních metod s rozkladem singulární hodnoty (SVD) a grafických metod.

Původní aplikace modelu směsi měla oddělit dvě populace pobřežních krabů poměry délky čela k tělu. Karl Pearson vyřešil tento problém v roce 1894 pomocí párování momentů.

Běžným rozšířením modelů směsí je připojení latentních proměnných definujících identity složek směsi do řetězce Markov namísto předpokládání, že se jedná o nezávislé identicky distribuované náhodné proměnné. Výsledný model se nazývá skrytý Markovův model a je jedním z nejběžnějších sekvenčních hierarchických modelů.

Algoritmus DBSCAN

Hustota založené na prostorovém shlukování aplikací se šumem (DBSCAN) je neparametrický algoritmus shlukování dat, který se datuje od roku 1996. Je optimalizován pro použití s ​​databázemi, které mohou urychlit dotazy na geometrické oblasti pomocí stromu R * nebo jiné struktury geometrického indexu. .

V podstatě klastry DBSCAN základní body které mají více než nějaký minimální počet sousedů v určité vzdálenosti Epsilon, zahodí jako odlehlé body, které nemají žádné sousedy v Epsilonu, a přidá body, které jsou v Epsilonu základního bodu do tohoto klastru. DBSCAN je jedním z nejběžnějších klastrových algoritmů a může najít libovolně tvarované klastry.

Algoritmus OPTICS

Řazení bodů k identifikaci shlukovací struktury (OPTICS) je algoritmus pro hledání shluků založených na hustotě v prostorových datech. OPTICS je podobný DBSCAN, ale zvládá případy s různou hustotou bodů.

Varianty nápadů v DBSCAN a OPTICS lze také použít pro jednoduchou detekci odlehlých hodnot a hluk a odstranění.

Latentní variabilní modely

Model latentní proměnné je statistický model, který spojuje sadu pozorovatelných proměnných se sadou latentních (skrytých) proměnných. Latentní variabilní modely jsou užitečné pro odhalení skrytých struktur ve složitých a vysoce dimenzionálních datech.

Analýza hlavních komponent

Analýza hlavních komponent (PCA) je statistický postup, který používá ortogonální transformaci k převodu sady pozorování případně korelovaných numerických proměnných na sadu hodnot lineárně nekorelovaných proměnných nazývaných hlavní komponenty. Karl Pearson vynalezl PCA v roce 1901. PCA lze dosáhnout rozkladem vlastní hodnoty datové kovarianční (nebo korelační) matice nebo rozkladem singulární hodnoty (SVD) datové matice, obvykle po normalizaci počátečních dat.

Rozklad singulární hodnoty

Dekompozice singulární hodnoty (SVD) je faktorizace skutečné nebo komplexní matice. Je to běžná technika v lineární algebře a často se počítá pomocí transformací Householder. SVD je jedním ze způsobů řešení hlavních komponent. I když je naprosto možné kódovat SVD od nuly, ve všech knihovnách lineární algebry existují dobré implementace.

Metoda momentů

Metoda momentů používá k odhadu populačních parametrů momenty pozorovaného vzorku dat (průměr, rozptyl, šikmost a špičatost). Metoda je poměrně jednoduchá, lze ji často vypočítat ručně a obvykle dosahuje globální konvergence. V případě nízké statistiky však metoda momentů může někdy vytvořit odhady, které jsou mimo prostor parametrů. Metoda momentů je snadný způsob řešení modelů směsí (výše).

Algoritmy maximalizace očekávání

Algoritmus očekávání - maximalizace (EM) je iterativní metoda k nalezení odhadů maximální pravděpodobnosti parametrů v modelech, které závisí na nepozorovaných latentních proměnných. EM iterace se střídá mezi provedením kroku očekávání (E), který vytvoří funkci pro očekávání logaritmické pravděpodobnosti vyhodnocené pomocí aktuálního odhadu parametrů, a krokem maximalizace (M), který vypočítá parametry maximalizující očekávaný log- pravděpodobnost nalezena na E kroku.

EM konverguje na maximum nebo sedlový bod, ale ne nutně na globální maximum. Pravděpodobnost nalezení globálního maxima můžete zvýšit opakováním postupu EM z mnoha náhodných počátečních odhadů pro parametry nebo použitím momentové metody k určení počátečních odhadů.

EM aplikovaný na model Gaussovy směsi (výše) lze použít pro klastrovou analýzu.

Neřízené neuronové sítě

Neuronové sítě jsou obvykle trénovány na označených datech pro klasifikaci nebo regresi, což je podle definice strojové učení pod dohledem. Mohou být také vyškoleni na neoznačených datech pomocí různých schémat bez dozoru.

Autoencoders

Autoencoders jsou neuronové sítě, které jsou trénovány na jejich vstupech. Autoencoder je v zásadě síť pro předávání dopředu, která funguje jako kodek a kóduje svůj vstup ze vstupní vrstvy do jedné nebo více skrytých vrstev s nižším počtem neuronů a poté dekóduje zakódovanou reprezentaci do výstupní vrstvy s topologií jako vstup.

Během tréninku používá autoencoder zpětné šíření k minimalizaci rozdílu mezi vstupem a výstupem. Autoencoders byly použity pro redukci rozměrů, učení funkcí, odstranění šumu, detekci anomálií, zpracování obrazu a pro učení generativních modelů.

Sítě s hlubokým přesvědčením

Sítě s hlubokou vírou (DBN) jsou hromady automatických kódovačů nebo omezených Boltzmannových strojů (RBN), které se mohou naučit rekonstruovat své vstupy. Vrstvy pak fungují jako detektory funkcí. RBN se obvykle trénují pomocí kontrastní divergence.

DBN byly použity pro generování a rozpoznávání obrázků, videosekvencí a dat pro zachycení pohybu.

Generativní nepřátelské sítě

Generativní nepřátelské sítě (GAN) současně trénují dvě sítě, generativní model, který zachycuje distribuci dat a diskriminační model, který odhaduje pravděpodobnost, že vzorek pochází z tréninkových dat. Výcvik se pokouší maximalizovat pravděpodobnost, že generátor může oklamat diskriminátora.

Sítě GAN lze použít k vytváření fotografií imaginárních lidí a ke zlepšování astronomických snímků. GAN byly také použity k zvětšení textury ze starých videoher pro použití ve verzích her s vysokým rozlišením. Kromě učení bez dohledu byly GAN úspěšně použity k posílení učení hraní her.

Samoorganizující se mapa

Samoorganizující se mapa (SOM) definuje uspořádané mapování ze sady daných datových položek do pravidelné, obvykle dvourozměrné mřížky. Ke každému uzlu mřížky je přidružen model. Datová položka bude mapována do uzlu, jehož model je nejpodobnější datové položce, tj. Má v nějaké metrice nejmenší vzdálenost od datové položky.

Existuje několik opatření, která musíte udělat, abyste zajistili, že mapování jsou stabilní a dobře uspořádaná. Ne všechna komerční implementace dodržují všechna preventivní opatření.