34

Multivariate Lineare Regression - christianherta.de · ProblemstellungGradient DescentFeature ScalingPraxisBasis Funktionen Multivariate Lineare Regression Christian Herta Oktober,

Embed Size (px)

Citation preview

Page 1: Multivariate Lineare Regression - christianherta.de · ProblemstellungGradient DescentFeature ScalingPraxisBasis Funktionen Multivariate Lineare Regression Christian Herta Oktober,

Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen

Multivariate Lineare Regression

Christian Herta

Oktober, 2013

1 von 34 Christian Herta Multivariate Lineare Regression

Page 2: Multivariate Lineare Regression - christianherta.de · ProblemstellungGradient DescentFeature ScalingPraxisBasis Funktionen Multivariate Lineare Regression Christian Herta Oktober,

Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen

Lernziele

Multivariate Lineare Regression

Konzepte des Maschinellen Lernens:Kostenfunktion (cost function)Gradientenabstiegsverfahren (gradient descent)Umskalieren der Input-Daten

2 von 34 Christian Herta Multivariate Lineare Regression

Page 3: Multivariate Lineare Regression - christianherta.de · ProblemstellungGradient DescentFeature ScalingPraxisBasis Funktionen Multivariate Lineare Regression Christian Herta Oktober,

Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen

Outline

1 Problemstellung

2 Gradient Descent

3 Feature Scaling

4 Praxis

5 Basis Funktionen

3 von 34 Christian Herta Multivariate Lineare Regression

Page 4: Multivariate Lineare Regression - christianherta.de · ProblemstellungGradient DescentFeature ScalingPraxisBasis Funktionen Multivariate Lineare Regression Christian Herta Oktober,

Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen

Multivariare Regression

Überwachtes Lernen (supervised learning):

m Beobachtungen (Trainingsbeispiele) mitn Merkmale (Features): 1 ≤ j ≤ n (bisher n = 1):

Input-Features x(i) des i-ten Trainingsbeispiels:

x(i) = x

(i)1, x

(i)2, . . . , x

(i)n

i-ten Zielwert y (i)

x(i)j : Wert des Features j für das i-te Trainingsbeispiel

Ziel: Vorhersage eines Wertes y für einen neuen Wert für x.

4 von 34 Christian Herta Multivariate Lineare Regression

Page 5: Multivariate Lineare Regression - christianherta.de · ProblemstellungGradient DescentFeature ScalingPraxisBasis Funktionen Multivariate Lineare Regression Christian Herta Oktober,

Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen

Beispiel: Boston-Dataset zur Vorhersage der Hauspreise

#load data

from s k l e a r n . d a t a s e t s import load_bostonboston = load_boston ( )pr in t boston .DESCR# f e a t u r e names

boston . feature_names# f e a t u r e s

boston . data# house p r i c e :

boston . t a r g e t

5 von 34 Christian Herta Multivariate Lineare Regression

Page 6: Multivariate Lineare Regression - christianherta.de · ProblemstellungGradient DescentFeature ScalingPraxisBasis Funktionen Multivariate Lineare Regression Christian Herta Oktober,

Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen

Multiple Features

6 von 34 Christian Herta Multivariate Lineare Regression

Page 7: Multivariate Lineare Regression - christianherta.de · ProblemstellungGradient DescentFeature ScalingPraxisBasis Funktionen Multivariate Lineare Regression Christian Herta Oktober,

Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen

7 von 34 Christian Herta Multivariate Lineare Regression

Page 8: Multivariate Lineare Regression - christianherta.de · ProblemstellungGradient DescentFeature ScalingPraxisBasis Funktionen Multivariate Lineare Regression Christian Herta Oktober,

Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen

Multivariare Lineare Regression

Lineares Modell, d.h. linear bezüglich der Parameter Θj

auch (erstmal) linear bezüglich der xj

hΘ(x1, . . . , xn) = Θ0 + Θ1 · x1 + . . .Θn · xn = Θ0 +n∑

j=1

Θjxj

8 von 34 Christian Herta Multivariate Lineare Regression

Page 9: Multivariate Lineare Regression - christianherta.de · ProblemstellungGradient DescentFeature ScalingPraxisBasis Funktionen Multivariate Lineare Regression Christian Herta Oktober,

Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen

Beispielplot

Datenpunkte und beste Hypothese(Ebene).

9 von 34 Christian Herta Multivariate Lineare Regression

Page 10: Multivariate Lineare Regression - christianherta.de · ProblemstellungGradient DescentFeature ScalingPraxisBasis Funktionen Multivariate Lineare Regression Christian Herta Oktober,

Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen

