Podstawy sztucznej inteligencji¶

Temat: regresja liniowa, logistyczna i spadek wzdłuż gradientu¶

dr inż. Aleksander Smywiński-Pohl¶

apohllo@agh.edu.pl¶

https://apohllo.pl¶

Regresja liniowa¶

 

 

AIMA 4rd edition

Regresja liniowa¶

$$ h_{\pmb{w}}(x) = w_0 + w_1 x $$
$$ Loss(h_{\pmb{w}}) = \sum_{j=1}^{N} L_2 (y_j, h_{\pmb{w}}(x_j)) = \sum_{j=1}^{N}(y_j - h_{\pmb{w}}(x_j))^2 = \sum_{j=1}^{N}(y_j - (w_0 + w_1 x_j))^ 2 $$
$$ \pmb{w^*} = \arg \min_{\pmb{w}} Loss(h_{\pmb{w}}) $$
$$ \frac{\partial}{\partial w_0} \sum_{j=1}^{N} (y_j - (w_0 + w_1 x_j))^2 = 0 $$
$$ \frac{\partial}{\partial w_1} \sum_{j=1}^{N} (y_j - (w_0 + w_1 x_j))^2 = 0 $$
$$ w_1 = \frac{N \left(\sum x_j y_j\right) - \left(\sum x_j\right)\left(\sum y_j\right)}{N\left(\sum x^2_j \right) - \left(\sum x_j \right)^2} $$
$$ w_0 = \frac{\left(\sum y_j - w_1\left(\sum x_j \right)\right)}{N} $$

Dla regresji liniowej strata jest wypukła, dzięki czemu możliwe jest znalezienie minimum globalnego używając metod iteracyjnych.

Spadek wzdłuż gradientu¶

  1. Wybierz punkt $\pmb{w^0}$ w przestrzeni parametrów.
  2. Powtarzaj punkty 3-4 do osiągnięcia kryterium zbieżności.
  3. Dla każdego parametrów $w_i$ w $\pmb{w}$ wykonuj punkt 4.
  4. $w_i^{k+1} \leftarrow w_i^{k} - \alpha^{k} \frac{\partial}{\partial w_i}Loss(\pmb{w^k});$ gdzie $k$ to krok algorytmu

$\alpha^k$ - współczynnik uczenia w kroku $k$ (ang. learning rate)

Spadek wzdłuż gradientu dla regresji liniowej¶

$$ \frac{\partial}{\partial w_i}Loss(\pmb{w}) = \frac{\partial}{\partial w_i}(y - h_{\pmb{w}}(x))^2 = 2(y - h_{\pmb{w}}(x))\times \frac{\partial}{\partial w_i}(y - h_{\pmb{w}}(x)) $$
$$ = 2(y - h_{\pmb{w}}(x))\times \frac{\partial}{\partial w_i}(y - (w_0 + w_1 x)) $$
$$ \frac{\partial}{\partial w_0}Loss(\pmb{w}) = -2(y - h_{\pmb{w}}(x)) $$
$$ \frac{\partial}{\partial w_1}Loss(\pmb{w}) = -2(y - h_{\pmb{w}}(x)) \times x $$

Aktualizacja wag na podstawie 1 przykładu¶

$$ w_0^{k+1} \leftarrow w_0^{k} + \alpha^{k}(y - h_{\pmb{w}}(x)) $$
$$ w_1^{k+1} \leftarrow w_1^{k} + \alpha^{k}(y - h_{\pmb{w}}(x)) \times x $$

Aktualizacja wag na podstawie wszystkich przykładów (epoka)¶

$$ w_0^{k+1} \leftarrow w_0^{k} + \alpha^{k}\sum(y_j - h_{\pmb{w}}(x_j)) $$
$$ w_1^{k+1} \leftarrow w_1^{k} + \alpha^{k}\sum(y_j - h_{\pmb{w}}(x_j)) \times x_j $$

