chtěli bychom mít model s polynomiálními features 0. až 3. řádu → měl by vah
pro jednoduchost uvažujeme situaci, kdy a jsou dvě různé features
váhy jsou ale lineárními kombinacemi trénovacích dat
při trénování spolu musíme často násobit pro dvojice řádků trénovacích dat, takže si tyto hodnoty předpočítáme do matice
je zobrazení, které řádku dat přiřazuje polynomiální features
při predikci musíme predikovaný řádek pronásobit s řádky trénovacích dat (jeden z nich označíme jako )
součinu těch features se říká kernel – je to funkce, které dám dva vektory a ona mi vyrobí součin features těch vektorů:
už jsme si ukázali kernel pro kubické features
kernely
chceme maximalizovat šířku marginu (= minimalizovat velikost vah) za podmínky, že každý prvek je na správné straně
abychom mohli jednoduše minimalizovat velikost vah, použili jsme trik, že pro body nejbližší k decision boundary bude platit (škálování je totiž na nás)
díky KKT podmínkám víme, že nás při maximalizaci lagrangiánu zajímají jenom některá trénovací data – ta, která leží na okraji (support vektory)
pro lineárně neseparabilní data potřebujeme soft-margin SVM
k trénování se používá sequential minimal optimization
bereme řádky po jednom, k tomu , náhodně a taky bias, postupně zlepšujeme lagrangián
klasifikace do více tříd