Vektor-Darstellung

h~Θ(~x) = Θ0 + Θ1x1 + Θ2x2 + · · ·+ Θnxn = ~ΘT · ~x = ~xT · ~Θ

mit

~x =

x0 = 1x1x2. . .xn

~Θ =

Θ0

Θ1

Θ2

. . .Θn

10 von 34 Christian Herta Multivariate Lineare Regression

Page 11: Multivariate Lineare Regression - christianherta.de · ProblemstellungGradient DescentFeature ScalingPraxisBasis Funktionen Multivariate Lineare Regression Christian Herta Oktober,

Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen

Outline

1 Problemstellung

2 Gradient Descent

3 Feature Scaling

4 Praxis

5 Basis Funktionen

11 von 34 Christian Herta Multivariate Lineare Regression

Page 12: Multivariate Lineare Regression - christianherta.de · ProblemstellungGradient DescentFeature ScalingPraxisBasis Funktionen Multivariate Lineare Regression Christian Herta Oktober,

Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen

Problemstellung

Hypothese: hΘ(~x) = ~ΘT~x = Θ0x0 + Θ1x1 + . . .Θnxnmit x0 = 1

n + 1 Parameter: ~ΘT = (Θ0,Θ1, . . . ,Θn)

Minimierung der Kostenfunktion J:

J(~Θ) =1

2m

m∑i=1

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

12 von 34 Christian Herta Multivariate Lineare Regression

Page 13: Multivariate Lineare Regression - christianherta.de · ProblemstellungGradient DescentFeature ScalingPraxisBasis Funktionen Multivariate Lineare Regression Christian Herta Oktober,

Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen

Gradient Descent

Wiederhole bis Konvergenz erreicht ist:

Θj ← Θj − α∂

∂Θj

J(Θ)

Beachte bei Implementierung: Simultanes Update für alle Θj

13 von 34 Christian Herta Multivariate Lineare Regression

Page 14: Multivariate Lineare Regression - christianherta.de · ProblemstellungGradient DescentFeature ScalingPraxisBasis Funktionen Multivariate Lineare Regression Christian Herta Oktober,

Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen

Vektorform: Gradient Descent

Mit der De�nition des Gradienten:

grad(J(Θ)) = ∇J(Θ) =

∂J(Θ)∂Θ0∂J(Θ)∂Θ1

. . .∂J(Θ)∂Θn

~Θneu ← ~Θalt − α · grad(J(Θalt))

14 von 34 Christian Herta Multivariate Lineare Regression

Page 15: Multivariate Lineare Regression - christianherta.de · ProblemstellungGradient DescentFeature ScalingPraxisBasis Funktionen Multivariate Lineare Regression Christian Herta Oktober,

Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen

Update Rule

∂Θj

J(Θ) =∂

∂Θj

1

2m

m∑i=1

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

=∂

∂Θj

1

2m

m∑i=1

(~ΘT · ~x (i) − y (i))2

Ergibt folgende Update Rules für alle n + 1 Θj mit 0 ≤ j ≤ n:

Θj ← Θj − α1

m

m∑i=1

(~ΘT · ~x (i) − y (i))x(i)j

15 von 34 Christian Herta Multivariate Lineare Regression

Page 16: Multivariate Lineare Regression - christianherta.de · ProblemstellungGradient DescentFeature ScalingPraxisBasis Funktionen Multivariate Lineare Regression Christian Herta Oktober,

Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen

Vektorform der Update Rule

~Θneu ← ~Θalt − α 1

m

m∑i=1

(~ΘT · ~x (i) − y (i))~x (i)

16 von 34 Christian Herta Multivariate Lineare Regression

Page 17: Multivariate Lineare Regression - christianherta.de · ProblemstellungGradient DescentFeature ScalingPraxisBasis Funktionen Multivariate Lineare Regression Christian Herta Oktober,

Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen

Outline

1 Problemstellung

2 Gradient Descent

3 Feature Scaling

4 Praxis

5 Basis Funktionen

17 von 34 Christian Herta Multivariate Lineare Regression

Page 18: Multivariate Lineare Regression - christianherta.de · ProblemstellungGradient DescentFeature ScalingPraxisBasis Funktionen Multivariate Lineare Regression Christian Herta Oktober,

Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen

Feature-Scaling: Skalieren der x-Werte

Idee: Werte aller Features (Merkmale), d.h. alle xj , sollen etwa imBereich

−1 . xj . 1

liegen.

Wie könnte dies erreicht werden ??

18 von 34 Christian Herta Multivariate Lineare Regression

