Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Lineare Regression

Lineare Regression

In diesem Abschnitt werden wir die Konzepte der linearen ML-Algorithmen weiter untersuchen, aber jetzt wird sich unsere Aufgabe darauf konzentrieren, Antworten in Bezug auf kontinuierliche Werte vorherzusagen, anstatt diskrete Klassen, wie wir es in der linearen Klassifizierung getan haben. Unter Berücksichtigung der in der Einführung in ML] erwähnten ML-Anwendung möchten wir nun möglicherweise * wie viel * die Menge einer in Wasser gelösten chemischen Substanz ist, und nicht nur, ob sie gelöst ist oder nicht (binäre Klassifizierung).

Die lineare Regression konzentriert sich auf die Modellierung der Beziehung zwischen Eingangsvariablen (Features) und einer kontinuierlichen Zielvariablen. Sie geht von einem linearen Zusammenhang zwischen den Eingangsmerkmalen und der Zielgröße aus.

Hier ist es wieder unser Ziel, die am besten passende Linie (oder Hyperebene in höheren Dimensionen) zu finden, die den Unterschied zwischen vorhergesagten und tatsächlichen Zielwerten minimiert. Zu diesem Zweck werden wir Folgendes abdecken:

Empirische Risikominimierung (ERM)

Zielfunktion

Wie wir in der Einführung in ML] gesehen haben, ist das Ziel von ML, die Zielfunktion zu minimieren, indem die Parameter des Modells durch Techniken (dh Optimierungsalgorithmen) wie Gradientenabstieg angepasst werden.

Eine der objektiven Funktionen, die wir bei der linearen Regression verwenden können, ist Empirisches Risiko (RR). Wir drücken das empirische Risiko in Form eines Verlustmaßes aus, das nur die Abweichung zwischen Modellvorhersagen und den Zielwerten (oder Labels) unseres Trainingsdatensatzes widerspiegelt und somit keine Regularisierung berücksichtigt. Ziel der empirischen Risikominimierung (RR) ist es, ein Modell zu finden, das die Diskrepanz zwischen Vorhersagen und Beobachtungen der Trainingsdaten minimiert, wobei davon ausgegangen wird, dass es sich gut auf unsichtbare Daten verallgemeinert. So können wir RR wie folgt definieren:

R(θ)=1nt=1nLoss(y(t)θx(t))R(\theta) = \frac{1}{n} \sum_{t=1}^n Loss(y^{(t)}-\theta \cdot x^{(t)})

where nn is the number of training examples, (x(t),y(t))(x^{(t)}, y^{(t)}) is the tt-th training example (feature vector and label, respectively), and LossLoss is a generic loss function. Note that $\cdot§ denotes a dot product.

One common way to express deviations between predictions and observations on the training data is to compute the squared error, (y(t)θx(t))2(y^{(t)}-\theta \cdot x^{(t)})^2, which yields the ordinary least squares (OLS) objective function:

R(θ)=1nt=1n(y(t)θx(t))2/2R(\theta) = \frac{1}{n} \sum_{t=1}^n (y^{(t)}-\theta \cdot x^{(t)})^2/2

Lernalgorithmus

Now, we will use the stochastic gradient descent (SDG) algorithm to update our model θ\theta. Recall that we do this by adjusting the model parameters θ\theta with the gradient of our objective function, i.e., empirical risk, evaluated at each training example. Thus, we nudge θ\theta towards the direction opposite to the gradient θR(θ)\nabla_\theta R(\theta). Note that the function RR above, defined with the squared error as loss function, is differentiable everywhere. We compute the gradient of the empirical risk, which yields:

θR(θ)=(y(t)θx(t))x(t)\nabla_\theta R(\theta) = -(y^{(t)}-\theta \cdot x^{(t)}) \cdot x^{(t)}

Daher können wir unseren Lernalgorithmus wie folgt zusammenfassen:

  1. Initialisieren θ=0\theta = 0

  2. Zufällig auswählen t=1,...,nt = {1, ..., n}

  3. Update θ\theta, so that:

    θ=θη((y(t)θx(t))x(t))θ=θ+η(y(t)θx(t))x(t)\theta = \theta - \eta (- (y^{(t)}-\theta \cdot x^{(t)}) x^{(t)}) \\ \therefore \theta = \theta + \eta (y^{(t)}-\theta \cdot x^{(t)}) x^{(t)}

    where η\eta is the learning rate.

Beachten Sie, dass dieser Lernalgorithmus dem für den Fall der linearen Klassifikation sehr ähnlich ist.

Regularisierung: Ridge-Regression

Zielfunktion

