▶︎その1(微分について)その2(級数と積分について)その3(行列について)その4(行列の掛け算について)その5(行列のいろいろ)橘と申します。機械学習を勉強中の身でありながら、機械学習に関して記事を書いていく予定です。このブログを読んでいる方であればご承知のとおりかと思いますが、機械学習と数学は切っても切れない関係です。「数学を使わなくても機械学習は使える」という考え方があるのも事実ですが、いずれは数学の知識が問われることになります。そのため、始めの数回は抑えておくべき数学の知識をまとめていこうと思います。(OECD)による数学の学習意欲度の調査結果が公開されています。7割が苦手という結果が出ているようです。読んでいる方々の中にも、苦手意識を持っている方がいるはずです。「将来の仕事の可能性を広げてくれるから数学は学びがいがある」という人が52%しかいません。全体の平均の77%を大きく下回っている結果です。残念な結果のように思えます。機械学習を学ぼうとしたのに計算の複雑さにうんざりした経験のある方もいるでしょう。「何を目的にしているのか」というところに焦点を当てると、意外とシンプルだったりします。以上のことから、極力、機械学習を学ぶ上でのツール、アプローチとしての数学の手法をご紹介していく予定です。結論から結論として、「関数がある点で最大値、もしくは最小値を取るとき、その点で微分した値は0になる」という事実を抑えておけば、とりあえずは大丈夫です。この結果が重要かというと、機械学習は「いいモデルを作る」ことを目標にしたり、「なるべく誤差を無くす」ということを目標にしたりすることがあるからです。「いいモデルを作る」ことが目的のときは、そのモデルの「尤もらしさ(確からしさ)」を数値で求めます。この「尤もらしさ」の数値を微分した結果が0であれば、最も「尤もらしい」と見なせます。「なるべく誤差を無くす」ことが目的の時は、誤差を数値化してその数値が小さくなることを目指します。その数値化をした際に微分した結果が0であれば、誤差が最も小さいと見なせます。この「関数がある点で最大値、もしくは最小値を取るとき、その点で微分した値は0になる」という事実は抑えておいてください。以降はこの事実の簡単な解説です。理解されている方は、これ以降はあまり読む必要がないかと思われます。微分って微分を高校の時に次のように計算するように習った方もいるかと思います。(厳密さを室伏選手にハンマー投げで投げ飛ばしてもらえれば)計算としては上の式の解釈で十分です。(フクザツなものは上の式のようにはいきませんが)ですが、ここではグラフ的(幾何的)な解釈をすると、「ある点における接線の傾き」が微分によって導き出されます。図1により、y=x^2(xの2乗)のx=5における接線の傾きは10であることがわかります。書きましたが、今は具体的な接線の傾きというのは一旦忘れて、接線のパターンに注目します。接線は、傾きの数値がマイナス、0、プラスの3つのパターンによってわけて考えることができます。3つのパターンのうち、「接線の傾きが0のとき」のパターンに注目すると、グラフの谷の一番底と接している線であることが、なんとなくわかると思います。(なんとなくで構いません。)グラフの谷の底こそが、最も数値が低くなるところ、です。グラフを上下反対にすれば、グラフの山の頂上でも「接線の傾きが0のとき」のパターンになることは想像できるかと思います。そのため、次のようなフクザツなグラフでも、頂上と谷底の接線の傾きは0です。グラフの傾きは先程ご説明した通り、「ある点で微分した結果」でした。この事実こそが「関数がある点で最大値、もしくは最小値を取るとき、その点で微分した値は0になる」という事実です。逆に「ある点で微分した結果が0であるとき、その点で最大値かもしくは最小値をとる」ということもできます。この事実は今後の説明でも度々出てくるので、このニュアンスだけでも掴んでもらえれば幸いです。編集部twiterfacebookAWSを中心としたクラウドインフラやオンプレミス、ビッグデータ、機械学習などの技術ネタを中心にご紹介します。