Základy AI
Co je matice záměny?
Jedním z nejvýkonnějších analytických nástrojů v oblasti strojového učení a datové vědy je matice záměny. Maticová záměna je schopná poskytnout výzkumníkům podrobné informace o tom, jak se strojový klasifikátor vyrovnal s cílovými třídami v datové sadě. Maticová záměna prokáže příklady, které byly správně klasifikovány proti špatně klasifikovaným příkladům. Podívejme se blíže na to, jak je maticová záměna strukturována a jak ji lze interpretovat.
Co je maticová záměna?
Začněme jednoduchou definicí maticové záměny. Maticová záměna je prediktivní analytický nástroj. Konkrétně je to tabulka, která zobrazuje a porovnává skutečné hodnoty s předpovězenými hodnotami modelu. V kontextu strojového učení se maticová záměna používá jako metrika pro analýzu výkonu strojového klasifikátoru na datové sadě. Maticová záměna generuje vizualizaci metrik, jako je přesnost, přesnost, specificita a recall.
Důvod, proč je maticová záměna zvláště užitečná, spočívá v tom, že na rozdíl od jiných typů klasifikačních metrik, jako je například jednoduchá přesnost, maticová záměna poskytuje úplnější obraz o tom, jak model fungoval. Používání pouze metriky, jako je přesnost, může vést k situaci, kdy model zcela a konzistentně špatně identifikuje jednu třídu, ale zůstane nezjištěn, protože průměrný výkon je dobrý. Mezitím maticová záměna poskytuje srovnání různých hodnot jako False Negatives, True Negatives, False Positives a True Positives.

Definujme různé metriky, které maticová záměna reprezentuje.
Recall v maticové záměně
Recall je počet skutečně pozitivních příkladů dělený počtem falešně negativních příkladů a celkovým počtem pozitivních příkladů. Jinými slovy, recall reprezentuje podíl skutečných pozitivních příkladů, které strojový klasifikátor klasifikoval. Recall se udává jako procento pozitivních příkladů, které model klasifikoval ze všech pozitivních příkladů obsažených v datové sadě. Tato hodnota se také nazývá „hit rate“ a související hodnota je „sensitivity“, která popisuje pravděpodobnost recallu, nebo rychlost skutečných pozitivních předpovědí.
Přesnost v maticové záměně
Stejně jako recall je přesnost hodnota, která sleduje výkon modelu v klasifikaci pozitivních příkladů. Na rozdíl od recallu se však přesnost zabývá tím, kolik příkladů, které model označil jako pozitivní, bylo skutečně pozitivních. Za tímto účelem se počet skutečných pozitivních příkladů dělí počtem falešně pozitivních příkladů plus skutečných pozitivních příkladů.
Abychom udělali rozdíl mezi recall a přesností jasnějším, přesnost se snaží zjistit procento všech příkladů označených jako pozitivní, které byly skutečně pozitivní, zatímco recall sleduje procento všech skutečných pozitivních příkladů, které model mohl rozpoznat.
Specificita v maticové záměně
Zatímco recall a přesnost jsou hodnoty, které sledují pozitivní příklady a skutečnou pozitivní rychlost, specificita kvantifikuje skutečnou negativní rychlost nebo počet příkladů, které model definoval jako negativní, které byly skutečně negativní. To se vypočítá tak, že se počet příkladů klasifikovaných jako negativní dělí počtem falešně pozitivních příkladů plus skutečných negativních příkladů.
Pochopení maticové záměny

Foto: Jackverr via Wikimedia Commons, (https://commons.wikimedia.org/wiki/File:ConfusionMatrix.png), CC BY SA 3.0
Příklad maticové záměny
Po definování nezbytných termínů, jako je přesnost, recall, sensitivity a specificita, můžeme prozkoumat, jak tyto různé hodnoty jsou reprezentovány v maticové záměně. Maticová záměna se generuje v případech klasifikace, aplikovatelná tehdy, když existují dvě nebo více tříd. Maticová záměna, která se generuje, může být tak vysoká a široká, jak je necessário, a může obsahovat libovolný počet tříd, ale pro účely jednoduchosti prozkoumáme 2 x 2 maticovou záměnu pro binární klasifikační úkol.
Jako příklad předpokládejme, že se klasifikátor používá k určení, zda pacient má nemoc nebo ne. Vlastnosti se budou zadávat do klasifikátoru a klasifikátor vrátí jednu ze dvou různých klasifikací – buď pacient nemá nemoc, nebo ji má.
Začněme levou stranou matice. Levá strana maticové záměny reprezentuje předpovědi, které klasifikátor učinil pro jednotlivé třídy. Binární klasifikační úkol bude mít dvě řádky zde. Pokud jde o horní část matice, sleduje skutečné hodnoty, skutečné třídy, datových instancí.
Interpretace maticové záměny lze provést tak, že se prozkoumají předpovědi modelu proti skutečným štítkům modelu. V tomto případě je hodnota True Positives, počet správných pozitivních předpovědí, umístěna v levém horním rohu. Falešně pozitivní jsou umístěny v pravém horním rohu, kde jsou příklady skutečně negativní, ale klasifikátor je označil jako pozitivní.
Spodní levý roh mřížky zobrazuje instance, které klasifikátor označil jako negativní, ale byly skutečně pozitivní. Nakonec spodní pravý roh maticové záměny je místem, kde se nachází hodnoty True Negative, nebo kde jsou skutečně falešné příklady.
Když datová sada obsahuje více než dvě třídy, maticová záměna roste o tolik tříd. Například, pokud existují tři třídy, maticová záměna bude 3 x 3 maticí. Bez ohledu na velikost maticové záměny je metoda pro interpretaci stejná. Levá strana obsahuje předpovězené hodnoty a skutečné třídy běží přes horní část. Instance, které klasifikátor správně předpověděl, běží diagonálně z levého horního rohu do pravého dolního rohu. Pohledem na matici můžete rozlišit čtyři prediktivní metriky diskutované výše.
Například můžete vypočítat recall tak, že vezmete true pozitiva a falešně negativní, přidáte je вместе a vydělíte je počtem skutečných pozitivních příkladů. Mezitím lze přesnost vypočítat tak, že se spojí falešně pozitivní s skutečnými pozitivy a vydělí se hodnotou na celkový počet skutečných pozitiv.
Zatímco by se někdo mohl zabývat ručním výpočtem metrik, jako je přesnost, recall a specificita, tyto metriky jsou tak běžně používány, že většina knihoven strojového učení má metody pro jejich zobrazení. Například Scikit-learn pro Python má funkci, která generuje maticovou záměnu.












