AdamátorZápiskyHlášky

Strojové učení 1 ⬩ 01SU1

Přednášejícíprof. Ing. Jan Flusser, DrSc.
WebWebová stránka předmětu
Semestrzima 2025

Zkouší především pochopení látky. Nevadí mu, když si na něco nevzpomeneme.

Systém umělé inteligence má čtyři fáze:

  1. Vnímání: přijímání a zpracování dat
  2. Vyhodnocení situace: klasifikační problém
  3. Rozhodnutí: optimalizační problém
  4. Provedení

Pro volby proměnných a parametrů se dají použít různé metody:

Klasické metody
proměnné definuje uživatel, parametry se trénují na datech
Hluboké sítě a podobné metody
i proměnné se určují trénováním

Rozpoznávání je přiřazování vzoru/objektu do jedné z předdefinovaných tříd. Při klasifikaci s učením se pro každou třídu dostupná trénovací množina. Při klasifikaci bez učení (shlukování) trénovací množiny nejsou dostupné a algoritmus si musí třídy určit sám (ani nemusí předem znát jejich počet).

Trénovací množina by měla mít následující tři vlastnosti:

Proměnné (příznaky) by měly mít tyto vlastnosti:

Aproximovaná interpolace

Máme dané nějaké body a chceme najít nějakou hezkou funkci, která jimi prochází. Dala se použít například Lagrangeova interpolace, ale ta většinou vychází dost hnusně. Abychom nějak zahrnuli hezkost funkce do úlohy, přidáme regularizační člen: například chceme minimalizovat (f)2.

Multiclass SVM

Když máme klasifikátor rozlišující dvě třídy, jak ho zobecnit, aby dokázal rozlišit víc tříd?

One vs. one
Pro každou dvojici tříd uděláme klasifikátor mezi nimi. Problém je, že potom budou muset nějak hlasovat, co je správně, a bude to hodně výpočetně náročné.
One vs. rest
Pro každou třídu uděláme klasifikátor, který ji rozliší od ostatních.
Intrinsic multiclass
Klasifikátor uděláme tak, aby přímo rozpoznával více tříd. To se ovšem hodně blbě trénuje.

Obecně SVM klasifikátory nejsou dobré na rozlišování vícero tříd.

Bayesovský klasifikátor

Často se stane, že pro nějaké jevy A,B dokážeme dobře odhadnout P(A|B), ale potřebujeme P(B|A). Mezi nimi můžeme snadno převádět pomocí Bayesovy věty:

P(B|A)=P(A|B)P(B)P(A).

Mějme náhodnou veličinu X, která pro jednu třídu má rozdělení f a pro druhou rozdělení g. Klasifikátor stanovíme tak, že máme nějakou hranici a, přičemž pro x<a zařadíme do první třídy a pro x>a do druhé třídy. Potom pravděpodobnost chyby je

P(E)=af+ag.