Grund für die Nichtverringerung des Bias-Terms (Intercept-Terms) bei der Regression


21

Für ein lineares Modell ist der Schrumpfterm immer .y=β0+xβ+εP(β)

Was ist der Grund, warum wir den Verzerrungsbegriff nicht verkleinern ? Sollen wir den Bias-Term in den neuronalen Netzwerkmodellen verkleinern?β0


Die in scikit-learn verwendete liblineare Bibliothek für logistische Regression bestraft den Verzerrungsterm (ich denke, dies ist ein Implementierungsartefakt, Verzerrung wird als zusätzliche Eingabevariable behandelt)
seanv507

Antworten:


33

Die Elemente des statistischen Lernens von Hastie et al. Definieren Sie die Gratregression wie folgt (Abschnitt 3.4.1, Gleichung 3.41): dh schließe den Intercept-Term explizit von der Ridge-Strafe aus. β 0

β^richdGe=einrGmichnβ{ich=1N(yich-β0-j=1pxichjβj)2+λj=1pβj2},
β0

Dann schreiben sie:

[...] beachten Sie, dass der Intercept aus der Strafzeit herausgelassen wurde. Die Bestrafung des Abschnitts würde das Verfahren von dem für gewählten Ursprung abhängig machen ; Das heißt, das Hinzufügen einer Konstante zu jedem der Ziele würde nicht einfach zu einer Verschiebung der Vorhersagen um den gleichen Betrag . Y c y i cβ0Y.cyichc

In der Tat führt das Hinzufügen von zu allen bei Vorhandensein des Intercept-Terms einfach dazu, dass sich auch um erhöht, und dementsprechend steigen auch alle vorhergesagten Werte um . Dies gilt nicht, wenn der Achsenabschnitt bestraft wird: muss um weniger als erhöht werden .y i β 0 C y i c β 0 Ccyichβ0cy^ichcβ0c

Tatsächlich gibt es einige nette und bequeme Eigenschaften der linearen Regression, die davon abhängen, dass ein geeigneter (ungepunkteter) Intercept-Term vorliegt. ZB sind der Durchschnittswert von und der Durchschnittswert von gleich, und (folglich) ist der quadratische Mehrfachkorrelationskoeffizient gleich dem Bestimmungskoeffizienten : siehe zB diesen Thread für eine Erklärung: Geometrische Interpretation des multiplen Korrelationskoeffizienten und des Bestimmungskoeffizienten .y i R R 2 ( R ) 2 = cos 2 ( y , y ) = y2yichy^ichRR2RR2

(R)2=cos2(y^,y)=y^2y2=R2,
RR2

Das Abfangen zu bestrafen würde dazu führen, dass all dies nicht mehr wahr ist.


2

Erinnern Sie sich an den Zweck des Schrumpfens oder Regularisierens. Es soll verhindert werden, dass der Lernalgorithmus die Trainingsdaten überpasst oder gleichwertig - beliebig große Parameterwerte auswählt. Dies ist wahrscheinlicher für Datensätze mit mehr als wenigen Übungsbeispielen in Gegenwart von Lärm (eine sehr interessante Diskussion über das Vorhandensein von Lärm und dessen Auswirkungen wird in "Learning from Data" von Yaser Abu-Mustafa diskutiert). Ein Modell, das mit verrauschten Daten ohne Regularisierung gelernt wurde, wird an einigen unsichtbaren Datenpunkten wahrscheinlich schlecht abschneiden.

Stellen Sie sich vor diesem Hintergrund 2D-Datenpunkte vor, die Sie in zwei Klassen einteilen möchten. Wenn alle Parameter außer den Bias-Parametern festgelegt sind, wird durch Variieren des Bias-Terms lediglich die Grenze nach oben oder unten verschoben. Sie können dies auf einen höher dimensionalen Raum verallgemeinern.

