自分の中で裏側よりの難しいタスクをアサインされる機会を増やしたいと思い、機械学習の勉強を始めることにした。そこでとりあえず良いとよく言われているCoursera Machine Learningの講義を受けることにした。
https://www.coursera.org/learn/machine-learning
ひとまずWeek1を終わらせたので、受けたときにとったメモを置いておく。
Model and Cost Function
線形回帰モデルをどのように構築するかについて紹介する内容だった。一つずつ単純化して説明してから複雑なものを考えるという形式をとって説明してくれるので非常に分かりやすかった。
線形回帰モデル
- 線形回帰問題とは、訓練データで学習することで、予測するための関数hを得ることが目的となる
- ひとまずというモデルを考える
- hが1次関数であるものを線形回帰モデル、もしくは単回帰モデルと呼ぶ
Cost Function(目的関数)
- Cost Functionを利用することで、h(x)を算出できる
- Cost Functionは以下のように二乗誤差の平均と考える
- Cost Functionが最小になればデータセットに近い直線が得られ、関数hのためのとが分かる
- 等高線のような図解が分かりやすかった
Parameter Learning
Gradient Descent(最急降下法)について習う。
Linear Algebra Review
線形代数の基礎中の基礎として、行列演算について教えてもらえる。
- 関数適用を行列とベクトルの掛け算として見るのが面白い
- 複数の関数適用なら行列と行列の掛け算と見る
まとめ
Week1を受けての感想は、非常に分かりやすく解説されているということ。説明がうますぎて、一切前提知識がなくても理解することが出来た。
数学的な知識も今の段階では分かっていなくとも理解することが出来た。どこかで数学の知識がないことで詰まってしまったら、またその機会に学習したい。
専門用語も多いので英語だとかなり理解に苦しむが、日本語の字幕も用意されていたので特に問題はなかった。たまに日本語の字幕がずれていて一切わからないところがあったので、そこは諦めて気合で英語の字幕を見ると良い。
とりあえず受けてみたものの、どのくらいモチベーションを保って続けられるかわからない。とりあえずTensorFlowとかに触ってみるというのを先にやっても良いのかもと思った。