Lineare Regression - ChristianHerta

33

Transcript of Lineare Regression - ChristianHerta

Page 1: Lineare Regression - ChristianHerta

Problemstellung Kostenfunktion Gradientenabstiegsverfahren

Lineare Regression

Christian Herta

Oktober, 2013

1 von 33 Christian Herta Lineare Regression

Page 2: Lineare Regression - ChristianHerta

Problemstellung Kostenfunktion Gradientenabstiegsverfahren

Lernziele

Lineare RegressionKonzepte des Maschinellen Lernens:

Lernen mittels TrainingsmengeKostenfunktion (cost function)Gradientenabstiegsverfahren (gradient descent)

2 von 33 Christian Herta Lineare Regression

Page 3: Lineare Regression - ChristianHerta

Problemstellung Kostenfunktion Gradientenabstiegsverfahren

Outline

1 Problemstellung

2 Kostenfunktion

3 Gradientenabstiegsverfahren

3 von 33 Christian Herta Lineare Regression

Page 4: Lineare Regression - ChristianHerta

Problemstellung Kostenfunktion Gradientenabstiegsverfahren

Lineare Regression

Überwachtes Lernen(supervised learning):

m-Beobachtungen: {x (i)}mit Zielwerten {y (i)}Ziel: Vorhersage einesWertes y für einen neuenWert für x.

Lineares ModellWie sieht dieGeradengleichung aus?

4 von 33 Christian Herta Lineare Regression

Page 5: Lineare Regression - ChristianHerta

Problemstellung Kostenfunktion Gradientenabstiegsverfahren

Lineare Regression

Überwachtes Lernen(supervised learning):

m-Beobachtungen: {x (i)}mit Zielwerten {y (i)}Ziel: Vorhersage einesWertes y für einen neuenWert für x.

Lineares Modell (zweiParameter):hΘ(x) = Θ0 + Θ1x

4 von 33 Christian Herta Lineare Regression

Page 6: Lineare Regression - ChristianHerta

Problemstellung Kostenfunktion Gradientenabstiegsverfahren

Lineare Regression

Idee: Finde eine Gerade hΘ(x), die �möglichst nahe� zu denDatenpunkten ist.

5 von 33 Christian Herta Lineare Regression

Page 7: Lineare Regression - ChristianHerta

Problemstellung Kostenfunktion Gradientenabstiegsverfahren

Trainingsmenge

Notation:

m: Anzahl derTrainingsbeispiele

x : Inputvariable

y : Outputvariable

(x , y): ein Trainingsbeispiel

(x (i), y (i)):ite-Trainingsbeispiel

Beispieldatensatz: Hg-PCVhaemoglobin packed celllevel / g/dL (x) volume (y)

15.5 0.45013.6 0.42013.5 0.44013.0 0.395. . . . . .

6 von 33 Christian Herta Lineare Regression

Page 8: Lineare Regression - ChristianHerta

Problemstellung Kostenfunktion Gradientenabstiegsverfahren

Übersicht: Trainingsverfahren

Modell hΘ(x)

Bestimmen derModellparameter Θmittels Lernen aus denDaten (Trainingsmenge)

Funktion hΘ : Hypothese

7 von 33 Christian Herta Lineare Regression

Page 9: Lineare Regression - ChristianHerta

Problemstellung Kostenfunktion Gradientenabstiegsverfahren

Lineare Regression mit einer Variable (Univariate LineareRegression)

Warum der Name �Lineare Regression mit einer Variable�?

Eine Variable: x

Hypothese hΘ(x) = Θ0 + Θ1x

Hypothese ist linear bezüglich der Variable x

Hypothese ist linear bezüglich der anpassbaren ParameterΘ0,Θ1.

Vorhersage einer Flieÿkomma-Zahl mittels der Hypothese:Regression

8 von 33 Christian Herta Lineare Regression

Page 10: Lineare Regression - ChristianHerta

Problemstellung Kostenfunktion Gradientenabstiegsverfahren

Outline

1 Problemstellung

2 Kostenfunktion

3 Gradientenabstiegsverfahren

9 von 33 Christian Herta Lineare Regression

Page 11: Lineare Regression - ChristianHerta

Problemstellung Kostenfunktion Gradientenabstiegsverfahren

Kostenfunktion (cost fuction)

AusgangspunktHypothese hΘ(x) = Θ0 + Θ1x

Trainingsmenge D (Paare (x , y) )

Ziel: Bestimmen der Modellparameter Θ = {Θ0,Θ1} mittelsLernen aus den Daten (Trainingsmenge)

Kostenfunktion ((squared error) cost function):

JD(Θ) =12m

m∑i=1

(hΘ(x (i))− y (i))2

Ziel: Minimieren der Kosten(funktion)

minimizeθJ(Θ)

10 von 33 Christian Herta Lineare Regression

Page 12: Lineare Regression - ChristianHerta

