Table of Contents

Regression

Quelle: Coursera ML Course

Kategorie: Supervised learning (da es wahre Werte gibt)

Notation: $(x^{(i)}, y^{(i)})$ - i-tes Training Beispiel (i-te Zeile)

Hypothesis h: Funktion, die x zu y mappt.

Univariate linear regression

$h_\theta(x) = \theta_0 + \theta_1 x$

$\theta_i$ Parameter

Cost function

$\displaystyle\min_{\theta_0,\theta_1} \sum_{i=1}^m (h_\theta(x^{(i)})-y^{(i)})^2$

Vereinfachtes Problem:

$\displaystyle\min_{\theta_0,\theta_1} \frac{1}{2*m} \sum_{i=1}^m (h_\theta(x^{(i)})-y^{(i)})^2$

$h_\theta(x^{(i)}) = \theta_0 +\theta_1x^{(i)}$

Cost function (Squared error cost function) $J$:

$J(\theta_0,\theta_1) = \frac{1}{2*m} \sum_{i=1}^m (h_\theta(x^{(i)})-y^{(i)})^2$

Goal: $\displaystyle\min_{\theta_0,\theta_1} J(\theta_0,\theta_1)$

Functions (example with only $\theta_1$):

$h_\theta(x)$ (fixed $\theta_1$, function of $x$)

$J(\theta_1)$ (function of the parameter $\theta_1$)

Contour plots

Gradient descent

$\min_{\theta_0, \theta_1} J(\theta_0, \theta_1)$ (für n Parameter möglich)

Starten mit $\theta_0, \theta_1$.

Kann in verschiedenen lokalen Optima landen.

Algorithmus:

Batch Gradient Descent: Jeder Schritt des Verfahrens nutzt alle Trainingspunkte.

Wiederholen bis zur Konvergenz:

$\theta_j := \theta_j - \alpha \frac{\partial}{\partial\theta_j} J(\theta_0, \theta_1)$

Gleichzeitiges Update (!):

$$ tmp0 := \theta_0 - \alpha \frac{\partial}{\partial\theta_0} J(\theta_0, \theta_1)\\ tmp1 := \theta_1 - \alpha \frac{\partial}{\partial\theta_1} J(\theta_0, \theta_1)\\ \theta_0 := tmp0\\ \theta_1 := tmp1 $$

Learning rate:

Wenn man Minimum näher komt, werden die Schritte automatisch kleiner (da Steigung abnimmt). $\alpha$ muss nicht kleiner gewählt werden.

Partial derivates

$$j=0: \frac{\partial}{\partial\theta_0} J(\theta_0, \theta_1) = \frac{1}{m} \sum_{i=1}^m (h_{\theta}(x^{(i)})-y^{(i)})\\ j=1: \frac{\partial}{\partial\theta_1} J(\theta_0, \theta_1) = \frac{1}{m} \sum_{i=1}^m (h_{\theta}(x^{(i)})-y^{(i)}) * x^{(i)} $$

Funktion

Konvexe Funktion (lokales Optimum = globales Optimum)

Normal equation method

Vorteil: Kein Alpha nötig, kann evtl. schneller sein. Nachteil: Gradient descent besser für große Datenmengen.

Multiple linear regression

Notation: $x^{(i)}_j$: i-tes Trainingbeispiel, Feature j

Hypothesis h: $h_\theta(x) = \theta_0 + \theta_1 x_1 + \theta_2 x_2 + ... + \theta_n x_n$

Vereinfacht: $x_0 = 1; (x_0^{(i)}=1)$ $h_\theta(x) = \theta_0 x_0 + ... + \theta_n x_n = \theta^T x$

Cost function

$J(\theta) = \frac{1}{2*m} \sum_{i=1}^m (h_\theta(x^{(i)})-y^{(i)})^2 = \frac{1}{2*m} \sum_{i=1}^m (\theta^T x^{(i)} - y^{(i)})^2 = \frac{1}{2*m} \sum_{i=1}^m ((\sum_{j=0}^n \theta_j x_j^{(i)}) - y^{(i)})^2$

Gradient Descent

$\theta_j := \theta_j - alpha \frac{\partial}{\partial\theta_j} J(\theta)$

Normalengleichungen

$\theta = (X^TX)^{-1}X^Ty$

Was wenn $X^TX$ singulär (nicht invertierbar)?

(pinv in Octave)

Gründe für Singularität:

Wann was benutzten?

Gradient Descent Improvements

Feature Scaling

Mean normalization

$x_i - \mu_i$

$\frac{x_i - \mu_i}{s_i}$, wobei $s_i$ Range ($max-min$) oder Standardabweichung sein kann.

Learning rate $\alpha$

Polynomial regression

$\theta_0 + \theta_1 x + \theta_2 x^2 + \theta_3 x^3$

Durch entsprechende Features möglich: $x_3 = (size)^3$

Feature scaling wird dann wichtig (da groß und verschieden)

Oder Wurzelfkt.:

$\theta_0 + \theta_1 x + \theta_2 \sqrt{x}$