Strojové učení

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 v podobě dopočtu již pořízených fotografií.

Základ

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

Základní rozdělení algoritmů učení

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

  • učení s učitelem („supervised learning“) Pro vstupní data je určen správný výstup (třída pro klasifikaci nebo hodnota pro regresi)
  • učení bez učitele („unsupervised learning“) Ke vstupním datům není známý výstup
  • kombinace učení s učitelem a bez učitele („semi-supervised learning“) Část vstupních dat je se známým výstupem, ale další data, typicky větší, jsou bez něj. Často se používá EM algoritmus („expectation–maximization algorithm“). Podobný přístup je transdukce
  • zpětnovazebné učení („reinforcement learning“), též učení posilováním

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

  • 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í

Terminologie

  • 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

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

  1. https://techxplore.com/news/2017-07-tackle-bias-algorithms.html - Researchers tackle bias in algorithms
  2. 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)
  3. Google developers: Machine Learning Glossary

Související články

Externí odkazy

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.