Z našeho dřívějšího příspěvku jsme se ponořili do důvodů, proč se pro logistickou regresi používá spíše sigmoidní funkce než normální lineární funkce. V tomto příspěvku budeme pokračovat ve sdílení o nákladové funkci.
Nákladová funkce je důležitá, protože nám udává chyby našich předpovědí a následně je potřebná pro náš algoritmus učení. Konkrétně bychom rádi minimalizovali chyby našich předpovědí, tedy minimalizovali nákladovou funkci. V ideálním případě, kdyby všechny naše chyby byly nulové, je to podobné, jako kdybychom hráli šipkovou hru, ve které by všechny naše šipky zasáhly terč. Na druhou stranu, pokud jsou naše chyby velmi vysoké, znamená to, že naše předpovězené hodnoty se míjejí se všemi skutečnými pozorovanými hodnotami, tj. naše šipky se obecně míjejí s terčem.
Přestože bychom rádi měli nulové chyby při spuštění naší nákladové funkce s našimi předpokládanými hodnotami (dokonalá předpověď pro každou hodnotu), nemusí to být dobrý scénář vzhledem k tomu, že by to mohlo vést k jevu zvanému „vysoký rozptyl“. Více se tomu budeme věnovat v pozdějších spisech.
Pokud se vrátíme k formulaci ztrátové funkce, typickou ztrátovou funkcí by byla minimalizace součtu čtvercových chyb, tj.
Tato funkce však může v průběhu optimalizace vyvolat více lokálních optim, což znamená, že vaše optimalizované řešení nemusí být nejoptimálnější (existuje možnost, že by mohlo existovat lepší řešení). V ideálním případě chceme, aby optimalizované řešení bylo globálním minimem, nikoliv lokálním minimem.
Jak je vidět na výše uvedeném diagramu, můžeme nechtěně inicializovat parametry a optimalizovat je na lokální minimum, aniž bychom dosáhli „skutečného“ globálního minima. Proto by pro nás výše uvedená ztrátová funkce nebyla ideální.
Jaká by tedy mohla být naše ztrátová funkce?
Jedna ze ztrátových funkcí, která se běžně používá pro logistickou regresi, je tato:
Všimněte si, že náklady a ztráty jsem použil zaměnitelně, ale pro ty, kteří jsou zvyklí na přednášky Andrewa Nga, „ztrátová funkce“ je pro jeden trénovací příklad, zatímco „nákladová funkce“ bere průměr za všechny trénovací příklady.
Abyste viděli, proč má tato ztrátová funkce smysl: Předpokládejte, že y = 1, a zaměřte se na horní rovnici, -log(h⊖(x)), chceme, aby byla velmi záporná, protože se jedná o ztrátovou funkci (Připomeňte si, že jako cíl chceme minimalizovat ztrátovou funkci). V důsledku toho bude h⊖(x) velká. Přitom si připomeňme, že h⊖(x) je omezena na maximální hodnotu 1 díky Sigmoidově funkci omezující odhadovanou hypotetickou hodnotu v rozmezí 0 až 1:
h⊖(x) = ŷ = σ(z)
Při y=1 tedy máme ztrátovou funkci minimalizovanou do extrému, kdy ŷ = 1. Dokonalá predikce, která má malé nebo žádné vzniklé ztráty/náklady.
Proti tomu, pokud y = 0, a zaměříme-li se na spodní část rovnice, -log(1- h⊖(x)). Rádi bychom, aby tato hodnota byla vzhledem k našemu cíli minimalizace ztrát velmi záporná. V důsledku toho by 1- h⊖(x) bylo velmi velké a důsledkem toho by h⊖(x) bylo velmi malé. Připomeňme si však, že h⊖(x) je omezeno na minimální hodnotu 0 díky sigmoidní funkci, díky níž se odhadovaná hypotetická hodnota pohybuje v rozmezí 0 až 1.
Při y=0 tedy máme ztrátovou funkci minimalizovanou do extrému, kdy ŷ = 0. Dokonalá předpověď, která má malé nebo žádné vzniklé ztráty/náklady.
Jejich odpovídající grafy budou ilustrovat výše uvedené body: