知識の走り書き

技術知識の備忘録を中心としています

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)であると言える.

  • 代入演算子と数学の=(イコール)の違い

再急降下法のアルゴリズムで登場した式  w = w - \alpha \frac{\partial}{\partial w}J(w,b) の「=」は代入演算子です.

数学の=では,  a = c の場合,「aとcは等しい」という解釈をします.

しかし,今回の場合,wに右辺の式を代入する(代入演算子)という意味で使われています. これは,pythonでいう 「w = w - smth」 をイメージすると分かりやすい.

  • 学習率 \alphaについて

◎学習率:非常に小→局所最適解までの時間:長

◎学習率:非常に大→局所最適解に至らない,むしろ遠ざかる(発散する)

◎局所最適解に近づけば近づくほど,導関数は小さくなる→ゆえに学習率は固定してok