2016-05-09 1 views
0

In meiner maschinellen Lernklasse haben wir gelernt, eine 1 an den Merkmalsvektor jeder Stichprobe anzuhängen, wenn viele maschinelle Lernmodelle verwendet werden, um Verzerrungen zu berücksichtigen. Wenn wir beispielsweise eine lineare Regression durchführen und ein Sample die Funktionen f_1, f_2, ..., f_d hat, müssen wir einen "falschen" Feature-Wert von 1 hinzufügen, damit die Regressionsfunktion den Ursprung nicht passieren muss .Muss bei Verwendung von `sklearn` Modellen ein Bias-Term angehängt werden?

Wenn Sie Sklearn-Modelle verwenden, müssen Sie dies selbst tun oder tun ihre Implementierungen das für Sie? Insbesondere interessiert mich, ob dies notwendig ist, wenn Sie eines ihrer Regressionsmodelle oder SVM-Modelle verwenden.

Antwort

0

Nein, Sie fügen keine Verzerrungen hinzu, Modelle definieren Verzerrungen auf ihre eigene Art und Weise. Was Sie während des Kurses gelernt haben, ist generisch, aber nicht perfekt - Lösung. Es ist wichtig für Modelle wie SVM, die niemals "1" s angehängt haben sollten, da dann diese Verzerrung regularisiert würde, was für SVMs einfach falsch ist. Während dies ein schöner theoretischer Trick ist, um zu zeigen, dass man tatsächlich Methoden kreieren kann, die Voreingenommenheit völlig ignorieren, wird es in der Praxis oft auf eine bestimmte Art und Weise behandelt, und scikit-learn macht es für Sie.