Strojové učení - Machine learning

Strojové učení ( ML ) je studium počítačových algoritmů, které se mohou automaticky zlepšovat díky zkušenostem a používáním dat. Je vnímána jako součást umělé inteligence . Algoritmy strojového učení vytvářejí model založený na ukázkových datech, známých jako „ tréninková data “, za účelem provádění předpovědí nebo rozhodování, aniž by k tomu byli výslovně naprogramováni. Algoritmy strojového učení se používají v celé řadě aplikací, například v medicíně, filtrování e -mailů , rozpoznávání řeči a počítačovém vidění , kde je obtížné nebo nerealizovatelné vyvinout konvenční algoritmy k plnění potřebných úkolů.

Podskupina strojového učení úzce souvisí s výpočetní statistikou , která se zaměřuje na vytváření předpovědí pomocí počítačů; ale ne všechno strojové učení je statistické učení. Studium matematické optimalizace přináší metody, teorii a aplikační oblasti do oblasti strojového učení. Dolování dat je příbuzný studijní obor, který se zaměřuje na průzkumnou analýzu dat prostřednictvím učení bez dozoru . Některé implementace strojového učení využívají data a neurální sítě způsobem, který napodobuje práci biologického mozku. Strojové učení je ve své aplikaci napříč obchodními problémy označováno také jako prediktivní analytika .

Přehled

Učební algoritmy fungují na základě toho, že strategie, algoritmy a závěry, které v minulosti dobře fungovaly, pravděpodobně budou dobře fungovat i v budoucnosti. Tyto závěry mohou být zřejmé, například „protože slunce posledních 10 000 dní každé ráno vycházelo, pravděpodobně vyjde i zítra ráno“. Mohou být jemné, například „X% rodin má geograficky oddělené druhy s barevnými variantami, takže existuje Y% šance, že existují neobjevené černé labutě “.

Programy strojového učení mohou provádět úkoly, aniž by k tomu byly výslovně naprogramovány. Zahrnuje učení počítačů z poskytnutých dat, aby mohly provádět určité úkoly. Pro jednoduché úkoly přiřazené počítačům je možné naprogramovat algoritmy, které stroji řeknou, jak provést všechny kroky potřebné k vyřešení problému; na straně počítače není potřeba žádné učení. Pro pokročilejší úkoly může být pro člověka náročné ručně vytvořit potřebné algoritmy. V praxi se může ukázat efektivnější pomoci stroji vyvinout vlastní algoritmus, než aby lidští programátoři specifikovali každý potřebný krok.

Disciplína strojového učení využívá různé přístupy k výuce počítačů k plnění úkolů, kde není k dispozici plně uspokojivý algoritmus. V případech, kdy existuje velké množství potenciálních odpovědí, je jedním přístupem označit některé správné odpovědi jako platné. To pak lze použít jako tréninková data pro počítač ke zlepšení algoritmů, které používá k určování správných odpovědí. Například pro výcvik systému pro úlohu digitálního rozpoznávání znaků se často používá datová sada MNIST ručně psaných číslic.

Historie a vztahy k jiným oborům

Pojem strojové učení vytvořil v roce 1959 Arthur Samuel , americký IBMer a průkopník v oblasti počítačových her a umělé inteligence . V tomto období se také používalo synonymum samoučících počítačů . Reprezentativní knihou výzkumu strojového učení v 60. letech byla Nilssonova kniha o Learning Machines, zabývající se převážně strojovým učením pro klasifikaci vzorů. Zájem související s rozpoznáváním vzorů pokračoval do sedmdesátých let, jak popsali Duda a Hart v roce 1973. V roce 1981 byla podána zpráva o používání výukových strategií, aby se neurální síť naučila rozpoznávat 40 znaků (26 písmen, 10 číslic a 4 speciální symboly) ) z počítačového terminálu.

Tom M. Mitchell poskytl široce citovanou, formálnější definici algoritmů studovaných v oblasti strojového učení: „O počítačovém programu se říká, že se učí ze zkušenosti E s ohledem na nějakou třídu úkolů T a míru výkonu P, pokud je její výkon v úkolech v T , měřeno P , se zlepšuje se zkušeností E. “ Tato definice úkolů, jimiž se strojové učení týká, nabízí spíše operativní definici než definování oboru kognitivními pojmy. Vyplývá to z návrhu Alana Turinga v jeho článku „ Výpočetní technika a inteligence “, ve kterém je otázka „Mohou stroje myslet?“ je nahrazena otázkou „Mohou stroje dělat to, co my (jako myslící entity)?“.

Moderní strojové učení má dva cíle, jedním je klasifikace dat na základě modelů, které byly vyvinuty, druhým účelem je predikce budoucích výsledků na základě těchto modelů. Hypotetický algoritmus specifický pro klasifikaci dat může využívat počítačové vidění krtků spojené s učením pod dohledem, aby ho vycvičil ke klasifikaci rakovinných krtků. Kde jako, může algoritmus strojového učení pro obchodování s akciemi informovat obchodníka o budoucích potenciálních předpovědích.

Umělá inteligence

Strojové učení jako podpolí AI
Část strojového učení jako podpole AI nebo část AI jako podoblast strojového učení

Jako vědecké úsilí vyrostlo strojové učení z hledání umělé inteligence. V počátcích AI jako akademické disciplíny měli někteří vědci zájem na tom, aby se stroje učily z dat. Pokoušeli se přiblížit problém různými symbolickými metodami a také tím, čemu se tehdy říkalo „ neurální sítě “; většinou se jednalo o perceptrony a další modely, u nichž se později zjistilo, že jde o reinvence generalizovaných lineárních modelů statistiky. Bylo také použito pravděpodobnostní uvažování, zejména v automatizované lékařské diagnostice .

Rostoucí důraz na logický přístup založený na znalostech však způsobil rozpor mezi AI a strojovým učením. Pravděpodobnostní systémy byly sužovány teoretickými a praktickými problémy získávání a reprezentace dat. V roce 1980 začaly v oblasti AI dominovat expertní systémy a statistiky nebyly příznivé. Práce na symbolickém/znalostním učení v AI pokračovaly, což vedlo k indukčnímu logickému programování , ale statističtější linie výzkumu byla nyní mimo oblast vlastní AI v rozpoznávání vzorů a získávání informací . Výzkum neurálních sítí opustil AI a počítačová věda přibližně ve stejnou dobu. I v této linii pokračovali mimo oblast AI/CS jako „ konekcionismus “ vědci z jiných oborů včetně Hopfielda , Rumelharta a Hintona . Jejich hlavní úspěch přišel v polovině osmdesátých let s reinvencí zpětného šíření .

