Strojové učení

Z Wikipedie, otevřené encyklopedie
Skočit na navigaci Skočit na vyhledávání

Strojové učení je podoblastí umělé inteligence, zabývající se algoritmy a technikami, které umožňují počítačovému systému 'učit se'. Učením v daném kontextu rozumíme takovou změnu vnitřního stavu systému, která zefektivní schopnost přizpůsobení se změnám okolního prostředí.

Strojové učení se značně prolíná s oblastmi statistiky a dobývaní znalostí a má široké uplatnění. Jeho techniky se využívají např. v biomedicínské informatice (tzv. systémy pro podporu rozhodování), rozlišení nelegálního užití kreditních karet, rozpoznávání řeči a psaného textu, či mnohé další. Algoritmy však mohou být tendenční.[1] Nově se strojové učení promítá také do mobilní elektroniky (smartphonů[2]) v podobě dopočtů již pořízených fotografií.

Základ[editovat | editovat zdroj]

Základem strojového učení je lineární algebra. Jde o počet s vektory, maticemi a obecně tedy s tenzory.[3] Hardwarová implementace výpočtů (například tensor processing unit od Google) tak umožňuje značně urychlit hledání řešení.

Základní rozdělení algoritmů učení[editovat | editovat zdroj]

Algoritmy strojového učení lze podle způsobu učení rozdělit do následujících kategorií:

Podle způsobu zpracování lze algoritmy rozdělit na

  • dávkové: Všechna data požadují před začátkem výpočtu.
  • inkrementální: Dokážou se "přiučit", tj. upravit model, pokud dostanou nová data, bez přepočítání celého modelu od začátku

Základní druhy úloh[editovat | editovat zdroj]

  • Klasifikace rozděluje vstupní data do dvou nebo několika tříd.
  • Regrese odhaduje číselnou hodnotu výstupu podle vstupu
  • Shlukování zařazuje objekty do skupin s podobnými vlastnostmi, typicky při učení bez učitele

Další typy úloh jsou:

  • Ranking určuje pořadí datových bodů, výsledkem je částečné nebo úplné setřídění
  • Učení strukturovaných dat. Výstupní neboli hledaná struktura může být například sekvence, strom, graf, matice ... Aplikace jsou např. učení syntaktických stromů ve zpracování přirozeného jazyka, zarovnání několika sekvencí proteinů v bioinformatice, převod řeči na textový řetězec, tj. na sekvenci znaků, hledání vhodné molekuly reprezentované jako graf v chemoinformatice, výstup obrázkového algoritmu jako matice (mnoho konkrétních úloh) ...

Podoblasti strojového učení[editovat | editovat zdroj]

Terminologie[editovat | editovat zdroj]

  • Data, body, případy, měření
  • Atributy, rysy, proměnné, fíčury/features
  • Druhy/typy atributů: binární, kategoriální (např. "A", "B", "AB" nebo "O" pro krevní skupiny, ordinální (např. "velký", "střední" nebo "malý"), celočíselné (např. počet výskytů slova v emailu) anebo reálné (např. měření krevního tlaku); strukturované, hierarchické

Software[editovat | editovat zdroj]

RapidMiner, KNIME, Weka, ODM, Shogun toolbox, Orange, Apache Mahout a scikit-learn jsou softwarové balíky, které obsahují různé algoritmy strojového učení.

Online: Microsoft Azure Machine Learning (Azure ML), TensorFlow (Google)

Reference[editovat | editovat zdroj]

  1. https://techxplore.com/news/2017-07-tackle-bias-algorithms.html - Researchers tackle bias in algorithms
  2. KOHOUT, Martin. Co nebo kdo je machine learning? | FreeBit.cz. freebit.cz [online]. [cit. 2018-10-17]. Dostupné online. (česky) 
  3. https://www.quantstart.com/articles/scalars-vectors-matrices-and-tensors-linear-algebra-for-deep-learning-part-1 - Scalars, Vectors, Matrices and Tensors - Linear Algebra for Deep Learning (Part 1)

Související články[editovat | editovat zdroj]