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í
- Používané modely:
- Rozhodovací stromy
- Algoritmus k-nejbližších sousedů
- Podpůrné vektory, viz Support vector machines
- Lineární diskriminační analýza (en:Linear discriminant analysis)
- Kvadratická diskriminační analýza (en:Quadratic discriminant analysis)
- Množina rozhodovacích pravidel
- Neuronové sítě, hluboké učení
- Bayesovské sítě
- Neuronové sítě
- Techniky pro kombinaci více modelů (en:Ensemble learning a en:Meta learning (computer science))
- Bootstrap aggregating (resp. zkratka Bagging) (en:Bootstrap aggregating)
- Boosting (en:Boosting)
- Stacking
- Testování přesnosti modelu:
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
- https://techxplore.com/news/2017-07-tackle-bias-algorithms.html - Researchers tackle bias in algorithms
- 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)
- Google developers: Machine Learning Glossary
Související články
Externí odkazy
- Obrázky, zvuky či videa k tématu strojové učení na Wikimedia Commons