Jest to deterministyczny, bądź batchowy spadek wzdłuż gradientu

Stochastyczny spadek wzdłuż gradientu (SGD)¶

  1. Wybierz punkt $\pmb{w^0}$ w przestrzeni parametrów.
  2. Powtarzaj punkty 3-5 do osiągnięcia kryterium zbieżności.
  3. Wylosuj mini-paczkę przykładów $X^k$ (mini-batch) ze zbioru przykładów uczących.
  4. Dla każdego parametrów $w_i$ w $\pmb{w}$ wykonuj punkt 5.
  5. $w_i^{k+1} \leftarrow w_i^{k} - \alpha^{k} \frac{\partial}{\partial w_i}Loss_{x \in X^k}(\pmb{w^k})$.

Klasyfikacja w oparciu o model liniowy¶

 

 

$-4.9 + 1.7x_1 - x_2 > 0$ (wybuchy jądrowe, zielone)
$h_{\pmb{w}}(x) = 1$ jeśli $\pmb{w} \cdot \pmb{x} \geq 0$

AIMA 4rd edition

Czy jest jakiś problem z tak określonym warunkiem separacji klas?¶

$x_1$ - body wave magnitued, $x_2$ - surface wave magnitude

 

 

AIMA 4rd edition

Reguła uczenia perceptronu¶

$$ w_i^{k+1} \leftarrow w_i^{k} + \alpha^{k} (y - h_{\pmb{w}}(x)) \times x_i $$
  • jeśli wynik jest poprawny, wagi się nie zmieniają
  • jeśli oczekiwany wynik to 1, a otrzymany to 0, to $w_i$ jest zwiększane
  • jeśli oczekiwany wynik to 0, a otrzymany to 1, to $w_i$ jest zmniejszane

Przebieg procesu uczenia¶

 

 

$$ \alpha^k = \frac{1000}{1000 + k} $$

AIMA 4rd edition

Jak można poprawić proces uczenia dla klasyfikacji?¶

Funkcja logistyczna¶

$$ Logistic(z) = \frac{1}{1 + e^{-z}} $$
$$ h_{\pmb{w}}(\pmb{x}) = Logistic(\pmb{w}\cdot\pmb{x}) = \frac{1}{1 + e^{-\pmb{w}\cdot\pmb{x}}} $$

Gradient funkcji logistycznej (norma $L_2$)¶

$$ \frac{\partial}{\partial w_i} Loss(\pmb{w}) = \frac{\partial}{\partial w_i}(y - h_{\pmb{w}}(\pmb{x}))^2 $$
$$ = 2(y - h_{\pmb{w}}(\pmb{x})) \times \frac{\partial}{\partial w_i}(y - h_{\pmb{w}}(\pmb{x})) $$
$$ = -2 (y - h_{\pmb{w}}(\pmb{x})) \times g' (\pmb{w} \cdot \pmb{x})\times \frac{\partial}{\partial w_i}\pmb{w} \cdot \pmb{x} $$
$$ = -2 (y - h_{\pmb{w}}(\pmb{x})) \times g' (\pmb{w} \cdot \pmb{x})\times x_i $$
$$ g'(z) = g(z)(1-g(z)) $$
$$ g'(\pmb{w}\cdot\pmb{x}) = g(\pmb{w}\cdot\pmb{x})(1 - g(\pmb{w}\cdot\pmb{x})) = h_{\pmb{w}}(\pmb{x})(1-h_{\pmb{w}}(\pmb{x})) $$
$$ w_i^{k+1} \leftarrow w_i^{k} + \alpha^{k}(y - h_{\pmb{w}}(\pmb{x})) \times h_{\pmb{w}}(\pmb{x})(1 - h_{\pmb{w}}(\pmb{x})) \times x_i $$

Przebieg procesu uczenia¶

 

 

$$ \alpha^k = \frac{1000}{1000 + k} $$

AIMA 4rd edition