Training Setの例: 家の「広さ」と「値段」 の関係。
$i$ | size of house: $x^{(i)}$ | price: $y^{(i)}$ |
---|---|---|
1 | 2104 | 460 |
2 | 1416 | 232 |
3 | 1534 | 315 |
4 | 852 | 178 |
$\cdots$ | $\cdots$ | $\cdots$ |
Hypothesis (仮説関数) : $h_{\theta}(x) = {\theta}_0 + {\theta}_1 x$
$m$ は訓練用データセットのデータ数。
Squared Error Function (2乗誤差関数) を用いて次のように定義する。
Cost Function (目的関数): $\displaystyle
J({\theta}_0, {\theta}_1) = \frac{1}{2m} \sum_{i=1}^{m} (h_{\theta}(x^{(i)}) - y^{(i)})^2
$
$\alpha$ を Learning Rate (学習率) という。
$\displaystyle \frac{\partial}{\partial {\theta}_0} J({\theta}_0, {\theta}_1) = \frac{1}{m} \sum_{i=1}^{m} (h_{\theta}(x^{(i)}) - y^{(i)}) $$i$ 番目の training set を ($x^{(i)}, y^{(i)}$) と表すとき、$3$ 番目 の $y^{(3)}$ はどれ。
$x$ サイズ (feet${}^{2}$) $y$ 価格 (1000) 2104 460 1416 232 1534 315 ...
3番目の価格を答えればよい。肝心の表が、問題で隠れて見えないが。(答) 315
training set は $m=3$ 個。 $h_{\theta} (x) = \theta_1 x$、 損失関数を $\displaystyle J(\theta_1 ) = \frac{1}{2m} \sum_{i=1}^{m} (h_{\theta} (x^{(i)}) - y^{(i)})^2$とするとする。 $J(0)$ は?
(答) どの$i$に対しても $h_{\theta} (x^{(i)}) =0$ だから、 $(1^2 + 2^2 + 3^2)/(2*3) = 14/6$
$\theta_0 = 1$, $\theta_1=2$ とする。$\theta_0$ と $\theta_1$ は 規則 $\theta_j = \theta_j + \sqrt{\theta_0 \theta_1}$ を使って 同時に更新する。結果の$\theta_0$ と $\theta_1$ は?
(答) $\theta_0 = 1+\sqrt{2}$, $\theta_1 = 2+\sqrt{2}$
$\theta_1$ が $J(\theta_1)$の局所最適と仮定して、 $\theta_1 = \theta_1 - \alpha \frac{d}{d \theta_1} J(\theta_1)$ で 更新すると$\theta_1$はどうなる?
(答) $\theta_1$ は変らない正しいものを全て選べ。
gradient descentが収束するためには、\alphaをゆっくり減らす必要がある。 (必ずしもそうではない。誤差関数の方が小さくなっていくので) gradient descent は$J(\theta)$のグローバルな最小値を見付けることが保証されている。 (いや、local minimumにつかまることがあるでしょ) 〆 gradient descent は $\alpha$ が固定値であっても収束できる。 (誤差の方が小さくなっていくので) 〆 線形回帰で特定の $J(\theta_0 , \theta_1)$に対して、局所最適解はない。 (単なる放物線だから)