機械学習といってもやっていることは、メトリクスを最適化するパラメータ集合を求めているだけか」メトリクスとは、評価指標のことだ。機械学習ではよく損失関数(データの正解とモデルの導いた答えの差)という名前で使われ、また、機械学習における最適化は「損失関数を最小化する」ことが多い。基本的に機械学習は、「損失関数を最小化するパラメータ集合を求めている」ということだ(「パラメータって何?」という疑問については、この後の例を見てもらえばわかるはずだ)。機械学習初心者のためのモデル解説さきほど、私は「モデル」という言葉を太字にした。数学が苦手な人のために、CDの売上を通して「モデル」とは何かを説明したい。架空のアイドルユニット「ショコラボーン」がデビューシングルのCDを発売した。週ごとの売上が以下のようになったとする(スマホだと表が切れているかもしれない。6週目が9.6、7週目が7.6)。形を見ると、数学の授業で習った2次関数(放物線)のように見える。実際に2次関数で近似してみよう。2次関数は一般に、$$ax^{2}+bx+c$$と書ける。ここで行った近似は、2次関数の係数a,b,cというパラメータを求めることだ。私は今、CDの売上を2次関数でモデル化したのだ。この関数を使って、CDの売上予測ができることになる。機械学習とパラメータ機械学習も同じだ。結局はa,b,cのようなパラメータを求めているだけなのだ。重要なことだが、機械学習のパラメータには次の2種類がある。多くの人が誤解しやすいポイントであり、これを知れば機械学習が何をやっているかのイメージが湧く。1ハイパーパラメータ2学習により最適化するパラメータハイパーパラメータは、機械学習によりコンピュータが学ぶパラメータではなく、人間が勝手に設定しなければならないパラメータだ。学習により最適化するパラメータは、文字通り長い時間をかけてコンピュータが学習するパラメータである。さきほどの2次関数でいうと、ハイパーパラメータは「3次関数でも4次関数でもなく2次関数で近似しようとするときの2」であり「a,b,cが学習で最適化するパラメータ」のような具合だ。※この記述はイメージを伝えている。実際はハイパーパラメータも、予測がうまくいくよう学習を実行しながら調整していく。まとめだから結局、「機械学習とはメトリクスを最適化する(データとモデルの誤差を最小とする)パラメータ集合を求めることに過ぎない」となるわけだ。どんな高度な機械学習アルゴリズムを用いたとしても、本質的にはパラメータを求めているだけなのだ。