Bisher hat sich unser Optimierungsproblem für das Training eines linearen Regressionsmodells nur auf die Minimierung des Trainingsfehlers (empirische Risikominimierung oder ERM) konzentriert. Ein Regularisierungsbegriff ist jedoch in den meisten Fällen entscheidend, da unser Modell sonst nicht für andere Datensätze verallgemeinern kann (zusätzlich zum Trainingsdatensatz in den Händen). Daher werden wir nun einen Regularisierungsterm in unsere Zielfunktion einführen, der nun ein *ridge Regression * Problem darstellt. Die Ridge-Regression führt einen Regularisierungsbegriff ein, der oft als “Gridge-Strafe” oder “L2-Strafe” für die Objektivfunktion der gewöhnlichen kleinsten Quadrate (OLS) bezeichnet wird. Dieser Strafbegriff (12θ2\frac{1}{2} \| \theta \|^2) steuert die Komplexität des Modells, indem er θ\theta (d.h. Regressionskoeffizienten) gegen Null schrumpft. Daher ist die Objektivfunktion J(θ)J(\theta) für die Gratregression:

J(θ)=λ2θ2+R(θ)J(\theta) = \frac{\lambda}{2} \| \theta \|^2 + R(\theta)

wobei λ\lambda der Regularisierungsparameter ist, den wir in Lineare Klassifizierung behandelt haben.

Lernalgorithmus

Wie bei der Methode der empirischen Risikominimierung (ERM) können wir auch den stochastischen Gradientenabstiegsalgorithmus bei der Gratregression anwenden, nur jetzt müssen wir den Gradienten der neuen Zielfunktion (θJ(θ)\nabla_\theta J(\theta)) nehmen und ihn verwenden, um θ\theta bei jeder Iteration durch den Trainingsdatensatz zu aktualisieren.

Let’s first expand all terms of J(θ)J(\theta):

J(θ)=λ2θ2+R(θ)=λ2θ2+1nt=1n(y(t)θx(t))22J (\theta)= \frac{\lambda}{2} \| \theta \|^2 + R (\theta) = \frac{\lambda}{2} \| \theta \|^2 + \frac{1}{n} \sum_{t=1}^n \frac{(y^{(t)}- \theta \cdot x^{(t)})^2}{2}

Der Gradient kann jetzt berechnet werden als:

θJ(θ)=λθ(y(t)θx(t))x(t)\nabla_\theta J(\theta) = \lambda \theta - (y^{(t)}- \theta \cdot x^{(t)}) x^{(t)}

Daher können wir unseren Lernalgorithmus wie folgt zusammenfassen:

  1. Initialisieren θ=0\theta = 0

  2. Zufällig auswählen t=1,...,nt = {1, ..., n}

  3. Update θ\theta, so that:

    θ=θη(λθ(y(t)θx(t))x(t))\theta = \theta - \eta (\lambda \theta - (y^{(t)} - \theta \cdot x^{(t)}) x^{(t)}) \\

    where η\eta is the learning rate.

Note that by adding a regularization term to our objective function, we are now concerned with finding an optimal model that, rather than fitting the training data perfectly, it is able to generalize to other datasets as well. We do so because we believe that the model should not be adjusted to every single piece of weak evidence or noise contained in the training dataset. Instead, we introduce the regularization parameter λ\lambda, which avoids that θ\theta changes except for when the evidence is strong enough to worth an increase of θ\theta. As the value of λ\lambda increases, so does the training error, but with the hope that our model will generalize better, yielding a lower test error.

Strukturelle vs. Schätzungsfehler

Bei der Auswahl eines ML-Algorithmus machen wir bestimmte Annahmen über die Beziehung zwischen den Features und den Labels. Bei linearer Regression wird angenommen, dass die Beziehung zwischen den Merkmalen und den Etiketten durch eine lineare Gleichung dargestellt werden kann. Wenn diese Annahme verletzt wird, z. B. wenn die wahre Beziehung nichtlinear ist, hat unser Modell einen hohen * Strukturfehler *, da es die zugrunde liegenden Muster in den Daten nicht genau erfassen kann. Strukturfehler umfassen also die Einschränkungen oder Annahmen des gewählten Modells und stellen den irreduziblen Fehler dar, der unabhängig von der Menge der Trainingsdaten nicht beseitigt werden kann. Schätzfehler hingegen ergibt sich aus der Endlichkeit der Trainingsdaten und der daraus resultierenden Unfähigkeit unseres Modells, aus diesen Daten zu passen oder zu verallgemeinern. Schätzungsfehler können auftreten, wenn die verfügbaren Trainingsdaten begrenzt sind oder die wahre zugrunde liegende Verteilung des Problems nicht ausreichend darstellen. In solchen Fällen kann das Modell Schwierigkeiten haben, die wahren Muster und Beziehungen in den Daten zu erfassen, was zu höheren Schätzungsfehlern führt.