どうも、カタミチです。
「最短コースでわかる ディープラーニングの数学」今日は、内容に入っていきたいと思います。さて、ディープラーニングの数学の世界にダイヴしますかねー。まずは「1章:機械学習入門」です。
いざ、スタート!
1-1. 人工知能(AI)と機械学習
いきなり、章の始まりの扉ページのところに、こう書いてありました。
(必須)損失関数
どうやら、この章では「損失関数」を覚えていってね!という事のようです。いやー、いきなり「損失関数」が出てくるのかー、と思いながら扉を開けました。
少し身構えましたが、1-1は小手調べって感じでさらっと1ページで終わりました。で、すぐに次の節に突入です。
1.2. 機械学習とは
1-2に来ました。ここからはどうやら、AIという言葉はもうそれほど出てこないようですね。「機械学習」の話になります。当然「教師あり学習」「教師なし学習」「強化学習」の説明もありましたが、本書ではどうやら教師あり学習のみを取り上げるようです。
確かに目次をあらためて眺めてみると、教師あり学習の手法が並んでました。ゴールのイメージが少し絞れましたね。
進んでいくと、教師あり学習が「学習フェーズ」と「予測フェーズ」の2つのフェーズから成る事の説明があります。図も交えて書いてあって、結構分かりやすく説明されていました。これはよい(^ ^)
さらに進んでいくと…ここで出ました。
「損失関数」
ここで、この世界の目的が明らかになりました。それは…
簡単にいうと本書は本1冊かけて、この「損失関数」と「勾配降下法」の考え方を理解するためのものです。
そうやったんかー(衝撃)
確かに、この2つを理解するためには、数学の知識がそれなりに幅広く必要になりますもんねー。よし、この本の具体的な到達点は把握できたぞ。
1-3. はじめての機械学習モデル
さてここで「はじめての機械学習モデル」という節が現れました。扉を開けてみると…
「単回帰」
ふぅ。機械学習の最初に出てくる、線形回帰の基本的なやつですね。ということで、出てきた式は…
$$y=w_0+w_1x$$
見慣れたいつものやつです。重みである \(w_0\)と\(w_1\)を調整する事で、モデルとなる式が完成するよ!というやつですね。しかし、導入編の中盤で、早くも数式が出てきましたね。大丈夫かな…(不安)
例は「身長\(x\)から体重\(y\)を予測する」ってやつで、対応関係のある数値データが5人分用意されてます。
そこから、まずは損失関数を定義してみましょう、という話から始まります。
標本点ごとに正解値\(y_t\)と予測値\(y_p\)の差(=残差)の2乗を計算し、すべての標本点での合計を残差平方和と言い、これを損失関数として評価するようです。
この本のビッグキーワードのひとつが損失関数なので「線形回帰では損失関数に残差平方和を使うよー」というのは、イメージと共に用語としても押さえておいた方が良さそうですね。
で、損失関数は…
\(L(w_0, w_1)\)と書くようです。\(L\)は、Loss(損失)の頭文字ですかね。カッコの中に\(w_0\)と\(w_1\)が入ってるってことは、これらが変数に当たるって事ですね。最終的に損失関数が最小となる重みを求めたいはずなので、重みの関数になる…ってことですね。ふむふむ。
で、ここからゴリゴリ計算が始まりましたが、導入編ってことで、なるべく高校数学の知識がいらないように処理してくれていました。
で、そうこうしているうちに、\(w_0\)と\(w_1\)の値が具体的に求まったうえで、今回の回帰モデルの予測式ができあがりました!
ただ、高校数学の知識がいらないやり方っていう事で、スマートなやり方では無いのは事前に分かっています。私としては数学を勉強しに来たので、まぁこれはこれで…くらいの感想でしたかねー。
そういえば前回読んだ「はじめに」のところに「編集者に無茶言われて、高校数学不要で解ける問題を用意することになった」みたいな事が書いてあったんですが、これの事ですかね。うん、間違いない。
ということで
導入編の半分くらいまできましたがここいらで一旦記事を止めたいと思います。続きは次の記事にしますかねー。
今回、個人的に収穫だったのは「線形回帰における損失関数は残差平方和である」って事を改めて認識できたことかなー。引き続き楽しんでいきたいと思います(^ ^)
ではまた。