Strojové učení (ML), reorganizované jako samostatný obor, začalo vzkvétat v 90. letech minulého století. Pole změnilo svůj cíl od dosažení umělé inteligence po řešení řešitelných problémů praktické povahy. Přesunul pozornost od symbolických přístupů , které zdědil po AI, směrem k metodám a modelům převzatým ze statistik a teorie pravděpodobnosti .

Od roku 2020 mnoho zdrojů nadále tvrdí, že strojové učení zůstává podoblastí AI. Hlavní neshoda spočívá v tom, zda je celé ML součástí AI, protože to by znamenalo, že každý, kdo používá ML, by mohl tvrdit, že používá AI. Jiní zastávají názor, že ne všechny ML jsou součástí AI, kde je součástí AI pouze „inteligentní“ podmnožina ML.

Na otázku, jaký je rozdíl mezi ML a AI, odpovídá Judea Pearl v The Book of Why . V souladu s tím se ML učí a předpovídá na základě pasivních pozorování, zatímco AI znamená, že agent interaguje s prostředím, aby se učil a přijímal opatření, která maximalizují jeho šanci úspěšně dosáhnout svých cílů.

Těžba dat

Strojové učení a dolování dat často používají stejné metody a výrazně se překrývají, ale zatímco strojové učení se zaměřuje na predikci založenou na známých vlastnostech získaných z tréninkových dat, dolování dat se zaměřuje na objevování (dříve) neznámých vlastností v datech (to je krok analýzy zjišťování znalostí v databázích). Data mining využívá mnoho metod strojového učení, ale s různými cíli; na druhé straně strojové učení také využívá metody dolování dat jako „učení bez dozoru“ nebo jako krok předzpracování ke zlepšení přesnosti studentů. Velká část zmatku mezi těmito dvěma výzkumnými komunitami (které často mají samostatné konference a samostatné časopisy, ECML PKDD je hlavní výjimkou) pochází ze základních předpokladů, se kterými pracují: ve strojovém učení je výkon obvykle hodnocen s ohledem na schopnost reprodukovat známé znalosti, zatímco při zjišťování znalostí a těžbě dat (KDD) je klíčovým úkolem objevení dosud neznámých znalostí. Vyhodnoceno s ohledem na známé znalosti, neinformovaná (bez dohledu) metoda bude snadno překonána jinými kontrolovanými metodami, zatímco v typickém úkolu KDD nelze supervidované metody použít kvůli nedostupnosti tréninkových dat.

Optimalizace

Strojové učení má také úzké vazby na optimalizaci : mnoho problémů s učením je formulováno jako minimalizace některé ztrátové funkce na tréninkové sadě příkladů. Ztrátové funkce vyjadřují rozpor mezi predikcemi trénovaného modelu a skutečnými problémovými instancemi (například při klasifikaci chce člověk instancím přiřadit štítek a modely jsou vyškoleny, aby správně předpovídaly předem přiřazené popisky sady příklady).

Zobecnění

Rozdíl mezi optimalizací a strojovým učením vyplývá z cíle generalizace: zatímco optimalizační algoritmy mohou minimalizovat ztráty na tréninkové sadě, strojové učení se zabývá minimalizací ztráty na neviditelných vzorcích. Charakterizace generalizace různých výukových algoritmů je aktivním tématem současného výzkumu, zejména pro algoritmy hlubokého učení .

Statistika

Strojové učení a statistika jsou z hlediska metod blízce příbuznými obory, ale liší se v jejich hlavním cíli: statistiky vyvozují závěry populace ze vzorku , zatímco strojové učení nachází generalizovatelné prediktivní vzorce. Podle Michaela I.Jordana mají myšlenky strojového učení od metodologických principů po teoretické nástroje ve statistikách dlouhou historii. Navrhl také termín datová věda jako zástupný symbol pro volání celého pole.

Leo Breiman rozlišoval dvě paradigmata statistického modelování: datový model a algoritmický model, kde „algoritmický model“ znamená víceméně algoritmy strojového učení, jako je Random Forest .

Někteří statistici přijali metody ze strojového učení, což vedlo ke kombinovanému oboru, kterému říkají statistické učení .

Teorie

Hlavním cílem studenta je zobecnit jeho zkušenosti. Zobecnění v tomto kontextu je schopnost učícího stroje provádět přesně nové, neviditelné příklady/úkoly poté, co zažila sadu dat učení. Tréninkové příklady pocházejí z nějakého obecně neznámého rozdělení pravděpodobnosti (považováno za reprezentativní pro prostor výskytů) a žák si musí o tomto prostoru vytvořit obecný model, který mu umožní vytvářet dostatečně přesné předpovědi v nových případech.

Výpočetní analýza algoritmů strojového učení a jejich výkon je obor teoretické informatiky známý jako teorie výpočetního učení . Protože tréninkové sady jsou konečné a budoucnost je nejistá, teorie učení obvykle neposkytuje záruky výkonnosti algoritmů. Místo toho jsou pravděpodobnostní meze výkonu zcela běžné. Bias-variance rozklad je jeden způsob, jak kvantifikovat generalizace chyby .

Pro nejlepší výkon v kontextu generalizace by složitost hypotézy měla odpovídat složitosti funkce, která je podkladem dat. Pokud je hypotéza méně složitá než funkce, pak model data podhodnocuje. Pokud se v reakci na to zvýší složitost modelu, pak se chyba tréninku sníží. Pokud je ale hypotéza příliš složitá, model podléhá nadměrnému vybavení a generalizace bude chudší.

Kromě limitů výkonu studují teoretici učení také časovou složitost a proveditelnost učení. V teorii výpočetního učení je výpočet považován za proveditelný, pokud jej lze provést v polynomiálním čase . Existují dva druhy výsledků časové složitosti . Pozitivní výsledky ukazují, že určitou třídu funkcí lze naučit v polynomiálním čase. Negativní výsledky ukazují, že určité třídy nelze naučit v polynomiálním čase.