Page 19: Multivariate Lineare Regression - christianherta.de · ProblemstellungGradient DescentFeature ScalingPraxisBasis Funktionen Multivariate Lineare Regression Christian Herta Oktober,

Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen

Feature-Scaling: Skalieren der Features

Berechnen der umskalierten Features xj mittels Standardisierung(z-Transformation):

x ′j =xj − µjstd(xj)

mit

µj = xj =∑

i x(i)j /m: Mittelwert für xj

std(xj) =√

var(xj): Standardabweichung von xj

var(xj) = (xj − µj)2 = x2j − µ2j : Varianz von xj

Für die transformierten Daten x ′ ist der Mittelwert 0 und dieStandardabweichung 1.

19 von 34 Christian Herta Multivariate Lineare Regression

Page 20: Multivariate Lineare Regression - christianherta.de · ProblemstellungGradient DescentFeature ScalingPraxisBasis Funktionen Multivariate Lineare Regression Christian Herta Oktober,

Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen

Outline

1 Problemstellung

2 Gradient Descent

3 Feature Scaling

4 Praxis

5 Basis Funktionen

20 von 34 Christian Herta Multivariate Lineare Regression

Page 21: Multivariate Lineare Regression - christianherta.de · ProblemstellungGradient DescentFeature ScalingPraxisBasis Funktionen Multivariate Lineare Regression Christian Herta Oktober,

Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen

Implementierung mit Vektoren und Matrizen

Daten als Matrix X mit Xij ≡ x(i)j

Zeilen i : einzelnen Datensätze ~x (i)

Spalten j : für die einzelnen Features mit x(i)0

= 1