Problemstellung Kostenfunktion Gradientenabstiegsverfahren

Kostenfunktion (cost fuction)

Beachte Kostenfuntion J(Θ) ist eine Funktion von Θ.

Hypothese hΘ(x) ist eine Funktion von x mit festenParametern Θ.

Erläuterung beider Funktionen an der Tafel am einfachen Beispiel hΘ1(x) = Θ1 ∗ x und 3

Trainingsbeispiele, für die eine Hypothese (nur hier: JΘmin1

= 0) gefunden werden kann.

11 von 33 Christian Herta Lineare Regression

Page 13: Lineare Regression - ChristianHerta

Problemstellung Kostenfunktion Gradientenabstiegsverfahren

Beipiel: Kostenfunktion und Hypothese

Datenerzeugung: y(x) = x + N(µ = 0, σ = 2.5) (N: Normalverteilung)

Hypothese: h(x) = Θ1 · x

12 von 33 Christian Herta Lineare Regression

Page 14: Lineare Regression - ChristianHerta

Problemstellung Kostenfunktion Gradientenabstiegsverfahren

Problemstellung mit zwei Parametern

Hypothese: hΘ(x) = Θ0 + Θ1 · xzwei Parameter: Θ0,Θ1

Kostenfunktion: J(Θ0,Θ1) = 1

2m

∑mi=1

(hΘ(x (i))− y (i))2

⇒ Darstellung von J(Θ0,Θ1) in drei Dimensionen: Θ0,Θ1, J

13 von 33 Christian Herta Lineare Regression

Page 15: Lineare Regression - ChristianHerta

Problemstellung Kostenfunktion Gradientenabstiegsverfahren

Contour Plot

Konvexes Problem: nur ein Minimum14 von 33 Christian Herta Lineare Regression

Page 16: Lineare Regression - ChristianHerta

Problemstellung Kostenfunktion Gradientenabstiegsverfahren

Datenraum und Parameterraum

15 von 33 Christian Herta Lineare Regression

Page 17: Lineare Regression - ChristianHerta

Problemstellung Kostenfunktion Gradientenabstiegsverfahren

Kostenfunktion - Übersicht

Kosten sind eine Funktion der Parameter

Ziel ist es die Kosten zu minimieren, um gute Parameter zu�nden.

Konzept der Kostenfunktion auch für andere Arten vonModellfunktionen, wie Neuronale Netze und K-MeansClustering

16 von 33 Christian Herta Lineare Regression

Page 18: Lineare Regression - ChristianHerta

Problemstellung Kostenfunktion Gradientenabstiegsverfahren

Outline

1 Problemstellung

2 Kostenfunktion

3 Gradientenabstiegsverfahren

17 von 33 Christian Herta Lineare Regression

Page 19: Lineare Regression - ChristianHerta

Problemstellung Kostenfunktion Gradientenabstiegsverfahren

Problemstellung

Hypothese: hΘ(x) = Θ0 + Θ1 · xParameter: Θ0,Θ1

Kostenfunktion: J(Θ0,Θ1) = 1

2m

∑mi=1

(hΘ(x (i))− y (i))2

Ziel: minimizeΘJ(Θ)

18 von 33 Christian Herta Lineare Regression

Page 20: Lineare Regression - ChristianHerta

Problemstellung Kostenfunktion Gradientenabstiegsverfahren

Gradientenabstieg

Ziel: Minimieren der Kosten(funktion)

minimizeθJ(Θ)

1 Starte mit speziellen Werten für Θ. Bei univariater linearerRegression: Θ = {Θ0,Θ1}

2 Verändere die Werte für Θ so, sodass J(Θ) kleiner wird.Wiederhole Schritt 2 solange, bis ein Minimum erreicht ist.

19 von 33 Christian Herta Lineare Regression

Page 21: Lineare Regression - ChristianHerta

Problemstellung Kostenfunktion Gradientenabstiegsverfahren

Gradientenabstiegsverfahren

Ziel: Minimieren der Kosten(funktion)

minimizeθJ(Θ)

1 Starte mit speziellen Werten für Θ0,Θ1

2 Bestimme den Gradienten (partiellen Ableitungen), um neueΘ0,Θ1 Werte in der Umgebung der alten Θ-Werte mitfolgender Update Rule zu �nden:

Θneuj ← Θalt

j − α∂

∂Θj

J(Θalt)

mit α : Lernrate (learning rate)

3 Gehe zu 2 bis ein Stopp Kriterium (stopping condition) erfülltist, wie z.B. nur noch marginale Änderung der Kosten.

20 von 33 Christian Herta Lineare Regression

Page 22: Lineare Regression - ChristianHerta

Problemstellung Kostenfunktion Gradientenabstiegsverfahren

Gleichzeitiges Update aller Parameter

Beachte bei der Implementierung: Gleichzeitiges Update allerParameter

temp0← Θ0 − α∂

∂Θ0

J(Θ0,Θ1)