Přístupy

Přístupy strojového učení jsou tradičně rozděleny do tří širokých kategorií v závislosti na povaze „signálu“ nebo „zpětné vazby“, které má učební systém k dispozici:

  • Učení pod dohledem : Počítači jsou předloženy ukázkové vstupy a jejich požadované výstupy dané „učitelem“ a cílem je naučit se obecné pravidlo, které mapuje vstupy na výstupy.
  • Učení bez dozoru : Algoritmu učení není přidělován žádný štítek, takže jej sám najde ve svém vstupu. Učení bez dozoru může být samo o sobě cílem (objevování skrytých vzorců v datech) nebo prostředkem ke konci ( učení funkcí ).
  • Posílení učení : Počítačový program interaguje s dynamickým prostředím, ve kterém musí splnit určitý cíl (například řízení vozidla nebo hraní hry proti soupeři). Při navigaci v problémovém prostoru je programu poskytována zpětná vazba, která je analogická odměnám, které se snaží maximalizovat.

Učení pod dohledem

Podpora-vektor stroj je učení s učitelem model, který rozděluje data do oblastí oddělené lineární hranice . Zde lineární hranice rozděluje černé kruhy od bílých.

Algoritmy supervizního učení vytvářejí matematický model sady dat, která obsahuje jak vstupy, tak požadované výstupy. Data jsou známá jako tréninková data a skládají se ze sady příkladů školení. Každý příklad školení má jeden nebo více vstupů a požadovaný výstup, známý také jako dohledový signál. V matematickém modelu je každý příklad tréninku reprezentován polem nebo vektorem, někdy nazývaným vektor funkcí, a tréninková data jsou reprezentována maticí . Prostřednictvím iterativní optimalizace po dosažení cílové funkce , pod dohledem učí algoritmy naučit funkci, která může být použita k předpovídání výstupu spojené s novými vstupy. Optimální funkce umožní algoritmu správně určit výstup pro vstupy, které nebyly součástí tréninkových dat. Algoritmus, který v průběhu času zlepšuje přesnost svých výstupů nebo předpovědí, se prý naučil tento úkol provádět.

Mezi typy algoritmů učení pod dohledem patří aktivní učení , klasifikace a regrese . Klasifikační algoritmy se používají, pokud jsou výstupy omezeny na omezenou sadu hodnot, a regresní algoritmy se používají, pokud výstupy mohou mít jakoukoli číselnou hodnotu v rozsahu. Například v případě klasifikačního algoritmu, který filtruje e -maily, bude vstupem příchozí e -mail a výstupem název složky, do které se má e -mail uložit.

Učení podobnosti je oblast kontrolovaného strojového učení, která úzce souvisí s regresí a klasifikací, ale cílem je naučit se z příkladů pomocí funkce podobnosti, která měří, jak podobné nebo související dva objekty jsou. Má aplikace v žebříčku , systémy doporučení , vizuální sledování identity, ověřování obličeje a ověřování řečníka.

Učení bez dozoru

Algoritmy učení bez dozoru přebírají sadu dat, která obsahuje pouze vstupy, a nacházejí v datech strukturu, například seskupování nebo seskupování datových bodů. Algoritmy se proto učí z testovacích dat, která nebyla označena, klasifikována ani kategorizována. Algoritmy učení bez dozoru místo toho, aby reagovaly na zpětnou vazbu, identifikují společné znaky v datech a reagují na základě přítomnosti nebo nepřítomnosti těchto společných rysů v každém novém datu. Centrální aplikace učení bez dozoru je v oblasti odhadu hustoty ve statistikách , jako je například nalezení funkce hustoty pravděpodobnosti . Ačkoli učení bez dozoru zahrnuje další domény zahrnující shrnutí a vysvětlení datových funkcí.

Klastrová analýza je přiřazení sady pozorování do podmnožin (nazývaných klastry ) tak, aby pozorování v rámci stejného klastru byla podobná podle jednoho nebo více předem určených kritérií, zatímco pozorování čerpaná z různých klastrů jsou rozdílná. Různé techniky shlukování vytvářejí různé předpoklady o struktuře dat, často definované nějakou metrikou podobnosti a hodnocené například vnitřní kompaktností nebo podobností mezi členy stejného klastru a separací , rozdílem mezi klastry. Další metody jsou založeny na odhadované hustotě a grafickém připojení .

Učení pod dohledem

Semi supervidované učení spadá mezi učení bez dozoru (bez jakýchkoli označených údajů o školení) a učení pod dohledem (s kompletně označenými údaji o školení). U některých příkladů školení chybí popisy školení, přesto mnoho výzkumníků strojového učení zjistilo, že neoznačená data, pokud jsou použita ve spojení s malým množstvím označených dat, mohou přinést značné zlepšení přesnosti učení.

Při slabě kontrolovaném učení jsou popisky školení hlučné, omezené nebo nepřesné; získání těchto štítků je však často levnější, což má za následek větší efektivní tréninkové sady.

Posílení učení

Posilovací učení je oblast strojového učení, která se zabývá tím, jak by softwaroví agenti měli provádět akce v prostředí, aby maximalizovali představu o kumulativní odměně. Vzhledem ke své obecnosti, pole je studován v mnoha jiných oborů, jako je teorie her , teorie řízení , operační výzkum , informační teorie , optimalizaci simulační bázi , multiagentní systémy , inteligence roje , statistik a genetických algoritmů . Ve strojovém učení je prostředí obvykle reprezentováno jako Markovův rozhodovací proces (MDP). Mnoho algoritmů učení posilování používá techniky dynamického programování . Algoritmy učení vyztužení nepředpokládají znalost přesného matematického modelu MDP a používají se, pokud jsou přesné modely neproveditelné. Algoritmy učení posílení se používají v autonomních vozidlech nebo při učení se hrát hru proti lidskému soupeři.

Redukce rozměrů

