最近激アツな人工知能、機械学習、ディープラーニングを勉強しよう!!!
でも、結局数学の知識が足りず、数式の意味が分からず付いていけなくなり妥協してしまった。。。。
今回は、このような方のために機械学習のための数学の基礎の基礎である1次式と2次式についてまとめました。
この記事を書いている僕はシステムエンジニア6年目
普段はJavaでWebアプリを作ったりSQL書いたり・・・、
なので最近流行りのPython、数学、人工知能、デープラーニングができる人には正直憧れています。。。。
自分も一から勉強してこの辺りできるようになりたい、、画像認識モデルを作ったりして、アプリに組み込みたい!
これが機械学習、深層学習の勉強を始めたきっかけでした。
体系的に、この分野の基礎から学ぼうとJDLAのG検定の勉強をして合格するところまでいきました。
次のステップとして、
実際にPythonでコードを書きながら機械学習や深層学習の知識を深めようと考え、これら買って勉強してみたのですが、、、
学生時代に勉強したはずの数学を忘れてしまっていて、機械学習の勉強以前にでつまずきました。。。
今回は、機械学習とディープラーニングの勉強をしていて、
復習が必要と感じた部分、抑えておくべきと感じた数学の基礎である1次式と2次式についてまとめてみました。
1次式と2次式
一次式の定義とグラフ
まず、\( x\)についての1次式の定義を確認しましょう。
【定義】 \( x\)についての1次式
$$ax + b(ただしa \neq 0)$$
上の式において、
\( ax\)、\( b\)を項といい、
複数の項でできている式なので多項式といいます。
また、\( x\)についての式なので\( x\)が変数、\( a\)、\( b\)が定数になります。
各項の\( x\)についての次数を数えると、\( ax\)は次数1、\( b\)は次数0となります。各項の最大次数は1なので、上の式を1次式と呼びます。
では、1次式のグラフを見てみましょう。
\( y = ax + b(a > 0 )\)のグラフ
グラフの特徴は直線になっていることです。
また、係数\( a\)は直線の傾きを、\( b\)は\( x = 0\)の時の\( y\)の値である切片を表しています。
また、\( a < 0\)のグラフでは直線の傾きは逆になります。
\( y = ax + b(a < 0 )\)のグラフ
2次式の定義とグラフ
次に、\( x\)についての2次式の定義を確認しましょう。
【定義】 \( x\)についての2次式
$$ax^{2} + bx + c(ただしa \neq 0)$$
復習になりますが上の式において、
\( ax^{2}\)、\( bx\)、\( c\)が項の多項式で、
\( ax^{2}\)が次数2で最大次数隣2次式となります。
では、2次式のグラフを見てみましょう。
\( y = ax^{2} + bx + c(a > 0 )\)のグラフ
2次式のグラフの特徴は放物線になることです。
上のグラフでは下に凸の放物線になっていると思います。
逆に\( y = ax^{2} + bx + c(a < 0 )\)のグラフは下に凸のグラフになります。
ここまで、1次式と2次式についてみてきました。
次は\( n\)次式についての定義を確認しましょう。
【定義】 \( x\)についての\( n\)次式
$$a_0x^{n} + a_1x^{n-1} + a_2x^{n-2} +・・・ + a_{n-1}x + a_n(ただしa_0 \neq 0)$$
\( a_0\) ~ \(a_n\)は全て定数です。
例えば\( n = 4\)とすると、式は\( a_0x^{4} + a_1x^{3} + a_2x^{2} + a_3x + a_4\)となります。
ちなみにグラフを書いたらこんな感じになりました。
おまけですが、
1次式のグラフを描画したPythonのソースコードは以下です。
import numpy as np
import matplotlib.pyplot as plt
# データの作成
x = np.arange(-1, 5, 1) # −1から4まで1刻みで生成
a = 2
b = 3
y = a*x + b
# グラフの描画
plt.plot(x, y, marker="o", label = "y = ax + b(a = -2, b = 3)")
plt.xlabel("x")
plt.ylabel("y")
plt.title("y = ax + b")
plt.grid(True)
plt.legend()
plt.show()
まとめ
ということで、今回は1次式と2次式について確認しました。
1次式はグラフにすると直線で2次式はグラフにすると放物線になりました。
ついでに、項や次数などの意味についても整理しました。
さすがに今回の内容は簡単過ぎると感じたかもしれません、、、
しかし、機械学習関連の本を読んでいると超複雑な多項式や次数の多い式を見ることになります。
その時にこの基礎を抑えてないと、ツラかったです。。。それに心折れます、、、
まずは数学の基礎を完璧にマスターしましょう。