1本の道なら、坂は1つ
まずは入力が1つの場合。進める向きは右か左だけです。
P から Δx だけ右へ進んだ点を取り、2点をオレンジの直線で結びます。その傾き Δf/Δx は、この区間の平均の坂です。Δx を縮めると直線は P での接線に近づき、その傾きが微分 f′(x) になります。
ここを見るΔx を小さくするほど、図の左上の Δf/Δx が接線の傾き +1.00 に近づきます。
地形の上では、坂は向きで変わる
さっきの曲線は、この曲面を y = −1.00 で切った断面でした。入力が2つになると、グラフは地形のような曲面になります。
P から向き θ へ進むと、上り坂にも下り坂にもなり、平らな向きもあります。θ(x 軸の向きから左回りに測る角度)を1周させてみてください。
向きは無数にあり、1つずつ測るわけにはいきません。では、どの向きを測れば足りるのでしょうか。
y を止めると、曲面は1本の曲線に戻る
01 の「1本の坂」に戻すには、y の値を1つに止めて x だけを動かします。進める道は、シアンの面で切った1本の曲線だけになります。
ここを見る止める y を変えると切り口が入れ替わりますが、どこで止めても1本の曲線です。
切り口の接線の傾きが、∂f/∂x
切り口を真横から見ると、01 と同じ1本の曲線です。P での接線の傾きを ∂f/∂x と書き、「x についての偏微分」と呼びます。∂ は「ラウンド」「パーシャル」などと読まれ、参考書では fx とも書きます。
01 の式と違うのは、2つの項で y が同じ値のままという点だけ。計算では y をただの数として扱います。
f = x² + (−1.00)x + (−1.00)²
ここを見る式 2x + y に y が残るのは、この関数に xy の項があるからです。止める y を変えると、切り口は上下にずれるだけでなく傾き方も変わります。f = x² + y² なら ∂f/∂x = 2x で、y をどこで止めても変わりません。
x を止めれば、∂f/∂y
今度は x を止めて y だけを動かします。図は90°回ってマゼンタの切り口を横から見ています。この接線の傾きが ∂f/∂y です。
f = (1.00)² + (1.00)y + y²
ここを見る同じ点 P でも、x 方向の坂は +1.00、y 方向の坂は −1.00。偏微分で測っているのは、ほかの入力を止め、一部の入力だけを動かしたときの変化です。
2本の接線が、1枚の平面を決める
P を通る2本の接線を含む平面が接平面です。なめらかな曲面を P のごく近くで見ると、曲面と接平面のずれは小さくなります。
x 方向に Δx、y 方向に Δy 進んだときの高さの変化 Δf を、2本の坂の足し算で近似します。図の階段は、x 方向とy 方向の上り下りを順に足したものです。
いまの一歩:Δx = 0.40、Δy = −0.20
- 接平面での変化
- +0.600
- 実際の変化 Δf
- +0.720
- ずれ
- +0.120
ここを見る「一歩を半分に」を押すと、予測は半分になり、ずれは 1/4 になります(この関数の場合)。ずれのほうが速く縮むため、P に近づくほど接平面による近似が合ってきます。参考書の全微分 df = (∂f/∂x)dx + (∂f/∂y)dy は、接平面の上での変化を表す式です。そのため、≈ ではなく = で書かれます。
どの向きの坂も、2本から作れる
真上から見た等高線の地図です(中心が谷底)。接平面の上で向き θ へ長さ1進むと、x 方向に cos θ、y 方向に sin θ 進むので、高さは次の分だけ変わります。これがその向きの坂で、参考書では方向微分と呼ばれます。
02 では坂の向きが無数に見えました。ここでは、x と y の2方向の偏微分を組み合わせると、ほかの向きの坂も計算できます。
2つの偏微分を並べた ∇f = (∂f/∂x, ∂f/∂y)(∇ はナブラ)を勾配と呼びます。いちばん急な上りはこの向きで、その坂は |∇f| = 1.41 です。
ここを見る緑の矢印は、P を通る等高線(点線)と直角に交わります。等高線に沿う向きでは坂が0、勾配の反対向きがいちばん急な下りです。
2つの坂が、両方0になる場所
∂f/∂x と ∂f/∂y が両方0の点では、07 の式からどの向きの坂も0になり、接平面は水平になります。
図のシアンとマゼンタの点線は、それぞれの偏微分が0になる場所です。2本が交わる1点で、はじめて両方0になります。
ここを見る勾配の反対向きへ少しずつ進むと、交点に近づきます。これが勾配降下法の考え方です。両方0の点は形によって山頂や鞍点(馬の鞍のように、向きによって上りにも下りにもなる点)のこともあり、この曲面では谷底です。
統計へ:直線の当てはまりも、谷になる
5つの点に直線 y = a + bx を引きます。点と直線の縦のずれ(残差)ei = yi − (a + bxi) を2乗して足した量が S です。
ここでの入力は x ではなく、直線を決める a(切片)と b(傾き)です。a と b を横と奥にとると、S は図のような谷になります。
ここを見る直線を点に近づけるほど S は小さくなり、谷の上の点 (a, b) が下がります。最小二乗法は、この谷底を探す方法です。
b を止めて a だけ動かす:残差の合計
03〜04 と同じく、b を止めて a だけを動かします。谷を切ったシアンの曲線の傾きが ∂S/∂a です。
= −2 Σ ei
∂S/∂a = −4.00
かっこの中 ( yi − a − bxi ) は、a が1増えると1減ります。そのため、2乗を微分した 2( … ) に −1 がかかります(参考書では「合成関数の微分」と呼ばれる計算です)。
∂S/∂a = 0 は「残差の合計が0」。直線が点の上下でつり合う状態で、このとき直線は平均の点 (, ) = (2, 3) を通ります。
a を止めて b だけ動かす:残差と x
今度は a を止めて b だけを動かします。マゼンタの切り口の傾きが ∂S/∂b です。
= −2 Σ xiei
∂S/∂b = −20.80
∂S/∂b = 0 は、残差に x をかけて足すと0になること。10 の条件と合わせると、残差と x の共分散が0、つまり残差に x との直線的な傾向が残っていない状態です。
ここを見るb を大きくしすぎると、右側の点ほど直線が上に外れ、∂S/∂b がプラスに転じます。
両方0の点が、回帰直線
08 と同じく、谷底では2つの偏微分が両方0です。2つの条件を並べた連立方程式が、参考書で「正規方程式」と呼ばれるものです。
→ Σyi − n·a − b Σxi = 0
→ n·a + b Σxi = Σyi
→ a Σxi + b Σxi² = Σxiyi
10a + 30b = 39.4
S(a, b) は a と b の2次式で、xi がすべて同じ値でない限りお椀型です。山頂や鞍点はなく、両方0の点はただ1つ、それが谷底です。
連立方程式を解くと、b = Σ(xi − )(yi − ) ⁄ Σ(xi − )²、a = − b という回帰係数の公式になります。この5点では b = 9.4 ⁄ 10 = 0.94 です。
参考書の「S を a と b で偏微分して0とおく」という1行は、この谷底の条件を書いています。
ここを見るシアンとマゼンタの点線(それぞれの偏微分が0になる線)の交点が、回帰直線の (a, b) です。
参考書に戻る前に
このページで動かしたものと、参考書で出会う記号の対応です。
| 記号 | 呼び方 | このページで見たもの |
|---|---|---|
| ∂f/∂x | x についての偏微分 | y を止めた切り口の接線の傾き(04) |
| ∂f/∂y | y についての偏微分 | x を止めた切り口の接線の傾き(05) |
| df = fxdx + fydy | 全微分 | 接平面による高さの変化の予測(06) |
| (∂f/∂x) cos θ + (∂f/∂y) sin θ | 方向微分 | 向き θ の坂(07) |
| ∇f | 勾配 | いちばん急な上りの向きと、その坂の大きさ(07) |
| ∂S/∂a = ∂S/∂b = 0 | 正規方程式 | 最小二乗法の谷底、つまり回帰直線(12) |
重回帰の偏回帰係数は、ほかの説明変数を固定したまま、その変数だけを1増やしたときの予測値の変化です。予測式 ŷ をその変数で偏微分した値にあたります(09〜12 で a と b について偏微分したのとは、微分する相手が違います)。これを因果効果と読むには、交絡要因(その変数と結果の両方に影響するほかの要因)の選び方や測定、モデルの仮定を別に検討する必要があります。