Upload
trinhnhan
View
224
Download
0
Embed Size (px)
Citation preview
Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen
Multivariate Lineare Regression
Christian Herta
Oktober, 2013
1 von 34 Christian Herta Multivariate Lineare Regression
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
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
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
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
Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen
Multiple Features
6 von 34 Christian Herta Multivariate Lineare Regression
Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen
7 von 34 Christian Herta Multivariate Lineare Regression
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
Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen
Beispielplot
Datenpunkte und beste Hypothese(Ebene).
9 von 34 Christian Herta Multivariate Lineare Regression
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Problemstellung Gradient Descent Feature Scaling Praxis Basis Funktionen
Polynominale Regression
siehe Bild Lsf.gif
33 von 34 Christian Herta Multivariate Lineare Regression
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