数学の「関数」を振り返る
Pythonの関数を学んだとき、y = f(x)という形で「入力から出力を計算する」ことを表せる、と説明しました。実はこのfの中身を、数学の言葉(数式)で具体的に表すこともできます。最も基本的な形が 一次関数 です。
y=ax+b
これは、Pythonで書くとこうなります。
def f(x):
return a * x + b
aとbはあらかじめ決まった数値(定数)で、それぞれ次のような意味を持ちます。
- a:傾き。xが1増えたときに、yがどれだけ変化するか
- b:切片。x=0のときのyの値
例えば y=2x+1 なら、xが1増えるごとにyは2ずつ増え、x=0のときy=1です。この「傾き」「切片」という言葉は、この後の単元(線形回帰)で何度も登場する重要な用語なので、ここでしっかり押さえておきましょう。
グラフで見る一次関数と、データとのつながり
一次関数 y=ax+b をグラフに描くと、まっすぐな直線になります。a(傾き)が大きいほど線は急になり、aがマイナスなら右下がりになります。b(切片)を変えると、線が上下に平行移動します。
以前、データの可視化の単元で「勉強時間」と「テストの点数」の散布図に、y=7x+40という直線を当てはめて、勉強時間から点数を予測する演習をやりました。実はあの直線こそ、まさにこの一次関数だったのです。
テストの点数=7×勉強時間+40
つまり、「データの傾向を表す直線を見つける」ということは、「そのデータに最もよく当てはまるa(傾き)とb(切片)を見つける」ということと同じです。
この後の単元で学ぶ 線形回帰 は、まさにこの「データから最適なaとbを自動的に見つけ出す」手法です。人間がa=7,b=40と決め打ちするのではなく、コンピュータにデータを見せて、最も当てはまりの良いaとbを計算させます。次のレッスンでは、その前段階として、複数の数値をまとめて扱う「ベクトル」を学びます。