Přejít na hlavní obsah

Jak funguje školení logistické regrese

Logistická regrese je jedním z nejoblíbenějších algoritmů strojového učení používaných k řešení klasifikačních problémů. Tento algoritmus patří do rodiny učení s učitelem, to znamená, že vyžaduje spolehlivé značení dat. Jedním z hlavních rysů logistické regrese je schopnost řešit úkoly binární klasifikace, kde lze klasifikované objekty klasifikovat pouze do dvou tříd.

Základním principem logistické regrese je aplikace logistické funkce, která umožňuje přeměnu regresního modelu na pravděpodobnostní reprezentaci. To umožňuje posoudit pravděpodobnost, že objekt patří do určité třídy. Základem učení logistické regrese je minimalizace ztrátové funkce, tj. nalezení optimálních parametrů modelu, které minimalizují chybu predikce.

Při výcviku logistické regrese se používá metoda gradientního sestupu. Zpočátku je model inicializován náhodnými hodnotami parametrů. Na každé iteraci algoritmu pak dojde k výpočtu gradientu funkce ztráty podle parametrů modelu a úpravě hodnot parametrů podle směru určeného gradientem. Jak se hodnota ztrátové funkce snižuje, model usiluje o optimální hodnoty parametrů, což umožňuje dosažení nejlepší kvality klasifikace.

Matematické základy

Logistická regrese je založena na matematickém konceptu sigmoidní funkce, známé také jako logistická funkce. Sigmoidní funkce se obvykle používá k odhadu pravděpodobnosti binární události a má tvar:

kde $$ X$ $ je vstupní hodnota.

Při výuce logistické regrese na datovém souboru je úkolem najít optimální váhy $ $ $ w$$ $ $ pro každou známku, které minimalizují chybu modelu a umožňují správně klasifikovat nová data.

Matematicky lze logistickou regresi představit následovně:

kde $ $ h_w (x)$$ - předpovídaná třída (pravděpodobnost), $$w$ - hmotnost,$ $x $ - vektor znaků.

Pro výuku modelu logistické regrese se používá metoda maximální věrohodnosti (maximum Likelihood Estimation, MLE), která využívá princip maximalizace pravděpodobnosti výskytu pozorovaných dat.

Optimalizace vah $$ $ w$ $ $ probíhá minimalizací funkce hodnoty (cost function), která měří chybu předpovědí modelu. Často se používá funkce hodnoty logaritmické ztráty( log loss), známá také jako binární Cross-entropie (binary cross-entropy):

kde $m$$ $ - počet pozorování, $y$ $ $ - skutečné třídy, $ h_w (x)$$ - předpovězená třída.

Minimalizace funkce hodnoty lze dosáhnout pomocí různých optimalizačních algoritmů, jako je přechodový sestup (gradient descent) nebo jeho variace.

Matematické základy logistické regrese tak umožňují vybudovat model, který kvalitativně předpovídá binární datové třídy na základě pravděpodobnostních principů.

Aktivační funkce

Sigmoidní funkce je definována na reálné ose a přijímá hodnoty v intervalu (0, 1). Matematicky se zapisuje následovně:

Graficky je sigmoidní funkce " s " křivkou. Hodnoty funkce jsou mezi 0 a 1, což umožňuje interpretovat je jako pravděpodobnosti. Větší kladné hodnoty funkce budou odpovídat pravděpodobnosti blízké 1 a větší záporné hodnoty pravděpodobnosti blízké 0.

Právě pomocí funkce aktivace sigmoidní regrese se provádí binární klasifikace. Pokud výsledná pravděpodobnost překročí určitou hranici (obvykle 0.5) pak objekt patří do jedné třídy, jinak do jiné třídy.

Kromě sigmoidních funkcí lze použít i další aktivační funkce, například hyperbolický tangens (tanh) nebo ReLU.

Metoda gradientního sestupu

Přechodový sestup funguje na principu iterativní aktualizace parametrů modelu na základě gradientu funkce hodnoty. Gradient funkce hodnoty ukazuje směr největšího nárůstu funkce v každém bodě prostoru parametrů modelu. Cílem metody gradientního sestupu je pohybovat se opačným směrem než gradientem hodnotové funkce při hledání minima funkce.

Algoritmus gradientního sestupu začíná určitou inicializací parametrů modelu. Poté postupně aktualizuje hodnoty parametrů v každé iteraci a pohybuje se ve směru obráceném ke gradientu funkce hodnoty.

