Machine Learning

Stanford Univ, Coursera


Evaluating a Learning Algorithm

Evaluating a Hypothesis

新しい hypothesis がトレーニング例に対しては低いエラーを示すが、不正確であることがある (overfittingになった場合)。 トレーニング例を training set と test set にわけるが、前者を 70% , 後者を 30% にすることが多い。

  1. training set を用いて $\Theta$ を学習させ $J_{train}(\Theta)$ を最小化する。
  2. test set を用いて $J_{test}(\Theta)$ を計算する。

test set error

  1. 線形回帰 (linear regression)の場合: $\displaystyle J_{test}(\Theta) = \frac{1}{2m_{test}} \sum_{i=1}^{m_{test}} ( h_{\Theta}(x_{test}^{(i)}) - y_{test}^{(i)})^2$
  2. クラス分け (classification) の場合: クラス分け間違い
  3. $\displaystyle err(h_{\Theta}(x)_,y) = \left\{ \begin{array}{l} 1 \quad\quad\quad if ~ (h_{\Theta}(x) \leq 0.5 ~ and ~ y=0) ~ or ~ (h_{\Theta}(x) < 0.5 ~ and ~ y=1) \\ 0 \quad\quad\quad otherwise \end{array} \right. $
    $\displaystyle \mbox{Test Error} = \frac{1}{m_{test}} \sum_{i=1}^{m_{test}} err(h_{\Theta}(x_{test}^{(i)}), y_{test}^{(i)}) $

Model Selection and Train/Validation/Test Sets

training setに適合するように学習できたからといって、そのアルゴリズムがよい hypothesis であるとは限らない。 overfitting (過学習)になり、その結果として test set に対する予測がひどい場合がある。

  1. training setを用いて、各多項式次元に対して $\Theta$ 中のパラメータを最適化する。
  2. cross validation setを用いてエラーを最小化する多項式次元 $d$ を見つける。
  3. test set を用いて$\displaystyle J_{test}({\Theta}^{(d)})$ の汎化誤差を評価する。($d$は 誤差を減らす多項式からの$theta$)

6-1 test

診断に関する文章として正しいものを全て選べ。

6-4 test

classification 問題を考える。 class分けエラーは $\frac{1}{m} \sum_{i=1}^{m} err(h_{\theta}(x^{(i)}), y^{(i)})$ として定義される。 cross validation 用のデータ ($x_{cv}^{(1)}$,$y_{cv}^{(1)}$), $\cdots$, ($x_{cv}^{(m_{cv})}$,$y_{cv}^{(m_{cv})}$) を用いて、cross validation エラーは似たように定義される。 training error は $0.10$ で、validation error は$0.30$ である。 アルゴリズムが最も悪影響を受けている問題は何か?

[自分へのメモ] training error が小さいのでtraining setに対する学習はうまくいっているが、 validation error が大きいので overfitting であることがわかる。 biasが小さいときには、$\Theta$が大きい値を取れるので overfitting となる。

6-5 test

regularized logistic regression を考える。式は略。 regularization parameter \lambda$ の関数として、$J_{train}$, $J_{cv}$ をプロットする。 ありえるグラフはどれ?

[自分へのメモ] $J_{train}$ の方が $J_{CV}$ よりもエラーが少ない(グラフが下にある)のが普通である。 したがって選択肢の[1][2]は間違い。 $\lambda$ が大きくなると $J_{train}$ は underfitting になるので$J_{train}$ は大きくなる。

6-6 test

training data を増やすことが、学習成果を改善する状況を選べ。

[自分へのメモ] trainig dataを増やすということは、underfitting方向へと状況を動かすことになる。


Yoshihisa Nitta

http://nw.tsuda.ac.jp/