vzhledem k libovolné datové sadě obvykle nevíte, které jádro může fungovat nejlépe. Doporučuji nejprve začít s nejjednodušším prostorem hypotézy-vzhledem k tomu, že o vašich datech toho moc nevíte-a propracovat se k složitějším prostorům hypotéz. Takže, lineární jádro funguje v pořádku, pokud váš dataset pokud lineárně oddělitelné; nicméně, pokud vaše dataset není lineárně separovatelné, lineární jádra se nebude snižovat to (téměř doslova ;)).,
pro jednoduchost (a vizualizační účely) předpokládejme, že naše datová sada se skládá pouze ze 2 rozměrů. Níže jsem vykreslil rozhodovací oblasti lineárního SVM na 2 vlastnosti datového souboru iris:
to funguje dokonale. A tady přichází jádro RBF SVM:
nyní to vypadá, že jak lineární, tak RBF jádro SVM by na tomto datovém souboru fungovalo stejně dobře. Tak proč preferovat jednodušší, lineární hypotézu? Myslete na Occamův břitva v tomto konkrétním případě., Lineární SVM je parametrický model, RBF jádro SVM není, a složitost druhé roste s velikostí tréninkové sady. Nejen, že je dražší trénovat jádro SVM RBF, ale musíte také udržovat matici jádra kolem, a projekce do tohoto „nekonečného“ vyššího rozměrového prostoru, kde se data stanou lineárně oddělitelnými, je také dražší během predikce. Kromě toho máte více hyperparametrů, takže výběr modelu je také dražší! A konečně je mnohem snazší překonat složitý model!,
dobře, to, co jsem řekl výše, zní velmi negativně, pokud jde o metody jádra, ale opravdu záleží na datovém souboru. E. g., pokud vaše data nejsou lineárně oddělitelné, to nedává smysl použít lineární klasifikátor:
V tomto případě, RBF jádra by dávalo mnohem větší smysl:
V každém případě, já bych neměl obtěžovat příliš mnoho o polynomiální kernel. V praxi je méně užitečné pro efektivitu (výpočetní i prediktivní) výkonnostní důvody., Pravidlo je tedy: pro lineární problémy použijte Lineární SVMs (nebo logistickou regresi) a nelineární jádra, jako je jádro radiální základní funkce, pro nelineární problémy.
rozhodovací oblast jádra RBF SVM je ve skutečnosti také lineární rozhodovací oblastí., Co RBF jádra SVM vlastně dělá, je vytvořit non-lineární kombinace funkcí k povznesení své vzorky na vyšší dimenzionální příznakový prostor, kde můžete použít lineární rozhodovací hranice do samostatné třídy:
Ano, výše, prošel jsem si přes intuitivní příklad, kde můžeme představit naše data v 2 rozměrech … ale co děláme v reálném světě problém, tj., dataset s více než 2 rozměry? Zde chceme dávat pozor na naši objektivní funkci: minimalizaci ztráty závěsu., Nastavili bychom hyperparametrové vyhledávání (například vyhledávání v mřížce) a porovnali různá jádra mezi sebou. Na základě funkce ztráty (nebo výkonnostní metriky, jako je přesnost, F1, MCC, Roc auc atd.) mohli bychom určit, které jádro je pro daný úkol“ vhodné“.
Bio: Sebastian Raschka je Datový Vědec‘ a Strojového Učení nadšenec s velkou vášní pro Python & open source. Autor „Python Machine Learning“. Michiganská Státní Univerzita.
originál. Přemístěno se svolením.,
související:
- kdy hluboké učení funguje lépe než SVMs nebo náhodné lesy?
- vývoj klasifikace jako učebního stroje
- proč implementovat algoritmy strojového učení od nuly?
Napsat komentář