Redukce dimenzionality je proces snížení počtu uvažovaných náhodných proměnných získáním sady hlavních proměnných. Jinými slovy, je to proces zmenšování dimenze sady funkcí, nazývaný také „počet funkcí“. Většinu technik snižování rozměrů lze považovat buď za eliminaci funkcí, nebo za extrakci. Jednou z populárních metod snižování rozměrů je analýza hlavních komponent (PCA). PCA zahrnuje změnu dat vyššího rozměru (např. 3D) na menší prostor (např. 2D). Výsledkem je menší dimenze dat (2D místo 3D), při zachování všech původních proměnných v modelu beze změny dat. Potrubí hypotéza navrhuje, aby datové soubory s vysokými rozměrný leží podél nízkodimenzionálních rozdělovačů a mnoho technik pro snížení počtu rozměrů, aby tento předpoklad, vedoucí k oblasti rozdělovače učení a potrubí regularizace .

Jiné typy

Byly vyvinuty další přístupy, které úhledně nezapadají do této trojnásobné kategorizace, a někdy stejný systém strojového učení používá více než jeden. Například modelování témat , meta učení .

Od roku 2020 se hloubkové učení stalo dominantním přístupem pro mnoho pokračujících prací v oblasti strojového učení.

Sebevzdělávání

Samoučení jako paradigma strojového učení bylo zavedeno v roce 1982 spolu s neurální sítí schopnou samoučení pojmenovanou crossbar adaptive array (CAA). Je to učení bez externích odměn a bez rad externích učitelů. Algoritmus samoučícího se CAA vypočítává v příčném směru rozhodnutí o akcích a emoce (pocity) o následných situacích. Systém je řízen interakcí mezi poznáním a emocemi. Algoritmus automatického učení aktualizuje paměťovou matici W = || w (a, s) || taková, že v každé iteraci provede následující rutinu strojového učení:

 In situation s perform an action a;
 Receive consequence situation s’;
 Compute emotion of being in consequence situation v(s’);
 Update crossbar memory  w’(a,s) = w(a,s) + v(s’).

Je to systém, který má pouze jeden vstup, situaci s a pouze jeden výstup, akci (nebo chování) a. Neexistuje ani samostatný vstup výztuže, ani doporučení od okolí. Zpětně šířená hodnota (sekundární výztuž) je emocí vůči situaci následků. CAA existuje ve dvou prostředích, jedním je behaviorální prostředí, kde se chová, a druhým je genetické prostředí, z něhož zpočátku a pouze jednou dostává počáteční emoce o situacích, s nimiž se lze v behaviorálním prostředí setkat. Po přijetí vektoru genomu (druhu) z genetického prostředí se CAA naučí chování při hledání cílů v prostředí, které obsahuje jak žádoucí, tak nežádoucí situace.

Funkce učení

Několik výukových algoritmů má za cíl objevit lepší reprezentaci vstupů poskytovaných během školení. Klasické příklady zahrnují analýzu hlavních komponent a klastrovou analýzu. Algoritmy učení funkcí, nazývané také algoritmy učení učení, se často pokoušejí uchovat informace ve svém vstupu, ale také je transformovat tak, aby byly užitečné, často jako krok před zpracováním před provedením klasifikace nebo předpovědí. Tato technika umožňuje rekonstrukci vstupů pocházejících z neznámé distribuce generující data, aniž by byla nutně věrná konfiguracím, které jsou v rámci této distribuce nepravděpodobné. Nahrazuje ruční inženýrství funkcí a umožňuje stroji naučit se funkce a používat je k provádění konkrétního úkolu.

Učení funkcí může být buď pod dohledem, nebo bez dozoru. Při učení kontrolovaných funkcí se funkce učí pomocí označených vstupních dat. Mezi příklady patří umělé neurální sítě , vícevrstvé perceptrony a učení slovníku pod dohledem . Při učení funkcí bez dozoru se funkce učí pomocí neoznačených vstupních dat. Mezi příklady patří učení se slovníku, analýza nezávislých komponent , autoenkodéry , maticová faktorizace a různé formy shlukování .

Algoritmy učení potrubí se o to pokoušejí za podmínky, že naučená reprezentace je nízko dimenzionální. Řídké algoritmy kódování se o to pokoušejí pod omezením, že naučená reprezentace je řídká, což znamená, že matematický model má mnoho nul. Algoritmy víceřádkového subprostorového učení mají za cíl naučit se nízko dimenzionální reprezentace přímo z tenzorových reprezentací pro vícerozměrná data, aniž by je přetvářely do vyšších dimenzionálních vektorů. Algoritmy hlubokého učení objevují více úrovní reprezentace nebo hierarchii funkcí s abstraktnějšími funkcemi vyšší úrovně definovanými z hlediska (nebo generování) funkcí nižší úrovně. Bylo argumentováno, že inteligentní stroj je ten, který se učí reprezentaci, která rozmotává základní faktory variací, které vysvětlují pozorovaná data.

Učení funkcí je motivováno skutečností, že úkoly strojového učení, jako je klasifikace, často vyžadují vstup, který je matematicky a výpočetně pohodlný na zpracování. Data z reálného světa, jako jsou obrázky, videa a senzorická data, však nepřinesla pokusy o algoritmické definování konkrétních funkcí. Alternativou je objevit takové funkce nebo reprezentace pomocí zkoumání, aniž byste se museli spoléhat na explicitní algoritmy.

Řídké učení se slovníku

Řídké učení slovníku je metoda učení funkcí, kde je příklad školení reprezentován jako lineární kombinace základních funkcí a předpokládá se, že je řídkou maticí . Tato metoda je silně NP-tvrdá a je obtížné ji přibližně vyřešit. Oblíbenou heuristickou metodou pro řídké učení se slovníku je algoritmus K-SVD . Řídké učení se slovníku bylo uplatněno v několika kontextech. Při klasifikaci je problém určit třídu, do které patří dosud neviděný příklad školení. U slovníku, kde již byla vytvořena každá třída, je nový příklad školení spojen se třídou, která je nejlépe řídce reprezentována odpovídajícím slovníkem. Řídké učení se slovníku bylo také použito při odstraňování šumu obrazu . Klíčovou myšlenkou je, že čistý obrazový patch může být řídce reprezentován obrazovým slovníkem, ale šum ne.

Detekce anomálií

V dolování dat je detekce anomálií, známá také jako odlehlá detekce, identifikace vzácných položek, událostí nebo pozorování, která vyvolávají podezření tím, že se výrazně liší od většiny dat. Anomální položky obvykle představují problém, jako je bankovní podvod , strukturální vada, zdravotní problémy nebo chyby v textu. Anomáliím se říká odlehlé hodnoty , novinky, hluk, odchylky a výjimky.

