※本記事はアフィリエイト広告を含んでいます
どーも、りけーこっとんです。
DS検定の勉強をしよう!と思ったは良いものの、こんな悩みはありませんか?
DS検定ってどうやって勉強すればいいの?
DS検定の勉強の仕方が分からない…
本で勉強するのは分かるけど、高いなぁ…
無料で単語解説されているサイトとかないかな?
DS検定は、始まったばかりの試験だから、対策法とか分からないよね。
じゃあ、このサイトで出題範囲の内容を押さえていこう~
DS検定の解説をすぐ見たいよ!という方は、以下から最初の解説に飛べます。
今回はスキルチェックリスト
「DS23:導関数が関数の傾きを求める式だと理解している」と
「DS24:2変数以上の関数の偏微分ができる」を解説していくよ~
本サイトでは超重要項目、重要項目、覚えておきたい項目と表記を分けますので、勉強時の参考にしてみてください。
DS検定って、そもそもどんな資格?という方は以下の記事をご覧くださいね。
試験範囲は以下の二つから出題されます。
・スキルチェックリスト
・数理、データサイエンス、AI(リテラシーレベル)モデルカリキュラム
本内容は以下の書籍を参考に作成しております。
なお、本サイトはDS検定の合格を保証するわけではありませんので、ご了承ください。
では早速、内容に入っていきましょう!
※「DS○○:」項目の文章は独自に短縮して表現しております
DS23:導関数が関数の傾きを求める式だと理解している
DS23の項目は、微分をきちんと理解しているかどうかという項目。
「導関数」は微分と深い関係があります。
では、「微分とは何か」から見ていきましょう。
微分とは?
微分
関数\(\displaystyle f(x)\)があったときに、変数\(\displaystyle x\)の超微小な変化の仕方を数式で表す方法。
「関数\(\displaystyle f(x)\)を関数\(\displaystyle x\)で微分する」という。
関数の接線(関数に接するような直線のこと)の傾きを求めることと同義
深層学習においては「学習」のためにプログラムで微分を行っている
なぜ「変化の仕方」と「接線の傾き」を求めることが同じ意味になるのでしょうか。
以下の図のような関数を考えてみましょう。
この時、変数\(\displaystyle x\)のある値を\(\displaystyle a\)
その\(\displaystyle a\)点からの変化量を\(\displaystyle h\)とします。
\(\displaystyle a\)から\(\displaystyle a+h\)までの直線の変化を表すにはどうすればいいでしょうか。
単純に\(\displaystyle \frac{f(x)の変化量}{Xの変化量}\)で求められますよね。
つまり\(\displaystyle \frac{f(a+h)-f(a)}{a+h-a}\)です。
ただ、このままでは\(\displaystyle x\)の変化量が超微小とは言えないですよね。
そこでhを0に近づけて、\(\displaystyle a\)と\(\displaystyle a+h\)が一緒の点になるようにしてみましょう。
\(\displaystyle a\)と\(\displaystyle a+h\)が同じ点になったので、直線が接しているように見えませんか?
実際、変化量の直線は元の関数\(\displaystyle f(x)\)と値\(\displaystyle a\)でしか交わっていません。
このように微分は、「超微小な変化を求める=接線の傾きを求める」という意味になるわけです。
導関数とは?
導関数
関数を微分すると現れる関数のこと。
関数\(\displaystyle f(x)\)を\(\displaystyle x\)で微分したときには\(\displaystyle f'(x), \frac{d f(x)}{dx}\)などと表記する。
以下の例での右側の関数のこと。
ex)
\(\displaystyle x^2\Rightarrow 2x\)
\(\displaystyle x^4\Rightarrow 4x^3\)
\(\displaystyle sin(x)\Rightarrow cos(x)\)
先ほど「深層学習の”学習”に微分を用いる」と述べましたが、深層学習を学ぶ上で微分・導関数は必須の知識。
機械学習・ニューラルネットワーク・深層学習(ディープラーニング)の違いが曖昧な方はこちら。
微分の本質は「微分とは?」の章で述べた通りなので、この章では導関数を求める簡単な式を覚えておけば問題ありません。
$$f(x)=x^a\Rightarrow f'(x)=ax^{a-1}$$ ここでaは適当な定数ですDS検定ではこの公式を覚えておけば問題ないでしょう。
実際に計算すると以下のような感じです。
\(\displaystyle f(x)=x\Rightarrow f'(x)=1\) \(\displaystyle f(x)=x^4\Rightarrow f'(x)=4x^3\) \(\displaystyle f(x)=4x^3\Rightarrow f'(x)=(4\times 3)x^2\)ちなみに微分する変数が無い場合には「定数」扱いになって、微分すると0になります。
\(\displaystyle f(x)=2x+ \color{red}{4} \Rightarrow f'(x)=2\) ※定数4の部分は0になっているDS24:2変数以上の関数の偏微分ができる
この項目は偏微分ができますか、という項目。
偏”微分”と言われているように、微分の一種です。
実際の深層学習では関数が複雑になることも多く、基本的には偏微分が用いられています。
偏微分とは?
偏微分
2変数以上の関数を、一つの変数だけについて微分すること。
微分対象の変数以外は定数として扱う。
関数\(\displaystyle f(x, y)\)を\(\displaystyle x\)で偏微分することは\(\displaystyle \frac{\partial f(x, y)}{\partial x}\)と表せる。
具体例を見てみましょう。
例えば、関数\(\displaystyle f(x, y) = 3x^4 + 4xy + 6y^2\)があったとします。
\(\displaystyle x\)で偏微分すると
\(\displaystyle \frac{\partial f(x, y)}{\partial x} = (3\times 4)x^3 + 4y\)\(\displaystyle 6y^2\)は変数\(\displaystyle x\)が入っていないので、定数として扱います。
定数を微分すると0なので、答えとしては \(\displaystyle \frac{\partial f(x, y)}{\partial x} = (3\times 4)x^3 + 4y\) となるわけですね。もう一つの変数\(\displaystyle y\)での偏微分も見てみましょう。
今度は\(\displaystyle x\)ではなく\(\displaystyle y\)に注目して微分するだけです。
まとめ
今回は「微分・偏微分」などを解説してきました。
以下の項目を説明できるようになっているでしょうか?
・微分
・微分は機械学習において「学習」に用いられる
・導関数
・偏微分
DS検定は覚える内容が多いです。
一つ一つを細部まで見るというよりは、広く浅く見ていくことが重要かと思います。
DS検定を取得して、データサイエンティストやAI関連の仕事への道を開きましょう!
次回は「積分の基礎」などについて解説していきます。
ではまた~
DS検定の続きの解説は以下のページからどうぞ!
コメント