temp1← Θ1 − α∂

∂Θ1

J(Θ0,Θ1)

Θ0 ← temp0

Θ1 ← temp1

21 von 33 Christian Herta Lineare Regression

Page 23: Lineare Regression - ChristianHerta

Problemstellung Kostenfunktion Gradientenabstiegsverfahren

Berechung der Gradienten

Rechenübung

22 von 33 Christian Herta Lineare Regression

Page 24: Lineare Regression - ChristianHerta

Problemstellung Kostenfunktion Gradientenabstiegsverfahren

Gradientenabstiegsverfahren für lineare Regression: Θ0

Θ0 ← Θ0 − α∂

∂Θ0

J(Θ)

∂Θ0

J(Θ) =∂

∂Θ0

12m

m∑i=1

(hΘ(x (i))− y (i))2

=∂

∂Θ0

12m

m∑i=1

(Θ0 + Θ1 · x (i) − y (i))2

=1m

m∑i=1

(Θ0 + Θ1 · x (i) − y (i))

23 von 33 Christian Herta Lineare Regression

Page 25: Lineare Regression - ChristianHerta

Problemstellung Kostenfunktion Gradientenabstiegsverfahren

Gradientenabstiegsverfahren für lineare Regression: Θ1

Θ1 ← Θ1 − α∂

∂Θ1

J(Θ)

∂Θ1

J(Θ) =∂

∂Θ1

12m

m∑i=1

(hΘ(x (i))− y (i))2

=∂

∂Θ1

12m

m∑i=1

(Θ0 + Θ1 · x (i) − y (i))2

=1m

m∑i=1

(Θ0 + Θ1 · x (i) − y (i)) · x (i)

24 von 33 Christian Herta Lineare Regression

Page 26: Lineare Regression - ChristianHerta

Problemstellung Kostenfunktion Gradientenabstiegsverfahren

Schrittweite

Schrittweite hängt von zwei Faktoren ab:

Gröÿe des Gradienten ∂∂Θi

J(Θ)

Lernrate α > 0 (Hyperparameter)

α muss richtig gewählt werden (mehr hierzu später).

25 von 33 Christian Herta Lineare Regression

Page 27: Lineare Regression - ChristianHerta

Problemstellung Kostenfunktion Gradientenabstiegsverfahren

Annäherungen der Gerade mit den Iterationen

Startwert für Θ = (1., 1.)

Beispieldatensatz: Hg-PCV26 von 33 Christian Herta Lineare Regression

Page 28: Lineare Regression - ChristianHerta

Problemstellung Kostenfunktion Gradientenabstiegsverfahren

Annäherungen der Gerade mit den Iterationen

Startwert für Θ = (1., 1.)

Beispieldatensatz: Hg-PCV27 von 33 Christian Herta Lineare Regression

Page 29: Lineare Regression - ChristianHerta

Problemstellung Kostenfunktion Gradientenabstiegsverfahren

Warum ist das Lernen so langsam?

(negative) Gradient zeigt (meist) weg vom Minimum!→ Zig-Zag Bewegung im Parameterraum oder sehr kleines α

Beispieldatensatz: Hg-PCV

28 von 33 Christian Herta Lineare Regression

Page 30: Lineare Regression - ChristianHerta

Problemstellung Kostenfunktion Gradientenabstiegsverfahren

Kostenfunktion bei umskalierten x-Werte

Lösung: Feature Scaling - Erklärung später im KursBeachte: Der Gradient zeigt direkt zum Minimum!

Beispieldatensatz: Hg-PCV

29 von 33 Christian Herta Lineare Regression

Page 31: Lineare Regression - ChristianHerta

Problemstellung Kostenfunktion Gradientenabstiegsverfahren

Kostenfunktion bei umskalierten x-Werte

Erklärung an einfachem Beispiel: x-Werte der grünen Daten sindmit Faktor 2 multipliziert.

30 von 33 Christian Herta Lineare Regression

Page 32: Lineare Regression - ChristianHerta

Problemstellung Kostenfunktion Gradientenabstiegsverfahren

Batch, Mini-Batch und Online Learning

Batch-Learning: Verwende alle Trainingsdaten für einenOptimierungsschritt

Mini-Batch Learning: Verwende einen (kleinen) Teil derTraingsdaten für einen Optimierungsschritt

Online Learning: Verwende nur ein Trainingsdatum pro Schritttypischerweise Auswahl per Zufall (Stochastic Gradient

Descent)

31 von 33 Christian Herta Lineare Regression

Page 33: Lineare Regression - ChristianHerta

Problemstellung Kostenfunktion Gradientenabstiegsverfahren

Literaturangabe

Andrew Ng: Machine Learning. Openclassroom StanfordUniversity, 2013

Weiterführende Literatur:

C. Bishop: Pattern recognition and Machine Learning,Springer Verlag 2006

32 von 33 Christian Herta Lineare Regression