Skip to content

2. Taxonomie ML úloh

Otázky

Jaké jsou základní úlohy?

  • Regrese / Predikce
    • Predikce spojitých veličin na základě jejich historického vývoje.
    • Predikce teploty, ceny akcií,...
  • Klasifikace / Rekomendace
    • Na základě trénovacích dat přiřazuje nějakou diskrétní hodnotu (kategorii).
    • Určení zda je na obrázku kočka nebo pes.
  • Clustering
    • Hledá v datech nějaké podobnosti na základě kterých je rozděluje do skupin.
    • Segmentace zákazníků.
    • Nesupervizované.
  • Plánovaní / Problem solving / Control
    • Navigace robota skrz bludiště, šachy, řízení auta,...

Jak se pozná supervizované, nesupervizované a posilované učení?

Supervizované učení

  • Učení s učitelem.
  • Máme k dispozici trénovací data a jejich popisky (ať už nějaká reálná hodnota nebo označení kategorie).
  • Na základě trénovacích dat se tvoří funkce (buď klasifikátor nebo regresní funkce).

Nesupervizované učení

  • Hledání vnitřní struktury v nepopsaných datech.
  • Máme k dispozici jen příznaky dat a nelze ohodnotit zda některé skutečně patří k sobě.
  • Často jsou založené na data mining metodách
    • K-means
    • K-nearest neighbours

Posilované učení

  • Agenti jsou v nějakém komplexním prostředí a konají tak, aby maximalizovali nějakou svou odměnu.
  • Model zkouší metodou pokus omyl najít nějaké řešení definovaného cíle a za své akce je buď odměňován či penalizován.
  • Často tisíce paralelních simulací.

Ostatní učení

  • Semi-supervizované učení
    • Kombinuje malé množství popsaných dat a velké množství nepopsaných.
    • Např. také multimodální sítě, kde je popis dán tím, že audio, video i text vstupy pochází z jednoho zdroje, ale nejsou explicitně popsány tím co znázorňují.
  • Active learning
    • Interaktivní labeling proces.
  • Transfer learning
    • Trénování na jedné úloze a přenos modelu na podobnou metodu.
  • Meta learning
    • Přizpůsobení se nové podobné úloze, učení invariantní vůči modelu a problému.
  • Few-shot learning
    • Učení s velmi malým množstvím příkladů.

Jak pomocí ML hrát dámu nebo jinou úlohu?

  • Vytvořit databázi tahů extrahovaný ze zaznamenaných her expertů a reagovat na tahy podle vyhledané akce v databázi.
  • Trénování modelu proti sama sobě, kde každý agent se snaží maximalizovat svou odměnu na úkor protivníka.
  • Lze ohodnotit kvalitu tahů a vybrat nejkvalitnější, nebo přímo ohodnocovat stav celé hry. Dále lze prostor prohledávat nějakou heuristikou, hrubou silou, pomocí dynamického programování,...
  • Lze sestavit parametrizovatelnou funkci, která odhaduje stav hry (např. w1 * počet černých figurek + w2 * počet červených figurek + ....
    • Váhy určit
      • Manuálním zadáváním
      • Nesupervizované pomoci estimace následníka
      • Váhy učit gradientním sestupem z vypočítané chyby (loss function)

Co jsou to banditní algoritmy (multi armed bandits)?

  • Klasický reinforcement learning problém, kdy máme daný počet omezených prostředků a musíme je rozdělit mezi alternativní volby způsobem, který maximalizuje nějaké kritérium.
  • Příkladem je hráč a k herních automatů s různě distribuovanými odměnami a hráč se postupem času snaží opakovanými pokusy maximalizovat svou kumulativní výhru.
  • Většinou jde o rovnováhu explorace a exploitace, kde agent může buď využívat známých zdrojů, nebo testovat nějaké nové.
  • Jednotlivé zdroje jsou nezávislé a jejich distribuce odměn je stacionární.
  • Za začátku se víc dela explorace a ke konci už expoitace