第1週:導入【Coursera Machine Learningコース】
Introduction
機械学習とは?
アーサーサミュエルの定義:コンピュータに明示的にプログラムすることなく学習する能力を与える研究分野
教師あり学習 (Supervised Learning)
- 教師あり学習では、全てのサンプルについて「正しい答え」が与えられている
- 予測したい値が連続値なら回帰問題
- 予測したい値が離散値なら分類問題
教師なし学習 (Unsupervised Learning)
データセットから構造を見つける
Model and Cost Function
モデル表現 (Model Representation)
線形回帰
- 例:住宅価格と敷地面積から線形関係を見つける
シンボル定義:
教師あり学習の仕組み
仮説関数をどう表すか
-
- 単回帰 ... 変数が1つの線形モデル
-
目的関数 (Cost Function)
- データに対しどのように最適な直線(線形回帰の場合)を当てはめるか算出するために役立つ
仮説関数のはパラメータと呼ぶ
- 例 : における ,
パラメータの値によって異なった仮説になる
どうすれば最適な, が得られる? → 目的関数を最小化する
目的関数の直感的理解 1 (Cost Function - Intuition 1)
(とするとき)
とデータセットのズレが大きいほど誤差が指数的に大きくなる
⇆ 仮説関数がデータに最もフィットするとき誤差が最も小さくなる
目的関数の直感的理解 2 (Cost Function - Intuition 2)
- 仮説関数が単回帰モデルのときの目的関数のプロット (3次元)
上記の2次元バージョン (等高線)
仮説関数がデータにフィットするほど誤差が小さくなるのがわかる
パラメータ学習 (Parameter Learning)
勾配降下法 (Gradient Descent)
目的関数を最小化するアルゴリズムのひとつ
線形回帰以外でも使われる汎用的なアルゴリズム
例: , をパラメータにもつ目的関数を最小化する
勾配降下法の基本的な考え方:
- , になんらかの初期値を与える
- 初期値はなんでもよいが、0初期化が一般的
- , の値を少しづつ変化させてが減少するか試す
- が減少する方向に, を変化させることを繰り返すと、いずれは最小値、あるいは局所的最小値に辿り着く
- , になんらかの初期値を与える
三次元的なイメージ
初期値が異なると、異なる解にたどり着くこともある
数学的表現:
- ""はをに代入することを意味する
- : 学習率 ()
- 降下するステップの大きさを決める
- : 導関数項 (解説は先の章)
- , は同時に更新するように実装すること
- 一方を更新した後、更新した値を使って他方を計算しないように
勾配降下法の直感的理解 (Gradient Descent Intuition)
目的関数のパラメータがのみの場合の勾配降下法を考える
- は実数 ( R)
導関数項について:
微分とは接線の傾きを調べること
傾きが正か負かによっての更新方向が決まる
学習率が小さすぎると収束まで時間がかかり、大きすぎると収束しなかったり発散してしまったりする
が局所的最適解で初期化されると、傾きが0になり更新されない
- を適切な学習率で更新するたびに、傾きは小さくなり(最急降下法のステップが小さくなり)、最終的に(局所的)最小値に収束する