mono-kuro-palette’s diary

パソコンで仕事をしながら「これは知っておくと後々便利かな?」と思ったことをちょっとだけ詳しく調べて公開しています。

GoogleAIの勉強:4時間目「損失を減らす」②

4時間目「損失を減らす」の続きを始めていきましょう。 数学が苦手な人だと見たくなくなりそうなグラフとか数式が出てきますが、できるだけ「文系でもわかる」ように説明していきたいと思いますので、お付き合いください。 前回から損失を少なくするための方法を勉強しています。 (この灰色のラインの損失が一番少ないので、灰色の線の傾きを導けるようになれれば良い) 損失を少なくするためにはこの灰色の線の「傾き」を探らないといけないわけです。その方法の一つが「反復的アプローチ」です。機械学習においては一般的のようですが「場数を踏んで学習」していく感じです。では、どんなことをするのか詳しくみていきましょう。

反復アプローチ

本家の講座では「Hot & Coldゲーム」が例えとして紹介されていましたが、日本ではあまり知られていませんよね。簡単にこのゲームの遊び方を探してきたのでご紹介します。

  1. Aさんが隠したアイテムをBが探す「宝探しゲーム」です 
  2. B(探す人)を部屋から出して、A(隠す人)が部屋の中にアイテムを隠します
  3. Bを部屋に入れて中央に立ってもらいます。
  4. そこからBはアイテム探しを始め、部屋の中を移動します。
  5. AはBがアイテムのある方向に移動したら「HOT」違う方向に移動したら「COLD」と言います
  6. Bがアイテムを見つけたらゲーム終了です

ゲームの内容がわかると、この「反復アプローチ」もこういうことか?とわかって来る気がしませんか? これを式で考えてみましょう。予測値を導く場合、 y'(予測値)=b+w1+x1 という式で導くことができました。(w1は傾きです) ここから予測をしていくわけですが、最初はどんな数字でも良いのでb1とw1には「0」を入れたとします。(Hot & Coldゲームで、探す人は部屋の中央に立つ感じです) すると、y'=0+0*x1になります。ここで仮にx1は5だったとします。すると式は… y'=0+0*10=0 になります。すると予測値y'は0になります。明らかに違いますよね。でも、それで良いんです。このb1とw1の値を変えて繰り返し計算して損失の少ない値を探していくのが機械学習なので! ちなみにb1とw1に「1」を入れると y'=1+1*10=11 になるので「傾き」が理想に近づいてきます。