微分・最小値問題の復習と増減表|高校数学の演習を通して理解する決定木・ランダムフォレスト #1
機械学習を理解するにあたって数学は必要かという質問はよく聞かれますが、程度によりますが最低限は必要だと答えるようにしています。最低限というのも色々と考え方がありますが、個人的には高校数学〜大学の教養過程の導入(完璧までいかなくてもOK)ほどは把握していないと直感的なイメージすら湧かないのでよくないと思います。
研究者でないのであれば理論書を完璧に理解しようというのも極端ですが、一方で数学を完全に避けて言葉だけで理解するというのもまた極端だと思います。そのため、難しすぎずそれによって得られる知見が多いのが、高校数学を中心とする範囲なのではと考えています。
分野としては、関数、微積、数列、極限、ベクトル、行列、確率、集合などは基礎的なレベルである程度掴んでおくのが望ましいと思います。
ネットワークを理解しようというものです。簡単な6題の例題をもとにニューラルネットワークの仕組みに現れる基礎的な数学についてフォーカスしています。
上記ではニューラルネットワークを中心に取り扱いましたがその他アルゴリズムも取り扱えればということで、決定木・ランダムフォレストについて新規で連載をスタートします。
基礎からやると内容が被ってしまうため、ニューラルネットワーク連載のex.03の最小値問題までの例題は理解している前提で進めていきます。(怪しければ先にex.03まで確認の上読み進めていただけたらと思います)
#1では微分の最小値問題の復習と関数の増減表について取り扱えればと思います。
以下、目次になります。
1. 例題① 微分を用いた最小値問題(復習)
2. 例題② 増減表
3. まとめ
1. 例題① 微分を用いた最小値問題(復習)
1節では参照記事の復習として最小値問題について取り扱います。二次関数の最小値問題なので、平方完成や微分など様々な単元で出てきた問題なのではないかと思います。ベーシックな問題ではあるのですが、微分が関数の傾きを表すことを理解しておくと様々な考察に役に立つので非常に重要な問題です。
ex.01
Answer.
与えられた関数が下に凸である二次関数のため、最小値を取る際に傾きのとなるので、
したがって
解説.
与えられた関数は下に凸な関数なので、は単調増加します。このため、の点を境にの値は減少から増加に変わります。この点で最小となります。
また、この問題には平方完成を用いた別解があるのですが、この後の話に繋がりやすいようにあえて微分で解いています。
2. 例題② 増減表
2節では例題①の最小値問題からもう少し踏み込んで増減表について取り扱えればと思います。微分を用いることで最小値問題だけでなく関数の増減についても議論することが可能になります。
ex.02
の増減表とグラフを描け。
Answer.
の微分を[f'(x)]すると多項式関数の微分の公式より、と計算できる。これを元に増減表をかくと以下のようになる。
これを元にグラフを描くと以下のようになる。
解説.
増減表は関数の増減を記した表のことです。のx軸の関係性を考察することで関数の増減を表にすることができます。上記の問題において、との点はそれぞれ周辺の値より大きかったり小さかったりしているので極値と呼びます。
周辺の値よりも大きい値であるを極大値、周辺の値よりも小さい値であるを極小値と言います。機械学習で取り扱う関数には色々と複雑なものもあり、実際に数値を入れて可視化をするのも一つですが、高校数学の範囲で可視化を行うときには増減表で極値を明確にすることで、少ない数の代入で関数の形を把握することができます。
今回は三次関数でしたが、や、などの様々な関数の議論で上記のような増減表は便利なツールになります。
当連載では、決定木の学習時に用いる不純度(inpurity)の計算に用いるエントロピーやジニ係数の関数の形の把握を行うにあたって、増減表の理解を用いて話を進めていきます。こちらについては#3で取り扱います。
3. まとめ
#1では決定木の学習時に用いる不純度(inpurity)の計算に用いるエントロピーやジニ係数の関数の分析を行うために増減表を導入しました。
#2ではアンサンブル学習の考察のために用いる二項係数について導入したいと思います。