Zejména v kontextu detekce zneužívání a narušení sítě často nejde o vzácné objekty, ale o neočekávané výboje nečinnosti. Tento vzorec nedodržuje běžnou statistickou definici odlehlé hodnoty jako vzácného objektu a mnoho metod detekce odlehlých hodnot (zejména algoritmy bez dohledu) na takových datech selže, pokud nebyly řádně agregovány. Algoritmus klastrové analýzy místo toho může být schopen detekovat mikroklastry tvořené těmito vzory.

Existují tři široké kategorie technik detekce anomálií. Techniky detekce anomálií bez dozoru detekují anomálie v neoznačené sadě testovacích dat za předpokladu, že většina instancí v datové sadě je normální, hledáním instancí, které se zdají nejméně odpovídat zbývající části datové sady. Techniky detekce anomálií pod dohledem vyžadují soubor dat, který byl označen jako „normální“ a „abnormální“ a zahrnuje vyškolení klasifikátoru (klíčovým rozdílem v mnoha dalších problémech se statistickou klasifikací je neodmyslitelně nevyrovnaná povaha odlehlých detekcí). Techniky detekce anomálií s částečným dohledem sestrojí model představující normální chování z dané sady normálních tréninkových dat a poté otestují pravděpodobnost, že model vygeneruje testovací instanci.

Učení robota

Ve vývojové robotice , podobně jako lidé, plní úkoly a jsou řízeny počítačem, jeho součástí výpočetní techniky a jeho algoritmy, algoritmy učení robotů , vytvářejí vlastní sekvence učebních zkušeností, známých také jako osnovy, kumulativně získávají nové dovednosti pomocí samořízeného průzkumu. a sociální interakce s lidmi. Tito roboti používají naváděcí mechanismy, jako je aktivní učení, zrání, motorické synergie a napodobování.

Pravidla asociace

Učení asociačních pravidel je metoda strojového učení založená na pravidlech pro zjišťování vztahů mezi proměnnými ve velkých databázích. Účelem je identifikovat silná pravidla objevená v databázích pomocí určité míry „zajímavosti“.

Strojové učení založené na pravidlech je obecný termín pro jakoukoli metodu strojového učení, která identifikuje, učí se nebo vyvíjí „pravidla“ pro ukládání, manipulaci nebo aplikaci znalostí. Definující charakteristikou algoritmu strojového učení založeného na pravidlech je identifikace a využití sady relačních pravidel, která společně představují znalosti zachycené systémem. To je v kontrastu s jinými algoritmy strojového učení, které běžně identifikují singulární model, který lze univerzálně použít na jakoukoli instanci za účelem vytvoření předpovědi. Mezi přístupy strojového učení založené na pravidlech patří systémy klasifikace učení, učení se pravidlům asociací a umělé imunitní systémy .

Na základě konceptu silných pravidel zavedli Rakesh Agrawal , Tomasz Imieliński a Arun Swami asociační pravidla pro zjišťování pravidelnosti mezi produkty v rozsáhlých transakčních datech zaznamenávaných systémy POS ( point-of-sale ) v supermarketech. Například pravidlo nalezené v prodejních datech supermarketu by naznačovalo, že pokud si zákazník koupí cibuli a brambory společně, pravděpodobně si koupí i hamburgerové maso. Tyto informace mohou být použity jako základ pro rozhodování o marketingových aktivitách, jako jsou propagační ceny nebo umístění produktu . Kromě analýzy tržního koše se dnes používají asociační pravidla v aplikačních oblastech, včetně dolování webových aplikací , detekce narušení , nepřetržité produkce a bioinformatiky . Na rozdíl od dolování sekvencí učení pravidel přidružení obvykle nezohledňuje pořadí položek v rámci transakce ani mezi transakcemi.

Získané třídící systémy (LCS) jsou rodina založených na pravidlech algoritmů strojového učení, které kombinují zjišťování komponent, typicky genetický algoritmus , s komponentou učení, vykonávat buď pod dohledem učí , učení zesílení , nebo bez dozoru učení . Snaží se identifikovat soubor pravidel závislých na kontextu, které společně ukládají a aplikují znalosti po částech , aby vytvářely předpovědi.

Induktivní logické programování (ILP) je přístup k učení pravidel pomocí logického programování jako jednotné reprezentace vstupních příkladů, znalostí pozadí a hypotéz. Vzhledem ke kódování známých znalostí pozadí a souboru příkladů reprezentovaných jako logická databáze faktů systém ILP odvodí hypotetický logický program, který zahrnuje všechny pozitivní a žádné negativní příklady. Indukční programování je příbuzná oblast, která zvažuje jakýkoli druh programovacího jazyka pro reprezentování hypotéz (a nejen logického programování), jako jsou funkční programy .

Indukční logické programování je zvláště užitečné v bioinformatice a zpracování přirozeného jazyka . Gordon Plotkin a Ehud Shapiro položili počáteční teoretický základ pro indukční strojové učení v logickém prostředí. Shapiro postavilo svou první implementaci (Model Inference System) v roce 1981: program Prolog, který indukčně odvozoval logické programy z pozitivních a negativních příkladů. Termín induktivní zde odkazuje na filozofickou indukci, což naznačuje teorii vysvětlující pozorovaná fakta, nikoli matematickou indukci , která dokazuje vlastnost pro všechny členy dobře uspořádané množiny.

Modely

Provádění strojového učení zahrnuje vytvoření modelu , který je vyškolen na některých tréninkových datech a poté může zpracovávat další data a provádět předpovědi. Pro systémy strojového učení byly použity a zkoumány různé typy modelů.

Umělé neuronové sítě

Umělá neuronová síť je propojená skupina uzlů, podobná obrovské síti neuronů v mozku . Zde každý kruhový uzel představuje umělý neuron a šipka představuje spojení mezi výstupem jednoho umělého neuronu a vstupem jiného.

Umělé neurální sítě (ANN) neboli systémy spojování jsou výpočetní systémy vágně inspirované biologickými neurálními sítěmi, které tvoří mozek zvířat . Takové systémy se „učí“ provádět úkoly zvážením příkladů, obecně bez toho, aby byly naprogramovány podle pravidel specifických pro daný úkol.

