Week 1

Introduction

2つのタイプの機械学習がある。

  • regression (回帰): 連続値
  • classification (分類): ラベリング

ほかにもこういう分け方もある。

  • supervised (教師あり): サンプルに正解がすでに存在している
  • unsupervised (教師なし): サンプルはただ存在している

Model and Cost Function

  • x: input (サンプル)
  • y: output (結果)
  • m: サンプル数

たとえば教師ありの回帰問題を考える。仮説関数 (hypothesis)

h(x) = theta0 + theta1 x

これは線形回帰かつ単回帰(線形に表現され、変数が1個)な場合の仮説関数。 この関数をサンプルから求めるために目的関数(コスト関数)を用意する。

J(theta0, theta1) = 1/2m sum(( h(x) - y )^2)

これを最小にするtheta0theta1を自動で求めていきたいということになる。

Parameter Learning

いろいろな方法があるけれど、再急降下法でやっていくのが一般的。 各パラメータで偏微分して、各パラメータを減らしていく。

theta(j) := theta(j) - alpha * grad(J, theta(j))

プログラムで書くときは値の更新が各変数で同時になるように注意。

alpha は学習率と呼ばれる正の値。いい具合に決めてやらないと発散しちゃうので注意。