Klasifikace s více třídami
Vícetřídová klasifikace se používá k predikci, do které z více možných tříd patří pozorování. Jako technika strojového učení pod dohledem se řídí stejným iterativním trénováním, ověřováním a vyhodnocením procesu jako regrese a binární klasifikace, ve které se podmnožina trénovacích dat uchovává, aby se ověřil trénovaný model.
Příklad – klasifikace s více třídami
Algoritmy klasifikace s více třídami se používají k výpočtu hodnot pravděpodobnosti pro více popisků tříd a umožňují modelu předpovědět nejpravděpodobnější třídu pro dané pozorování.
Pojďme se podívat na příklad, ve kterém máme několik pozorování tučňáků, ve kterém je zaznamenána délka překlopení (x) každého tučňáka. Pro každé pozorování data zahrnují druhy tučňáků (y), které jsou kódovány takto:
- 0: Adelie
- 1: Gentoo
- 2: Chinstrap
Poznámka:
Stejně jako v předchozích příkladech v tomto modulu by skutečný scénář obsahoval více hodnot funkcí (x). K jednoduchému udržování věcí použijeme jednu funkci.
Délka překlopení (x) | Druhy (y) |
167 | 0 |
172 | 0 |
225 | 2 |
197 | 0 |
189 | 0 |
232 | 2 |
158 | 0 |
Trénování klasifikačního modelu s více třídami
K trénování klasifikačního modelu s více třídami potřebujeme použít algoritmus pro přizpůsobení trénovacích dat funkci, která vypočítá hodnotu pravděpodobnosti pro každou možnou třídu. K tomu můžete použít dva druhy algoritmů:
- Algoritmy OvR (One-vs-Rest)
- Multinomické algoritmy
Algoritmy OvR (One-vs-Rest)
Algoritmy one-vs-Rest trénují binární klasifikační funkci pro každou třídu, přičemž každá vypočítá pravděpodobnost, že pozorování je příkladem cílové třídy. Každá funkce vypočítá pravděpodobnost pozorování, která je specifickou třídou ve srovnání s jakoukoli jinou třídou. V našem modelu klasifikace druhů tučňáků by algoritmus v podstatě vytvořil tři binární klasifikační funkce:
- f0(x) = P(y=0 | x)
- f1(x) = P(y=1 | x)
- f2(x) = P(y=2 | x)
Každý algoritmus vytvoří funkci sigmoid, která vypočítá hodnotu pravděpodobnosti mezi 0,0 a 1,0. Model natrénovaný pomocí tohoto typu algoritmu predikuje třídu pro funkci, která vytváří výstup s nejvyšší pravděpodobností.
Multinomické algoritmy
Alternativním přístupem je použití multinomického algoritmu, který vytvoří jednu funkci, která vrátí výstup s více hodnotami. Výstup je vektor (matice hodnot), který obsahuje rozdělení pravděpodobnosti pro všechny možné třídy – se skóre pravděpodobnosti pro každou třídu, která při součtu sečtou až 1,0:
f(x) =[P(y=0|x), P(y=1|x), P(y=2|x)]
Příkladem tohoto typu funkce je funkce softmax , která by mohla vytvořit výstup jako v následujícím příkladu:
[0.2, 0.3, 0.5]
Prvky vektoru představují pravděpodobnosti pro třídy 0, 1 a 2; v tomto případě je třída s nejvyšší pravděpodobností 2.
Bez ohledu na to, jaký typ algoritmu se používá, model používá výslednou funkci k určení nejpravděpodobnější třídy pro danou sadu funkcí (x) a predikuje odpovídající popisek třídy (y).
Vyhodnocení klasifikačního modelu s více třídami
Klasifikátor s více třídami můžete vyhodnotit výpočtem metrik binární klasifikace pro každou jednotlivou třídu. Alternativně můžete vypočítat agregované metriky, které berou v úvahu všechny třídy.
Předpokládejme, že jsme ověřili klasifikátor s více třídami a získali následující výsledky:
Délka překlopení (x) | Skutečné druhy (y) | Predikované druhy (ŷ) |
---|---|---|
165 | 0 | 0 |
171 | 0 | 0 |
205 | 2 | 0 |
195 | 1 | 1 |
183 | 1 | 1 |
221 | 2 | 2 |
214 | 2 | 2 |
Konfuzní matice klasifikátoru s více třídami je podobná matoucí matici binárního klasifikátoru s tím rozdílem, že zobrazuje počet předpovědí pro každou kombinaci predikovaných (ŷ) a popisků skutečné třídy (y):
Z této konfuzní matice můžeme určit metriky pro každou jednotlivou třídu následujícím způsobem:
Třída | TP | TN | FP | FN | Přesnost | Odvolat | Počet deset. míst | F1-Score |
---|---|---|---|---|---|---|---|---|
0 | 2 | 5 | 0 | 0 | 1.0 | 1.0 | 1.0 | 1.0 |
1 | 2 | 4 | 0 | 0 | 0,86 | 1.0 | 0.67 | 0,8 |
2 | 2 | 4 | 0 | 1 | 0,86 | 0.67 | 1.0 | 0,8 |
K výpočtu celkové přesnosti, úplnosti a přesnosti metrik použijete celkový součet metrik TP, TN, FP a FN :
- Celková přesnost = (13+6)÷(13+6+1+1) = 0,90
- Celkový úplnost = 6÷(6+1) = 0,86
- Celková přesnost = 6÷(6+1) = 0,86
Celkové skóre F1 se počítá pomocí celkových metrik úplnosti a přesnosti:
- Celkové skóre F1 = (2x0,86x0,86)÷(0,86+0,86) = 0,86