V každé iteraci jsou hodnoty parametrů aktualizovány následovně:

nová hodnota parametru = Stará hodnota parametru - rychlost učení * gradient funkce hodnoty

Rychlost učení (learning rate) určuje, jak silně se aktualizují hodnoty parametrů v každé iteraci. Pokud zvolíte příliš velkou hodnotu rychlosti učení, algoritmus se může rozejít a nesejde se na optimální hodnoty parametrů. Pokud zvolíte příliš malou hodnotu rychlosti učení, algoritmus se může sbíhat velmi pomalu.

Metoda gradientního sestupu pokračuje v aktualizaci hodnot parametrů, dokud není dosaženo stavu zastavení, jako je určitý počet iterací nebo malá změna hodnot parametrů.

V důsledku fungování metody gradientního sestupu, školení logistické regrese najde optimální hodnoty parametrů, které minimalizují funkci nákladů a umožňují modelům předpovídat pravděpodobnosti tříd na nových datech.

Algoritmus učení

Pro školení logistické regrese je třeba provést řadu kroků:

1. Příprava dat: je nutné předem zpracovat a připravit data pro školení modelu. Tato fáze zahrnuje vyčištění dat od emisí, vyplnění chybějících hodnot, škálování znaků a další podobné konverze dat.

2. Inicializace parametrů: je nutné inicializovat počáteční hodnoty parametrů logistické regrese. Obvykle se to provádí náhodně nebo pomocí nulových hodnot.

3. Přímá distribuce: pro každý příklad dat se provádí přímá distribuce, to znamená, že se vypočítá lineární kombinace znaků pomocí současných parametrů modelu.

4. Výpočet aktivační funkce: lineární kombinace je vedena aktivační funkcí, která převádí výsledek na hodnotu mezi 0 a 1. V logistické regresi se často používá polynomiální aktivační funkce známá jako logistická funkce.

5. Výpočet chyby: po aplikaci aktivační funkce se vypočítá chyba modelu pomocí zvolené funkce ztráty. Jedním z běžných voleb je logaritmická ztrátová funkce, známá také jako Cross-entropie.

6. Reverzní distribuce: chyby se šíří zpět prostřednictvím modelu za účelem aktualizace parametrů. Gradientní sestup se obvykle používá k výpočtu gradientů parametrů.

7. Aktualizace možností: možnosti jsou aktualizovány ve směru obráceném ke gradientu pomocí zvoleného kroku učení nebo rychlosti učení.

8. Opakování kroků 3 až 7: proces přímého a zpětného šíření se opakuje do konvergence modelu nebo dosažení maximálního počtu iterací.

9. Hodnocení modelu:po školení modelu je třeba vyhodnotit jeho výkon na zpožděném souboru dat. K tomu se používají různé metriky hodnocení, jako je přesnost, úplnost, F-míra atd.

Po dokončení těchto kroků se získá vyškolený model logistické regrese,který lze použít k předpovídání tříd nových příkladů dat.

Příprava dat

Před zahájením školení logistické regrese je nutné provést přípravu dat. Tato fáze zahrnuje řadu kroků a konverzí, které vám umožní uvést data do formátu vhodného pro učení.

Prvním krokem je stahování dat. K tomu lze použít různé zdroje, jako jsou soubory CSV, databáze nebo požadavky API. Po nahrání dat je třeba je analyzovat, abychom porozuměli jejich struktuře a obsahu. To pomůže při určování cílové proměnné a znaků, které budou použity k výuce modelu.

Následuje vymazání dat. Zahrnuje odstranění nebo výměnu chybějících hodnot, převod kategorických proměnných do číselného formátu, odstranění emisí a normalizaci dat. Vyčištěná data pomohou vyhnout se problémům při učení modelu a zvýší kvalitu předpovědí.

Důležitým krokem při přípravě dat je také jejich rozdělení na výukové a testovací vzorky. Výukový vzorek bude použit k výuce modelu a testovací vzorek bude použit k posouzení jeho kvality a ověření nových dat.

Po přípravě dat lze model vycvičit pomocí logistické regrese. Během procesu učení bude model analyzovat data a přizpůsobovat váhy pro každou známku, aby se minimalizovala chyba předpovědi. Výsledný model lze dlouhodobě využít k předpovídání nových dat.