Vorhersagen für alle Datensätze in Matrix X : ~h(X) = X · ~Θz.B: bei 3 Features und 700 Trainingsdaten mit numpy:I n [ 9 ] : X . shapeOut [ 9 ] : (700 , 4)I n [ 1 0 ] : t h e t a . shapeOut [ 1 0 ] : ( 4 , )I n [ 1 1 ] : h = X. dot ( t h e t a )Out [ 1 1 ] : a r r a y ( [−1.3 , . . .I n [ 1 2 ] : h . shapeOut [ 1 2 ] : ( 700 , )

21 von 34 Christian Herta Multivariate Lineare Regression

Page 22: Multivariate Lineare Regression - christianherta.de · ProblemstellungGradient DescentFeature ScalingPraxisBasis Funktionen Multivariate Lineare Regression Christian Herta Oktober,

Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen

Vektorisierte Form der Update Rule mit Daten-Matrix X

aus der vektorisierten Form der Update Rule

~Θneu ← ~Θalt − α 1

m

m∑i=1

(h(~x (i))− y (i))~x (i)

ergibt sich mit der Daten-Matrix X

~Θneu ← ~Θalt − α 1

mXT · (~h(X)− ~y)

in Python:t h e t a = the t a − a lpha ∗ ( 1 . 0 / m) ∗ X.T. dot ( h − y )

22 von 34 Christian Herta Multivariate Lineare Regression

Page 23: Multivariate Lineare Regression - christianherta.de · ProblemstellungGradient DescentFeature ScalingPraxisBasis Funktionen Multivariate Lineare Regression Christian Herta Oktober,

Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen

O�ene Fragen

Update Rules:

Θj ← Θj − α∂

∂Θj

J(Θ)

�Debuggen�: Wie kann man überprüfen, ob die �GradientDescent� Implementierung funktioniert?

Wie soll man die Lernrate α wählen?

23 von 34 Christian Herta Multivariate Lineare Regression

Page 24: Multivariate Lineare Regression - christianherta.de · ProblemstellungGradient DescentFeature ScalingPraxisBasis Funktionen Multivariate Lineare Regression Christian Herta Oktober,

Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen

Funktioniert �Gradient Descent�?

Ziel: minΘJ(Θ)Auftragen von J(Θ) über den Interationen (Epochen): J(Θ) mussin jeder Iteration kleiner werden.

24 von 34 Christian Herta Multivariate Lineare Regression

Page 25: Multivariate Lineare Regression - christianherta.de · ProblemstellungGradient DescentFeature ScalingPraxisBasis Funktionen Multivariate Lineare Regression Christian Herta Oktober,

Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen

Lernrate α - zu kleine Werte

Beispieldatensatz: Boston house-price data

25 von 34 Christian Herta Multivariate Lineare Regression

Page 26: Multivariate Lineare Regression - christianherta.de · ProblemstellungGradient DescentFeature ScalingPraxisBasis Funktionen Multivariate Lineare Regression Christian Herta Oktober,

Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen

Lernrate α - zu groÿe Werte

Beispieldatensatz: Boston house-price data

26 von 34 Christian Herta Multivariate Lineare Regression

Page 27: Multivariate Lineare Regression - christianherta.de · ProblemstellungGradient DescentFeature ScalingPraxisBasis Funktionen Multivariate Lineare Regression Christian Herta Oktober,

Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen

Wahl von α

Wenn α zu klein ist → langsame Konvergenz

Wenn α zu groÿ ist, eventuell keine Konvergenz:J wächst (oder oszilliert)

Versuche mit verschiedenen α, z.B.:0.001, 0.003, 0.01, 0.03, 0.1, · · ·

27 von 34 Christian Herta Multivariate Lineare Regression

Page 28: Multivariate Lineare Regression - christianherta.de · ProblemstellungGradient DescentFeature ScalingPraxisBasis Funktionen Multivariate Lineare Regression Christian Herta Oktober,

Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen

Feature-Scaling: Θ für unskalierte Features x

x ′ =x −mean(x)

std(x)=

x − µσx

Lernen ergibt modi�zierte Parameter : Θ′0und Θ′

1

h(x) = Θ0′ + Θ1

′x ′

= Θ0′ + Θ1

′ · x − µσx

= (Θ0′ −Θ1

′ · µσx

) +Θ1

σx· x

d.h.

Θ0 = Θ′0 −Θ′

1 ·µ

σx

Θ1 =Θ′

1

σx

28 von 34 Christian Herta Multivariate Lineare Regression

Page 29: Multivariate Lineare Regression - christianherta.de · ProblemstellungGradient DescentFeature ScalingPraxisBasis Funktionen Multivariate Lineare Regression Christian Herta Oktober,

Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen

Outline

1 Problemstellung

2 Gradient Descent

3 Feature Scaling

4 Praxis

5 Basis Funktionen

29 von 34 Christian Herta Multivariate Lineare Regression

Page 30: Multivariate Lineare Regression - christianherta.de · ProblemstellungGradient DescentFeature ScalingPraxisBasis Funktionen Multivariate Lineare Regression Christian Herta Oktober,

Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen

Multivariare Lineare Regression

Bisher: Linearität bezüglich der Inputs xi (starke Einschränkung)

hΘ(~x) = Θ0 +n∑

j=1

Θjxj

Erweiterung: Ersetzen der xj mit Basisfunktionen φj(~x):

hΘ(~x) = Θ0 +n∑

j=1

Θjφj(~x)

Immer noch lineares Modell, da linear bezüglich der Parameter Θj

30 von 34 Christian Herta Multivariate Lineare Regression

Page 31: Multivariate Lineare Regression - christianherta.de · ProblemstellungGradient DescentFeature ScalingPraxisBasis Funktionen Multivariate Lineare Regression Christian Herta Oktober,

Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen

Beispiele für Basisfunktionen

Polynome:φj(~x) = x21

φj(~x) = x1 · x3�Gaussian Basis Funktion�

φj(~x) = exp{−(x − µj)2

2σ2j}

31 von 34 Christian Herta Multivariate Lineare Regression

Page 32: Multivariate Lineare Regression - christianherta.de · ProblemstellungGradient DescentFeature ScalingPraxisBasis Funktionen Multivariate Lineare Regression Christian Herta Oktober,

Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen

Features

Transformation der Rohdaten ~xi in Features ~φ(~xi )

Beispiel:Vorhersage des Preises von rechteckigen Grundstücken:Rohdaten: Länge x1 und Breite x2.statt: hθ = Θ0 + Θ1 · laenge + Θ2 · breite

mit der �Fläche� als Feature φ1: �aeche = laenge · breite

h′θ = Θ′0

+ Θ′1· �aeche

32 von 34 Christian Herta Multivariate Lineare Regression

Page 33: Multivariate Lineare Regression - christianherta.de · ProblemstellungGradient DescentFeature ScalingPraxisBasis Funktionen Multivariate Lineare Regression Christian Herta Oktober,

Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen

Polynominale Regression

siehe Bild Lsf.gif

33 von 34 Christian Herta Multivariate Lineare Regression

Page 34: Multivariate Lineare Regression - christianherta.de · ProblemstellungGradient DescentFeature ScalingPraxisBasis Funktionen Multivariate Lineare Regression Christian Herta Oktober,

Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen

Literaturangabe

Andrew Ng: Machine Learning (Stanford OpenClassroom)

Weiterführende Literatur:

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

34 von 34 Christian Herta Multivariate Lineare Regression