ANN je model založený na souboru spojených jednotek nebo uzlů nazývaných „ umělé neurony “, které volně modelují neurony v biologickém mozku . Každé spojení, stejně jako synapse v biologickém mozku , může přenášet informace, „signál“, z jednoho umělého neuronu do druhého. Umělý neuron, který přijímá signál, jej může zpracovat a poté signalizovat další umělé neurony k němu připojené. V běžných implementacích ANN je signál ve spojení mezi umělými neurony skutečným číslem a výstup každého umělého neuronu je vypočítán nějakou nelineární funkcí součtu jeho vstupů. Spojení mezi umělými neurony se nazývá „hrany“. Umělé neurony a hrany mají obvykle váhu, která se přizpůsobuje průběhu učení. Hmotnost zvyšuje nebo snižuje sílu signálu při připojení. Umělé neurony mohou mít prahovou hodnotu tak, že signál je vyslán pouze v případě, že souhrnný signál tuto prahovou hodnotu překročí. Umělé neurony jsou obvykle agregovány do vrstev. Různé vrstvy mohou na svých vstupech provádět různé druhy transformací. Signály putují z první vrstvy (vstupní vrstva) do poslední vrstvy (výstupní vrstva), případně po několikanásobném procházení vrstev.

Původním cílem přístupu ANN bylo řešit problémy stejným způsobem, jakým by to řešil lidský mozek . Postupem času se však pozornost přesunula k plnění konkrétních úkolů, což vedlo k odchylkám od biologie . Umělé neuronové sítě byly použity k řadě úkolů, včetně počítačového vidění , rozpoznávání řeči , strojového překladu , filtrování sociálních sítí , hraní deskových her a videoher a lékařské diagnostiky .

Hluboké učení se skládá z několika skrytých vrstev v umělé neuronové síti. Tento přístup se snaží modelovat způsob, jakým lidský mozek zpracovává světlo a zvuk do zraku a sluchu. Některé úspěšné aplikace hlubokého učení jsou počítačové vidění a rozpoznávání řeči .

Rozhodovací stromy

Učení rozhodovacího stromu používá rozhodovací strom jako prediktivní model k přechodu od pozorování položky (reprezentované ve větvích) k závěrům o cílové hodnotě položky (reprezentované v listech). Je to jeden z přístupů prediktivního modelování, který se používá ve statistikách, dolování dat a strojovém učení. Stromové modely, kde cílová proměnná může nabývat diskrétní sady hodnot, se nazývají klasifikační stromy; v těchto stromových strukturách listy představují popisky tříd a větve představují spojení funkcí, které vedou k těmto popiskům tříd. Rozhodovací stromy, kde cílová proměnná může nabývat spojitých hodnot (obvykle reálných čísel ), se nazývají regresní stromy. V rozhodovací analýze lze rozhodovací strom použít k vizuální a explicitní reprezentaci rozhodnutí a rozhodování . Při těžbě dat popisuje rozhodovací strom data, ale výsledný klasifikační strom může být vstupem pro rozhodování.

Stroje s podporou vektorů

Stroje podpůrných vektorů (SVM), známé také jako sítě podpůrných vektorů, jsou sadou souvisejících metod supervizního učení používaných pro klasifikaci a regresi. Vzhledem k sadě tréninkových příkladů, z nichž každý je označen jako patřící do jedné ze dvou kategorií, trénovací algoritmus SVM vytvoří model, který předpovídá, zda nový příklad spadá do jedné nebo druhé kategorie. Algoritmus tréninku SVM je ne- pravděpodobnostní , binární , lineární klasifikátor , ačkoli existují metody, jako je Plattova škálování , které používají SVM v nastavení pravděpodobnostní klasifikace. Kromě provádění lineární klasifikace mohou SVM efektivně provádět nelineární klasifikaci pomocí toho, čemu se říká trik jádra , implicitně mapovat jejich vstupy do prostorů vysoce dimenzionálních funkcí.

Ilustrace lineární regrese na datové sadě.

Regresní analýza

Regresní analýza zahrnuje širokou škálu statistických metod pro odhad vztahu mezi vstupními proměnnými a jejich přidruženými funkcemi. Jeho nejběžnější formou je lineární regrese , kde je nakreslena jedna čára, která nejlépe odpovídá daným datům podle matematického kritéria, jako jsou běžné nejmenší čtverce . Ten je často rozšířen metodami regularizace (matematiky) ke zmírnění přetěžování a předpojatosti, jako při hřebenové regresi . Při řešení nelineárních problémů zahrnují modely přechodu polynomiální regresi (například používanou pro přizpůsobení trendové linie v aplikaci Microsoft Excel), logistickou regresi (často používanou ve statistické klasifikaci ) nebo dokonce regresi jádra , která zavádí nelinearitu využíváním výhod na triku jádra implicitně mapování vstupních proměnných k vyšším trojrozměrném prostoru.

Bayesovské sítě

Jednoduchá bayesovská síť. Déšť ovlivňuje, zda je aktivován postřikovač, a déšť i postřikovač ovlivňují, zda je tráva mokrá.

Bayesovská síť, síť víry nebo směrovaný acyklický grafický model je pravděpodobnostní grafický model, který představuje soubor náhodných proměnných a jejich podmíněnou nezávislost na řízeném acyklickém grafu (DAG). Bayesovská síť by například mohla představovat pravděpodobnostní vztahy mezi nemocemi a symptomy. S ohledem na příznaky lze síť použít k výpočtu pravděpodobnosti přítomnosti různých chorob. Existují efektivní algoritmy, které provádějí odvozování a učení. Bayesovské sítě, které modelují sekvence proměnných, jako jsou řečové signály nebo proteinové sekvence , se nazývají dynamické Bayesovské sítě . Zobecnění bayesovských sítí, které mohou představovat a řešit problémy s rozhodováním za nejistoty, se nazývá diagramy vlivu .

Genetické algoritmy

Genetický algoritmus (GA) je vyhledávací algoritmus a heuristická technika, která napodobuje proces přirozeného výběru pomocí metod, jako je mutace a crossover, ke generování nových genotypů v naději, že najdou dobrá řešení daného problému. Ve strojovém učení byly v 80. a 90. letech 20. století použity genetické algoritmy. Naopak ke zlepšení výkonu genetických a evolučních algoritmů byly použity techniky strojového učení .