Der Lernalgorithmus kann keine willkürlich großen Werte für den Bias-Term festlegen, da dies möglicherweise zu einem Bruttoverlustwert führt (das Modell passt nicht zu den Trainingsdaten). Mit anderen Worten, bei einem bestimmten Trainingssatz können Sie (oder ein Lernalgorithmus) die Ebene nicht beliebig weit von der tatsächlichen Ebene entfernen.

Es gibt also keinen Grund, den Bias-Term zu verkleinern, der Lernalgorithmus findet den Guten ohne das Risiko einer Überanpassung.

Ein letzter Hinweis: Ich habe in einem Artikel gesehen, dass es bei der Arbeit in hochdimensionalen Räumen für die Klassifizierung nicht unbedingt erforderlich ist, den Bias-Term zu modellieren. Dies funktioniert möglicherweise für linear trennbare Daten, da mit mehr hinzugefügten Dimensionen mehr Möglichkeiten bestehen, die beiden Klassen zu trennen.


Können Sie Referenzen für einige Artikel angeben, die besagen, dass bei der Arbeit in hochdimensionalen Räumen für die Klassifizierung der Verzerrungsbegriff nicht unbedingt modelliert werden muss?
Chandresh

1

Der Intercept-Term ist absolut nicht immun gegen Schrumpfung. Die allgemeine Formulierung "Schrumpfung" (dh Regularisierung) versetzt den Regularisierungsterm in die Verlustfunktion, z.

RSS(β)=yich-Xichβ2

ReGuleinrichzedLOss(β)=RSS(β)-λf(β)

Wobei normalerweise mit einer Lebesgue-Norm zusammenhängt und ; ein Skalar ist, der steuert, wie viel Gewicht wir auf den Schrumpfungsbegriff legen.λf(β)λ

Wenn Sie den Schrumpfterm wie folgt in die Verlustfunktion einfügen, wirkt er sich auf alle Koeffizienten im Modell aus. Ich vermute, Ihre Frage ergibt sich aus einer Verwirrung über die Notation, in der das (in ) ein Vektor aller Koeffizienten einschließlich von . Ihr lineares Modell wahrscheinlich besser geschrieben werden würde wo ist das „Design - Matrix“ , womit ich meine , es ist Ihre Daten mit einer Spalte von auf der linken Seite angehängt (die Intercept zu nehmen ).P ( β ) β 0 y = X β + ϵ X 1 ' sβP(β)β0y=Xβ+ϵX1s

Jetzt kann ich nicht mit Regularisierung für neuronale Netze sprechen. Es ist möglich, dass Sie für neuronale Netze das Schrumpfen des Bias-Terms vermeiden oder die regulierte Verlustfunktion auf andere Weise als die oben beschriebene Formulierung entwerfen möchten. Ich weiß es einfach nicht. Ich bin jedoch der festen Überzeugung, dass die Gewichtungen und Voreingenommenheitsterme gemeinsam reguliert werden.


2
Es kommt auf die Konvention an, aber zB The Elements of Statistical Learning von Hastie et al. Definieren Sie die Gratregression so, dass der Schnittpunkt nicht beeinträchtigt wird (siehe meine Antwort). Ich vermute, dass dies mehr Standard als sonst sein könnte.
Amöbe sagt Reinstate Monica

1

Ich bin mir nicht sicher, ob die obige Antwort von David Marx ganz richtig ist. Gemäß Andrew Ng wird der Bias / Intercept-Koeffizient üblicherweise nicht in einer linearen Regression reguliert, und in jedem Fall macht es keinen signifikanten Unterschied, ob er reguliert wird oder nicht.


1

Ich werde die einfachste Erklärung geben und dann erweitern.

yt=εt
E[εt]=E[yt]0

β

ββ0

yt=β0+εt
E[yt]=β0+E[εt]
E[εt]=0β0=μ=E[yt]

Dieses Modell ist nicht so sexy wie das Originalmodell, es ist in der Tat ziemlich albern. Es ist jedoch ein legitimes Modell. Sie könnten beispielsweise ANOVA darauf ausführen.

β0=E[yt]

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.