Může mi někdo vysvětlit výhody a nevýhody klasifikace SVM, která ji odlišuje od ostatních klasifikátorů?
Může mi někdo vysvětlit výhody a nevýhody klasifikace SVM, která ji odlišuje od ostatních klasifikátorů?
Existují čtyři hlavní výhody: Za prvé má regularizační parametr, díky kterému uživatel přemýšlí o tom, jak se vyhnout nadměrnému přizpůsobení. Zadruhé využívá trik s jádrem, takže můžete stavět na odborných znalostech o problému pomocí inženýrství jádra. Zatřetí je SVM definován problémem konvexní optimalizace (žádná lokální minima), pro který existují účinné metody (např.SMO). A konečně jde o přiblížení vázané na chybovost testu a je za ním podstatná část teorie, která naznačuje, že by to měl být dobrý nápad.
Nevýhody spočívají v tom, že teorie pokrývá pouze skutečně stanovení parametrů pro danou hodnotu regularizace a parametrů jádra a výběr jádra. Svým způsobem SVM posouvá problém over-fitingu z optimalizace parametrů na výběr modelu. Je smutné, že modely jádra mohou být docela citlivé na přílišné přizpůsobení kritériu výběru modelu, viz
G. C. Cawley a N. L. C. Talbot, Over-fiting in selection selection and subsequent selection bias in performance evaluation, Journal of Machine Learning Research, 2010. Research, vol. 11, pp. 2079-2107, July 2010. ( pdf)
Upozorňujeme však, že tento problém není u metod jádra jedinečný, většina metod strojového učení má podobné problémy. Ztráta závěsu použitá v SVM vede k řídkosti. Optimální volba parametrů jádra a regularizace však často znamená, že skončíte se všemi daty podporujícími vektory. Pokud opravdu chcete řídký stroj s jádrem, použijte něco, co bylo od samého začátku navrženo tak, aby bylo řídké (nikoli užitečné jako vedlejší produkt), například Informativní vektorový stroj. Funkce ztráty použitá pro regresi vektoru podpory nemá zjevnou statistickou interpretaci, často lze do funkce ztráty zakódovat odborné znalosti problému. Poisson nebo Beta nebo Gaussian. Podobně v mnoha problémech s klasifikací skutečně chcete pravděpodobnost členství ve třídě, takže by bylo lepší použít metodu, jako je Kernel Logistic Regression, místo post-process výstupu SVM, abyste získali pravděpodobnosti.
To je asi vše, co mě napadne.