Tréninkové modely

Aby modely strojového učení dobře fungovaly, vyžadují hodně dat. Při trénování modelu strojového učení obvykle potřebujete shromáždit velký, reprezentativní vzorek dat z tréninkové sady. Data z tréninkové sady se mohou lišit jako korpus textu, sbírka obrázků a data shromážděná od jednotlivých uživatelů služby. Na nadměrné vybavení je třeba dávat pozor při trénování modelu strojového učení. Trénované modely odvozené z předpojatých dat mohou mít za následek zkreslené nebo nežádoucí předpovědi. Algoritmická zkreslení je potenciálním výsledkem dat, která nejsou plně připravena na školení.

Federativní učení

Federované učení je přizpůsobená forma distribuované umělé inteligence tréninkovým modelům strojového učení, která decentralizuje tréninkový proces, což umožňuje zachování soukromí uživatelů tím, že nemusí posílat svá data na centralizovaný server. To také zvyšuje efektivitu decentralizací tréninkového procesu na mnoho zařízení. Gboard například používá federované strojové učení k trénování modelů predikce vyhledávacích dotazů na mobilních telefonech uživatelů, aniž by bylo nutné odesílat jednotlivá vyhledávání zpět na Google .

Aplikace

Existuje mnoho aplikací pro strojové učení, včetně:

V roce 2006 uspořádal poskytovatel mediálních služeb Netflix první soutěž o „ cenu Netflix “, jejímž cílem bylo najít program, který by lépe předvídal preference uživatelů a zlepšoval přesnost stávajícího algoritmu doporučení filmu Cinematch nejméně o 10%. Společný tým složený z výzkumníků z AT&T Labs -Research ve spolupráci s týmy Big Chaos a Pragmatic Theory sestavil souborový model, který v roce 2009 vyhrál Velkou cenu za 1 milion dolarů. Krátce po udělení ceny si Netflix uvědomil, že hodnocení diváků nejsou nejlepšími indikátory jejich sledovanosti („vše je doporučení“) a podle toho změnili svůj doporučovací modul. V roce 2010 napsal The Wall Street Journal o firmě Rebellion Research a jejich využití strojového učení k předpovědi finanční krize. V roce 2012, spoluzakladatel společnosti Sun Microsystems , Vinod Khosla , předpověděl, že 80% pracovních míst lékařů by se ztratil v příštích dvou desetiletích do automatu učí lékařskou diagnostický software. V roce 2014 bylo oznámeno, že v oblasti dějin umění byl ke studiu obrazů výtvarného umění použit algoritmus strojového učení a že to mohlo odhalit dříve nerozpoznané vlivy mezi umělci. V roce 2019 vydala Springer Nature první výzkumnou knihu vytvořenou pomocí strojového učení. V roce 2020 byla technologie strojového učení použita k diagnostice a pomoci výzkumným pracovníkům při vývoji léčby COVID-19. Strojové učení se v poslední době používá k předpovídání zeleného chování člověka. V poslední době se také používá technologie strojového učení k optimalizaci výkonu a tepelného chování smartphonu na základě interakce uživatele s telefonem.

Omezení

Přestože bylo strojové učení v některých oblastech transformační, programy strojového učení často nepřinášejí očekávané výsledky. Důvodů pro to je mnoho: nedostatek (vhodných) dat, nedostatek přístupu k datům, předpojatost dat, problémy s ochranou osobních údajů, špatně zvolené úkoly a algoritmy, špatné nástroje a lidé, nedostatek zdrojů a problémy s hodnocením.

V roce 2018 auto s vlastním řízením od společnosti Uber nedokázalo detekovat chodce, který byl po srážce zabit. Pokusy o využití strojového učení ve zdravotnictví se systémem IBM Watson selhaly ani po letech času a investovaných miliard dolarů.

Strojové učení bylo použito jako strategie k aktualizaci důkazů týkajících se systematického hodnocení a zvýšené zátěže recenzentů související s růstem biomedicínské literatury. I když se to zlepšilo s tréninkovými sadami, ještě se nevyvinulo natolik, aby snížilo pracovní zátěž, aniž by omezilo potřebnou citlivost pro samotný výzkum zjištění.

Zaujatost

Zejména přístupy ke strojovému učení mohou trpět různými předpojatostmi dat. Systém strojového učení vyškolený konkrétně na současné zákazníky nemusí být schopen předvídat potřeby nových skupin zákazníků, které nejsou zastoupeny v datech školení. Když je strojové učení vyškoleno na datech vytvořených člověkem, pravděpodobně zachytí ústavní a nevědomé předsudky, které již ve společnosti existují. Ukázalo se, že jazykové modely získané z dat obsahují předpojatosti podobné lidem. Bylo zjištěno, že systémy strojového učení používané pro hodnocení kriminálních rizik jsou zaujaté vůči černochům. V roce 2015 fotografie Google často označovaly černé lidi za gorily a v roce 2018 to ještě nebylo dobře vyřešeno, ale Google údajně stále používal řešení k odstranění všech goril z tréninkových dat, a proto nebyl schopen rozpoznat skutečné gorily na Všechno. Podobné problémy s rozpoznáváním nebělých lidí byly nalezeny v mnoha dalších systémech. V roce 2016 Microsoft testoval chatbota, který se učil z Twitteru, a rychle si osvojil rasistický a sexistický jazyk. Kvůli takovým výzvám může efektivní využití strojového učení trvat déle, než bude přijato v jiných doménách. Starost o spravedlnost ve strojovém učení, tj. Snižování předpojatosti ve strojovém učení a podporu jeho využití pro lidské dobro, stále více vyjadřují vědci z oblasti umělé inteligence, včetně Fei-Fei Li , který inženýrům připomíná, že „na AI není nic umělého ... je inspirován lidmi, je vytvářen lidmi a - což je nejdůležitější - má na lidi vliv. Je to účinný nástroj, kterému teprve začínáme rozumět, a to je hluboká odpovědnost. “

Přetížení

Modrá čára může být příkladem přeplnění lineární funkce kvůli náhodnému šumu.

