Strojové učení – poznámky

Základní poznámky ke strojovému učení, převážně z knihy Mastering Java Machine Learning

Základní terminologie

  • features – vstupy
  • label / target – výstup
  • typy dat
    • kategorický, jmenovitý – seznam hodnot (modrá, žlutá, zelená, …)
    • spojité, číselné – konkrétní hodnoty (např. teplota)
    • řadové (malé, střední, velké)
  • vzorky dat (Sampling)
    • Uniform random sampling – (Prostý náhodný výběr) (pro všechny prvky z celku stejná šance vybrání)
    • Stratified random sampling – (Stratifikovaný výběr) – data můžou být kategorizována, rozdělení dat do těchto kategorií, kategorie jsou proporcionální; spíše se budou lišit kategorie mezi sebou než data v nich
    • Cluster sampling – (Skupinový výběr) – zkoumaná data rozdělena do skupin, které se mezi sebou příliš neliší, rozdíl bude spíše uvnitř; náhodně se vyberou skupiny a zkoumají se data uvnitř
    • Systematic sampling – (Systematický výběr) – pokud je v datech patrné nějaké „řazení“, např. abecední, lze začít z náhodného prvku s konstantním přeskakováním na další v řadě
  • Model evaluation metrics – vyhodnocovací modely, pro různé typy učení – různé modely vyhodnocovnání

Typy učení

  • Učení s učitelem (Supervised learning)
    • druhy úloh
      • klasifikace – kategorická data, rozdělování vstupních dat do tříd
      • regrese – číselná data, odhadování číselné hodnoty podle vstupu (např. určení nejlepší ceny)
  • Učení bez učitele (Unsupervised learning) – nejsou dané výstupy (labels)
    • druhy úloh
      • clustering
      • manifold learning
      • outliner detection
  • Kombinace, částečně s učitelem (Semi-supervised learning) – pokud je jen část vstupních dat se známým výstupem
  • Graph mining – reprezentace získaných dat do grafové struktury
  • Probabilistic graph modeling and inferencing – pravděpodobnostní model, kde graf znázorňuje podmíněnou strukturu závislostí mezi náhodnými proměnnými, příkladem takového modelu jsou
  • Time-series forecasting – pokud model zohledňuje závislost dat na času
  • Association analysis – modelování vzahů mezi předměty, hledání závislostí mezi nimi
  • Zpětnovazební učení (Reinforcement learning) – učení na základě odměn a penalizací získává zpětnou vazbu
  • Stream learning or incremental learning – učení při získávání dat v reálném čase

Typy dat

  • strukturovaná data – např. tabulka, relační databáze, výpis z účtu
  • transakční / market data (Transaction or market data) – speciální případ strukturovaných dat, kde jsou záznamy v kolekcích (zákazník id:x, koupil: y,z)
  • nestrukturovaná data – text, obrázek, video
  • sekvenční data
  • grafová data

Překážky strojového učení

  • kvalita dat – chybějící, nesprávné, nekorektní hodnoty, výrazné výchylky v datech
    • metody sloužící k vyrovnání se s chybějícími daty
      • nahrazení střední hodnotou (pokud není počítána z hodnot s velkými výchylkami), medianem nebo modusem
      • nahrazení imputatací
  • nevyvážená data – nevyváženost mezi výsledky – ovlivní výběr algoritmu, vyhodnocení
  • velikost dat – u objemných dat je potřeba přistoupit ke vzorkování, aby čas k učení nepřekročil únosnou mez
  • overfitting – model není dostatečně obecný a je úspěšný jen pro data z rozsahu testovacích dat, na ostatních je nepřesný
  • problém dimenzionality – přidáváním dalších a dalších vstupů povede k zhoršování výsledku
  • undersampling and oversampling – např. když pouze 0,1% vstupních dat vede k výsledku true (u binární klasifikace) – potřebujeme skupiny lépe vyvážit =>
    • undersampling majority- vezme se vše vedoucí k true a udělá se výběr napříč daty vedoucími k false, aby se získal lepší poměr, např (1:20 – 1:50)
    • oversample minority

Java frameworks

Postup

  • analýza dat
  • předzpracování dat (ošetření chybějících dat)
  • vzorkování
  • rozdělení dat (data s výstupy se musí rozdělit na skupiny k trénování, vyhodnocování a testování)
    • vyhodnocení – musí proběhnout na vzorku dat, který nebyl použit při učení, ale je ze shodného sběru (nevhodný výběr poměru dat k učení / vyhodnocení vede k underfitting (velký vyhodnocovací vzorek = nedostatek dat k tvorbě modelu)/overfitting (malý vyhodnocovací vzorek = model je nedostatečně obecný)
  • analýza vstupních dat
  • sestavení modelu
  • vyhodnocování modelů

Zdroje:

Příspěvek byl publikován v rubrice Nezařazené se štítky . Můžete si uložit jeho odkaz mezi své oblíbené záložky.