Nerovnováhy dat

Dokončeno

Když mají popisky dat více kategorií než jinou, říkáme, že máme nerovnováhu dat. Vzpomeňte si například, že v našem scénáři se snažíme identifikovat objekty nalezené senzory dronů. Naše data jsou nevyvážená, protože v našich trénovacích datech existuje výrazně různý počet turistických turistů, zvířat, stromů a kamenů. Můžeme to vidět buď tabulací těchto dat:

Popisek Tramp Zvíře Strom Kámen
Počet 400 200 800 800

Nebo ho vykreslujete:

Pruhový graf zobrazující stejný počet popisků stromu a hornin s méně štítky zvířat a osob.

Všimněte si, že většina dat jsou stromy nebo kameny. Tento problém nemá vyvážená datová sada.

Pokud bychom se například snažili předpovědět, jestli je objekt pěší turistikou, zvířetem, stromem nebo kamenem, v ideálním případě bychom chtěli stejný počet všech kategorií, například takto:

Popisek Tramp Zvíře Strom Kámen
Počet 550 550 550 550

Pokud bychom se jednoduše snažili předpovědět, jestli byl objekt pěší turistikou, ideálně bychom chtěli stejný počet turistických objektů a ne pěších objektů:

Popisek Tramp Non-Hiker
Počet 1100 1100

Proč jsou nevyváženosti dat důležité?

Nevyváženosti dat jsou důležité, protože modely se mohou naučit napodobovat tyto nerovnováhy, pokud není žádoucí. Představte si například, že jsme vytrénovali model logistické regrese, který identifikuje objekty jako pěší turistiku nebo ne pěší turistiku. Pokud dominují trénovací data popisky "hiker", trénování by model předčítá tak, aby téměř vždy vracel popisky "hiker". V reálném světě ale můžeme zjistit, že většina věcí, které drony narazí, jsou stromy. Zkreslený model by pravděpodobně označoval mnoho z těchto stromů jako turisté.

Tento jev probíhá, protože nákladové funkce ve výchozím nastavení určují, jestli byla zadána správná odpověď. To znamená, že pro zkreslenou datovou sadu je nejjednodušší způsob, jak model dosáhnout optimálního výkonu, může být prakticky ignorovat poskytované funkce a vždy nebo téměř vždy vrátit stejnou odpověď. To může mít zničující důsledky. Představte si například, že náš model hiker/not-hiker je trénován na datech, kde jen jeden na 1 000 vzorků obsahuje pěší turistiku. Model, který se naučil vrátit "ne-hiker" pokaždé, má přesnost 99,9 %! Zdá se, že tato statistika je nevyřízená, ale model je nepoužitý, protože nám nikdy neřekne, jestli je někdo na hoře, a my nebudeme vědět, abychom je zachránili, pokud dojde k lavině.

Předsudky v konfuzní matici

Matrice nejasnosti jsou klíčem k identifikaci nerovnováhy dat nebo odchylky modelu. V ideálním scénáři mají testovací data přibližně sudý počet popisků a předpovědi vytvořené modelem jsou také přibližně rozložené mezi popisky. V případě 1000 ukázek může model, který je nestranný, ale často dostává nesprávné odpovědi, vypadat nějak takto:

Diagram zjednodušené konfuzní matice s 250 pro každý datový bod

Můžeme říci, že vstupní data jsou nestranná, protože součty řádků jsou stejné (500 každý), což znamená, že polovina popisků je "true" a polovina je "false". Podobně můžeme vidět, že model dává nestranné odpovědi, protože vrací skutečnou polovinu času a nepravdí druhou polovinu času.

Naproti tomu zkreslená data většinou obsahují jeden druh popisku, například takto:

Diagram zjednodušené konfuzní matice se 400 pro pravdivě negativní hodnoty, 100 pro falešně negativní výsledky, 400 pro falešně pozitivní výsledky a 100 pro pravdivě pozitivní výsledky

Podobně zkreslený model většinou vytváří jeden druh popisku, například takto:

Diagram zjednodušené konfuzní matice se 400 pro pravdivě negativní výsledky, 400 pro falešně negativní výsledky, 100 pro falešně pozitivní výsledky a 100 pro pravdivě pozitivní výsledky

Předsudky modelu nejsou přesné.

Mějte na paměti, že předsudky nejsou přesné. Například některé z předchozích příkladů jsou zkreslené a jiné nejsou, ale všechny ukazují model, který získá správnou odpověď 50 % času. Jako krajnější příklad ukazuje následující matice nestranný model, který je nepřesný:

Diagram zjednodušené konfuzní matice s 10 pravdivě negativními výsledky, 490 pro falešně negativní výsledky, 490 pro falešně pozitivní výsledky a 10 pro pravdivě pozitivní výsledky

Všimněte si, jak se počet řádků a sloupců přidá do 500, což znamená, že jsou data vyvážená a model není zkreslený. Tento model ale dostává téměř všechny nesprávné odpovědi.

Samozřejmě naším cílem je mít modely přesné a nestranné, například:

Diagram zjednodušené konfuzní matice se 400 pro pravdivě negativní výsledky, 100 pro falešně negativní výsledky, 100 pro falešně pozitivní výsledky a 400 pro pravdivě pozitivní výsledky

… ale musíme zajistit, aby naše přesné modely nejsou zkreslené, jednoduše proto, že data jsou:

Diagram zjednodušené konfuzní matice s 900 pro pravdivě negativní výsledky, 50 pro falešně negativní výsledky, 10 pro falešně pozitivní výsledky a 20 pro pravdivě pozitivní výsledky

V tomto příkladu si všimněte, že skutečné popisky jsou většinou false (levý sloupec zobrazující nerovnováhu dat) a model také často vrací hodnotu false (horní řádek znázorňující odchylku modelu). Tento model není vhodný pro správné poskytování odpovědí True.

Předcházení důsledkům nevyvážených dat

Mezi nejjednodušší způsoby, jak se vyhnout důsledkům nevyvážených dat, patří:

  • Vyhněte se tomu díky lepšímu výběru dat.
  • "Převzorkovat" vaše data tak, aby obsahovala duplikáty třídy menšinového označení.
  • Proveďte změny nákladové funkce tak, aby upřednostňovala méně běžné popisky. Pokud je například stromově zadána nesprávná odpověď, může funkce nákladů vrátit hodnotu 1; i když se na Hiker provede nesprávná odpověď, může se vrátit 10.

Tyto metody prozkoumáme v následujícím cvičení.