Supervised Machine Learning: Regression and Classification | week1
これなに
Courseraの機械学習講義「Supervised Machine Learning: Regression and Classification」の内容を部分的にまとめたものです.
注意
講義内容のアップデートが行われたようです.数年前はOctaveを用いた演習問題があり,問題と解答が全て無料で見れたのですが,今回のアプデで言語がPythonに変更され,有料会員でないと演習問題を見ることが出来なくなりました.そのため理論(講義)と実践(プログラミング)の結びつけを自分で行う必要があります.
重要点や躓いた点など
- cost functionとloss functionの違い
Andrew先生は回帰モデルを作成する際に,パラメータw,bを決定するのに損失関数(loss function)を導入します.一方,機械学習でモデルの精度をみるときはコスト関数(cost function)を用います.損失関数とコスト関数.これらの違いは何なのでしょうか?
この答えとして,「損失関数は1つのデータの実測値と予測値の差を算出するもの,コスト関数は学習したデータセット全体の差を算出するもの」が挙げられます. 動画で登場した平均二乗誤差(MSE)のように,モデルの予測値と実測値のずれを計測する関数は損失関数(loss function)であると言える.
- 代入演算子と数学の=(イコール)の違い
再急降下法のアルゴリズムで登場した式 の「=」は代入演算子です.
数学の=では, の場合,「aとcは等しい」という解釈をします.
しかし,今回の場合,wに右辺の式を代入する(代入演算子)という意味で使われています. これは,pythonでいう 「w = w - smth」 をイメージすると分かりやすい.
- 学習率について
◎学習率:非常に小→局所最適解までの時間:長
◎学習率:非常に大→局所最適解に至らない,むしろ遠ざかる(発散する)
◎局所最適解に近づけば近づくほど,導関数は小さくなる→ゆえに学習率は固定してok