Co je regrese?
Regrese funguje tak, že vytvoří vztah mezi proměnnými v datech, která představují charakteristiky – známé jako vlastnosti – pozorované věci a proměnnou, kterou se snažíme předpovědět – označovanou jako popisek.
Vzpomeňte si, že naše společnost půjčuje jízdní kola a chce předpovědět očekávaný počet pronájmů v daném dni. V tomto případě funkce zahrnují například den v týdnu, měsíc a tak dále, zatímco popisek je počet půjčoven kol.
Pro trénování modelu začneme ukázkou dat obsahujícími funkce, stejně jako známé hodnoty popisku; v tomto případě potřebujeme historická data, která zahrnují data, povětrnostní podmínky a počet půjčoven kol.
Pak tuto ukázku dat rozdělíme na dvě podmnožina:
- Trénovací datová sada, na kterou použijeme algoritmus, který určuje funkci, která popisuje vztah mezi hodnotami atributů a známými hodnotami popisků.
- Ověřovací nebo testovací datová sada, kterou můžeme použít k vyhodnocení modelu, pomocí něhož vygenerujeme předpovědi pro popisek a porovnáme je se skutečnými známými hodnotami popisků.
Použití historických dat se známými hodnotami popisků k trénování modelu představuje regresi jako příklad strojového učení pod dohledem .
Jednoduchý příklad
Pojďme se podívat, jak proces trénování a hodnocení funguje v zásadě. Předpokládejme, že scénář zjednodušíme tak, abychom k predikci popisku půjčování kol použili jednu funkci – průměrnou denní teplotu.
Začneme s některými daty, která obsahují známé hodnoty pro funkci průměrné denní teploty a popisek půjčovny kol.
| Teplota | Nájemné |
|---|---|
| 56 | 115 |
| 61 | 126 |
| 67 | 137 |
| 72 | 140 |
| 76 | 152 |
| 82 | 156 |
| 54 | 114 |
| 62 | 129 |
Teď náhodně vybereme pět z těchto pozorování a použijeme je k trénování regresního modelu. Když mluvíme o "trénování modelu", znamená to, že hledáme funkci (matematickou rovnici; zavoláme ji f), která může použít funkci teploty (kterou budeme volat x) k výpočtu počtu pronájmů (které budeme volat y). Jinými slovy, musíme definovat následující funkci: f(x) = y.
Naše trénovací datová sada vypadá takto:
| linka | y |
|---|---|
| 56 | 115 |
| 61 | 126 |
| 67 | 137 |
| 72 | 140 |
| 76 | 152 |
Začněme vykreslením trénovacích hodnot pro x a y v grafu:
Teď musíme tyto hodnoty přizpůsobit funkci, což umožňuje určité náhodné odchylky. Pravděpodobně vidíte, že vykreslené body tvoří téměř rovnou diagonální čáru; Jinými slovy, mezi x a y je zjevný lineární vztah, takže potřebujeme najít lineární funkci, která je pro vzorek dat nejvhodnější. K určení této funkce můžeme použít různé algoritmy, které nakonec najdou přímku s minimální celkovou odchylkou od vykreslovaných bodů; Nějak tak:
Čára představuje lineární funkci, kterou lze použít s libovolnou hodnotou x k použití sklonu přímky a jejího průsečíku (kde čára kříží osu y, když x je 0), aby se vypočítala y. Pokud bychom v tomto případě prodloužili čáru vlevo, zjistili bychom, že když x je 0, y je asi 20 a sklon přímky je takový, že pro každou jednotku x , kterou se pohybujete podél doprava, y se zvýší o přibližně 1,7. Funkci f tedy můžeme vypočítat jako 20 + 1,7x.
Teď, když jsme definovali naši prediktivní funkci, můžeme ji použít k predikci popisků ověřovacích dat, která jsme si podrželi, a porovnat předpovězené hodnoty (což obvykle označujeme se symbolem ŷ nebo "y-hat") se skutečnými známými hodnotami y .
| linka | y | ŷ |
|---|---|---|
| 82 | 156 | 159.4 |
| 54 | 114 | 111.8 |
| 62 | 129 | 125.4 |
Pojďme se podívat, jak se hodnoty y a ŷ porovnávají v grafu:
Vykreslené body, které jsou na čáře funkce, jsou predikované hodnoty ŷ vypočítané funkcí a ostatní vykreslované body jsou skutečnými hodnotami y .
Existují různé způsoby, jak můžeme měřit odchylku mezi predikovanými a skutečnými hodnotami a pomocí těchto metrik můžeme vyhodnotit, jak dobře model predikuje.
Poznámka:
Strojové učení je založené na statistikách a matematikách a je důležité si uvědomit konkrétní termíny, které používají statistici a matematiki (a proto datoví vědci). Rozdíl mezi predikovanou hodnotou popisku a skutečnou hodnotou popisku si můžete představit jako míru chyby. V praxi jsou však "skutečné" hodnoty založeny na ukázkových pozorováních (které mohou být samy o sobě předmětem určité náhodné odchylky). Abychom věděli, že porovnáváme predikovanou hodnotu (ŷ) s pozorovanou hodnotou (y), odkazujeme na rozdíl mezi nimi jako zbytky. Můžeme shrnout rezidua pro všechny predikce ověřovacích dat, abychom vypočítali celkovou ztrátu v modelu jako míru jeho prediktivního výkonu.
Jedním z nejběžnějších způsobů, jak změřit ztrátu, je kvadratický rezidua, sečíst čtverce a vypočítat střední hodnotu. Umocnění reziduí způsobuje, že se výpočet zakládá na absolutních hodnotách (bez ohledu na to, zda je rozdíl záporný nebo kladný) a přikládá větší váhu větším rozdílům. Tato metrika se nazývá Střední kvadratická chyba.
Pro naše ověřovací data výpočet vypadá takto:
| y | ŷ | y - ŷ | (y - ŷ)2 |
|---|---|---|---|
| 156 | 159.4 | -3.4 | 11.56 |
| 114 | 111.8 | 2,2 | 4.84 |
| 129 | 125.4 | 3,6 | 12.96 |
| Suma | ∑ | 29,36 | |
| Střední hodnota | x̄ | 9.79 |
Proto je ztráta našeho modelu založená na metrice MSE 9,79.
Takže, je to nějaká dobrá? Je obtížné říct, protože hodnota MSE není vyjádřena ve smysluplné měrné jednotce. Víme, že čím nižší je hodnota, tím menší ztráta je v modelu, a proto je lepší, že se predikuje. Díky tomu je užitečná metrika pro porovnání dvou modelů a nalezení nejvhodnější metriky.
Někdy je užitečnější vyjádřit ztrátu ve stejné měrné jednotce jako samotná předpovězená hodnota popisku; v tomto případě počet pronájmů. Můžete toho dosáhnout vypočítáním druhé odmocniny MSE, což vytvoří metriku známou, nepřekvapivě, jako odmocnina střední kvadratické chyby (RMSE).
√9,79 = 3,13
RmsE našeho modelu tedy značí, že ztráta je jen více než 3, což můžete volně interpretovat, což znamená, že v průměru jsou nesprávné předpovědi chybné kolem tří pronájmů.
Existuje mnoho dalších metrik, které lze použít k měření ztráty v regresi. Například R2 (R-Squared) ( někdy označovaný jako koeficient stanovení) je korelace mezi x a y čtvercem. Výsledkem je hodnota mezi 0 a 1, která měří velikost rozptylu, kterou model může vysvětlit. Obecně platí, že čím blíže je tato hodnota 1, tím lépe model predikuje.