Vyrovnávání se se špatnou, příliš složitou teorií, která byla přizpůsobena všem minulým tréninkovým údajům, se nazývá přetížení . Mnoho systémů se pokouší omezit přetěžování tím, že odměňuje teorii podle toho, jak dobře odpovídá datům, ale penalizuje teorii podle toho, jak je teorie složitá.

Další omezení

Studenti mohou také zklamat tím, že „se učí špatnou lekci“. Příkladem hračky je, že klasifikátor obrázků vycvičený pouze na obrázcích hnědých koní a černých koček by mohl dojít k závěru, že všechny hnědé skvrny pravděpodobně budou koně. Příkladem ze skutečného světa je, že na rozdíl od lidí současní klasifikátory obrázků často primárně nevytvářejí úsudky z prostorového vztahu mezi komponentami obrazu a učí se vztahům mezi pixely, na které lidé zapomínají, ale které stále korelují s obrazy určité typy skutečných předmětů. Úprava těchto vzorů na legitimním obrázku může mít za následek „kontradiktorní“ obrázky, které systém nesprávně klasifikuje.

Adversarial vulnerability can also result in nonlineine systems, or from non-pattern perturbations. Některé systémy jsou tak křehké, že změna jediného sporného pixelu předvídatelně vyvolává nesprávnou klasifikaci.

Hodnocení modelů

Klasifikaci modelů strojového učení lze ověřit technikami odhadování přesnosti, jako je metoda Holdout , která rozděluje data do tréninkové a testovací sady (běžně 2/3 tréninková sada a 1/3 označení testovací sady) a hodnotí výkon tréninkového modelu na testovací sadě. Pro srovnání, metoda křížové validace K-fold - náhodně rozdělí data do K podmnožin a poté se provedou K experimenty, přičemž se zváží 1 podmnožina pro vyhodnocení a zbývající K-1 podmnožiny pro trénink modelu. Kromě metod holdout a cross-validation lze k posouzení přesnosti modelu použít bootstrap , který vzorkuje n instancí s náhradou z datové sady.

Kromě celkové přesnosti vyšetřovatelé často uvádějí citlivost a specificitu, což znamená True Positive Rate (TPR) a True Negative Rate (TNR). Podobně vyšetřovatelé někdy uvádějí falešně pozitivní míru (FPR) i falešně negativní míru (FNR). Tyto sazby jsou však poměry, které nedokáží odhalit jejich čitatele a jmenovatele. Celková provozní charakteristika (TOC), je efektivní metoda pro expresi diagnostickou schopnost modelu. TOC ukazuje čitatele a jmenovatele výše uvedených sazeb, takže TOC poskytuje více informací než běžně používaná provozní charakteristika přijímače (ROC) a související oblast ROC pod křivkou (AUC).

Etika

Strojové učení přináší řadu etických otázek . Systémy, které jsou školeny v souborech dat shromážděných s předsudky, mohou tyto zkreslení vykazovat při použití ( algoritmické zkreslení ), čímž digitalizují kulturní předsudky. Například v roce 1988 britská komise pro rasovou rovnost zjistila, že St. George's Medical School používala počítačový program vyškolený z údajů předchozích přijímacích pracovníků a tento program odmítl téměř 60 uchazečů, u nichž bylo zjištěno, že jsou buď ženy, nebo nemají -Evropská znějící jména. Používání údajů o najímání pracovních míst od firmy s rasistickými zásadami náboru může vést k tomu, že systém strojového učení duplikuje zaujatost tím, že bude hodnotit uchazeče o zaměstnání podle podobnosti s předchozími úspěšnými uchazeči. Odpovědný sběr dat a dokumentace algoritmických pravidel používaných systémem je proto kritickou součástí strojového učení.

AI může být dobře vybavena pro rozhodování v technických oborech, které se do značné míry spoléhají na data a historické informace. Tato rozhodnutí se opírají o objektivitu a logické uvažování. Protože lidské jazyky obsahují zkreslení, stroje vyškolené v jazykových korpusech se tyto předsudky nutně také naučí.

Jiné formy etických výzev, které nesouvisejí s osobními předsudky, jsou vidět ve zdravotní péči. Mezi zdravotníky existují obavy, že tyto systémy nemusí být navrženy ve veřejném zájmu, ale jako stroje vytvářející příjem. To platí zejména ve Spojených státech, kde existuje dlouhodobé etické dilema zlepšování zdravotní péče, ale také zvyšování zisků. Algoritmy by například mohly být navrženy tak, aby pacientům poskytovaly zbytečné testy nebo léky, ve kterých vlastníci algoritmu vlastní podíly. Strojové učení ve zdravotnictví má potenciál poskytnout odborníkům další nástroj k diagnostice, medikaci a plánování cest pro zotavení pacientů, ale to vyžaduje zmírnění těchto předsudků.

Hardware

Od roku 2010 pokroky v algoritmech strojového učení i v počítačovém hardwaru vedly k efektivnějším metodám školení hlubokých neuronových sítí (konkrétní úzká subdoména strojového učení), které obsahují mnoho vrstev nelineárních skrytých jednotek. Do roku 2019 jednotky grafického zpracování ( GPU ), často s vylepšeními specifickými pro AI, vytlačily CPU jako dominantní způsob školení rozsáhlé komerční cloudové AI. OpenAI odhadl hardwarový výpočet používaný v největších projektech hlubokého učení od AlexNet (2012) po AlphaZero (2017) a zjistil 300 000násobné zvýšení potřebného výpočetního výkonu s trendovou linií zdvojnásobení času 3,4 měsíce.

Neuromorfní/fyzické neurální sítě

Fyzikální neuronová síť nebo neuromorfní počítač je typ umělé neuronové sítě , ve které je elektricky nastavitelný materiál použitý emulovat funkci nervové synapse . „Fyzická“ neuronová síť se používá k zdůraznění závislosti na fyzickém hardwaru používaném k emulaci neuronů, na rozdíl od softwarových přístupů. Obecněji je tento termín použitelný pro jiné umělé neurální sítě, ve kterých je k emulaci neurální synapse použit memristor nebo jiný elektricky nastavitelný odporový materiál.


Software

Softwarové sady obsahující různé algoritmy strojového učení zahrnují následující:

Bezplatný open source software

Proprietární software s bezplatnými a open-source edicemi

Proprietární software

Deníky

Konference

Viz také

Reference

Prameny

Další čtení

externí odkazy