# なぜ機械学習に数学が必要か：学習を「損失の最小化」に書き直す

> 回帰も分類も経験リスク最小化という一つの最適化問題に帰着することを示し、線形代数・微分積分・確率統計がその各段階でどう働くかを、最小二乗法と勾配降下法の完全な証明で確かめます。
> https://rikai.mugen-giken.com/computer-science/math-for-ml/why-math-for-ml

## 0. この記事の要点

- 教師あり学習は、データ・仮説集合・損失関数の三つを決めたうえで「経験リスクを最小にするパラメータを探す」という一つの最適化問題に書き直せます。回帰も分類も、この枠組みの中に収まります。
- データを計画行列 $X$ と目標ベクトル $\boldsymbol{y}$ に並べると、二乗損失の最小化は正規方程式 $X^{\mathsf{T}}X\boldsymbol{w} = X^{\mathsf{T}}\boldsymbol{y}$ に、幾何的には「$\boldsymbol{y}$ を列空間へ直交射影する」ことに帰着します（<Ref to="thm-normal-equation" />）。これが線形代数の役割です。
- 最小化を実行する道具が微分です。凸関数では「勾配がゼロ」と「大域最小」が同値になり（<Ref to="thm-convex-stationary" />）、勾配降下法が収束する学習率の範囲と最良の学習率は $\frac{1}{n}X^{\mathsf{T}}X$ の固有値だけで決まります（<Ref to="thm-gd-quadratic" />）。
- 「なぜ二乗損失なのか」に答えるのが確率です。ガウス雑音を仮定した最尤推定は最小二乗法とぴたりと一致し（<Ref to="thm-mle-gaussian" />）、ベルヌーイ分布を仮定すると交差エントロピーが出てきます（<Ref to="ex-cross-entropy" />）。
- 手元の有限個のデータで測った誤差を未知データでの誤差の代わりに使ってよい理由も、確率が与えます（<Ref to="prop-erm-consistency" />）。ただしこの保証は、モデルをデータを見てから選んだ瞬間に壊れます。これが過学習の正体です。

## 1. 動機：学習ライブラリの一行が隠しているもの

機械学習のライブラリを使うと、モデルの学習はたった一行で終わります。データを渡して学習用のメソッドを呼べば、数秒後には予測ができるようになっている。ここだけを見ていると、数学の出番はなさそうに思えます。

困るのは、その一行がうまくいかなかったときです。たとえば次のようなことが起こります。

1. 学習率を $0.001$ から $0.01$ に変えただけで、損失が減るどころか発散した。
2. 特徴量の単位をセンチメートルからメートルに変えたら、収束に必要な反復回数が数十分の一になった。
3. 訓練データでの誤差はほとんどゼロなのに、新しいデータではまったく当たらない。
4. 回帰では二乗誤差を使うのに、分類ではなぜか交差エントロピーという別の量を使う。

これらを試行錯誤だけで乗り切ろうとすると際限がありませんが、数学の言葉に書き直すと、どれも短い一文で説明がつきます。この記事の後半で、四つすべてに答えを与えます。

歴史を振り返ると、「データにモデルを当てはめる」という問題は機械学習より二百年ほど古いものです。ルジャンドルは 1805 年、彗星の軌道決定に関する著作の付録として最小二乗法を発表しました。ガウスは 1809 年の『天体運動論』で、観測誤差が正規分布に従うと仮定すれば最小二乗法が最ももっともらしい推定を与えることを示しています。「損失関数を確率モデルから導く」という、現代の深層学習でもそのまま使われている発想は、このときすでに現れていました。

この記事の目標は二つです。第一に、回帰と分類という一見別々のタスクを、経験リスクの最小化という一つの最適化問題として定式化すること。第二に、その問題を解く過程で線形代数・微分積分・確率統計がそれぞれどこで、なぜ必要になるのかを、線形回帰という一つの例を最後まで計算し切ることで確かめることです。

## 2. 学習問題を定式化する

まず言葉を固定します。以下、ベクトルは太字 $\boldsymbol{x}$、行列は $X$ のように書き、$\mathbb{R}^n$ の標準内積を $\langle\boldsymbol{a},\boldsymbol{b}\rangle=\sum_{i}a_ib_i$、そのノルムを $\|\boldsymbol{a}\|=\sqrt{\langle\boldsymbol{a},\boldsymbol{a}\rangle}$ と書きます。

<Definition id="def-supervised-setup" title="教師あり学習の設定">

入力空間 $\mathcal{X}$、出力空間 $\mathcal{Y}$ を集合とし、$\mathcal{X}\times\mathcal{Y}$ 上に確率分布 $P$ が一つ定まっているとする。$P$ から独立に同じ分布に従って抽出された $n$ 個の標本

$$
D = \bigl((\boldsymbol{x}_1,y_1),\ldots,(\boldsymbol{x}_n,y_n)\bigr) \in (\mathcal{X}\times\mathcal{Y})^n
$$

を訓練データという。予測値の空間 $\mathcal{Y}'$ を定め、写像 $f:\mathcal{X}\to\mathcal{Y}'$ を予測器、あらかじめ決めておいた予測器の集合 $\mathcal{H}$ を仮説集合という。さらに関数 $\ell:\mathcal{Y}'\times\mathcal{Y}\to[0,\infty)$ を損失関数といい、$\ell(\hat{y},y)$ は正解が $y$ のときに $\hat{y}$ と予測したことの罰則を表す。

$\mathcal{Y}=\mathbb{R}$ の場合を回帰、$\mathcal{Y}$ が有限集合の場合を分類という。

</Definition>

予測値の空間 $\mathcal{Y}'$ をわざわざ $\mathcal{Y}$ と別に用意したのは、分類のためです。ラベルが $\mathcal{Y}=\{0,1\}$ の二値分類でも、モデルが出力するのは普通「ラベルが $1$ である確率」、つまり $\mathcal{Y}'=[0,1]$ の値です。この区別は <Ref to="ex-cross-entropy" /> で効いてきます。

<Definition id="def-risks" title="期待リスクと経験リスク">

<Ref to="def-supervised-setup" /> の設定のもとで、予測器 $f\in\mathcal{H}$ に対し

$$
R(f) := \mathbb{E}_{(\boldsymbol{X},Y)\sim P}\bigl[\ell(f(\boldsymbol{X}),Y)\bigr], \qquad
\hat{R}_n(f) := \frac{1}{n}\sum_{i=1}^{n}\ell\bigl(f(\boldsymbol{x}_i),y_i\bigr)
$$

をそれぞれ $f$ の期待リスク（汎化誤差）、経験リスク（訓練誤差）という。$\hat{R}_n$ を $\mathcal{H}$ の上で最小にする予測器を選ぶという学習方針を経験リスク最小化という。

</Definition>

この二つの量の関係が、機械学習という分野の難しさをほぼすべて生み出しています。私たちが本当に小さくしたいのは $R(f)$ ですが、分布 $P$ は未知なので $R(f)$ は計算できません。計算できるのは手元のデータで測った $\hat{R}_n(f)$ だけです。この「すり替え」がどこまで正当化されるのかは <Ref to="prop-erm-consistency" /> で扱います。

仮説集合を有限個のパラメータで書き表すと、学習は有限次元の最適化問題になります。$\mathcal{H}=\{f_{\boldsymbol{w}}\mid \boldsymbol{w}\in\mathbb{R}^d\}$ とパラメータ付けし、

$$
L(\boldsymbol{w}) := \hat{R}_n(f_{\boldsymbol{w}})
$$

とおけば、学習とは「$\mathbb{R}^d$ 上の関数 $L$ の最小点を求めよ」という問題にほかなりません。全体の流れは次のようになります。

<Figure caption="教師あり学習の基本フロー。各段階でどの数学が働くかを併記した">
<Mermaid code={`flowchart TD
  A["1. データ: 入力と正解の組を n 個集める"] --> B["2. 表現: 計画行列 X と目標ベクトル y に並べる — 線形代数"]
  B --> C["3. 仮説集合: パラメータ w で動く予測器 f_w を用意する"]
  C --> D["4. 損失: 当てはまりの悪さを経験リスク L(w) として数値化する — 確率統計"]
  D --> E["5. 最適化: L が小さくなる向きへ w を動かす — 微分積分"]
  E --> F["6. 評価: 未知データでの誤差 R を見積もる — 確率統計"]
  F --> C`} />
</Figure>

以下、段階 2、5、6 を順に見ていきます。題材はいちばん簡単な線形回帰ですが、そこに三つの数学がすべて顔を出します。

## 3. 線形代数：データを行列に並べる

入力を $\mathcal{X}=\mathbb{R}^d$ の点、すなわち $d$ 個の実数値特徴の組とします。$n$ 個の入力 $\boldsymbol{x}_1,\ldots,\boldsymbol{x}_n$ を縦に積み上げた行列

$$
X = \begin{pmatrix} \boldsymbol{x}_1^{\mathsf{T}} \\ \vdots \\ \boldsymbol{x}_n^{\mathsf{T}} \end{pmatrix} \in \mathbb{R}^{n\times d},
\qquad
\boldsymbol{y} = \begin{pmatrix} y_1 \\ \vdots \\ y_n\end{pmatrix}\in\mathbb{R}^n
$$

を計画行列、目標ベクトルといいます。行がデータ点、列が特徴に対応します。切片（バイアス）が必要なときは、第 1 特徴を定数 $x_{i1}=1$ とすれば $\boldsymbol{w}$ の中に吸収できるので、以下では切片を特別扱いしません。

線形モデル $f_{\boldsymbol{w}}(\boldsymbol{x})=\langle\boldsymbol{w},\boldsymbol{x}\rangle$ を取ると、$n$ 個の予測値がまとめて 1 本の行列ベクトル積 $X\boldsymbol{w}$ で書けます。これが表現としての線形代数の第一の効能です。データ 1 点ごとのループが 1 回の行列演算に置き換わるので、記述が短くなるだけでなく、実装上も高度に最適化された行列積ルーチンや GPU に処理を丸投げできます。

損失を $\ell(\hat{y},y)=\tfrac{1}{2}(\hat{y}-y)^2$ とすると（係数 $\tfrac12$ は微分したときに $2$ が消えるようにするためだけの便宜です）、経験リスクは

$$
L(\boldsymbol{w}) = \frac{1}{n}\sum_{i=1}^{n}\frac{1}{2}\bigl(\langle\boldsymbol{w},\boldsymbol{x}_i\rangle-y_i\bigr)^2 = \frac{1}{2n}\|X\boldsymbol{w}-\boldsymbol{y}\|^2
$$

となります。この関数の最小点を求めるのが線形回帰です。鍵になるのは、次の完全に初等的な等式です。

<Lemma id="lem-expansion" title="二乗損失の二次展開">

$X\in\mathbb{R}^{n\times d}$、$\boldsymbol{y}\in\mathbb{R}^n$ とし、$L(\boldsymbol{w})=\dfrac{1}{2n}\|X\boldsymbol{w}-\boldsymbol{y}\|^2$ とおく。任意の $\boldsymbol{w},\boldsymbol{u}\in\mathbb{R}^d$ に対して

$$
L(\boldsymbol{w}+\boldsymbol{u}) = L(\boldsymbol{w}) + \frac{1}{n}\bigl\langle \boldsymbol{u},\, X^{\mathsf{T}}(X\boldsymbol{w}-\boldsymbol{y})\bigr\rangle + \frac{1}{2n}\|X\boldsymbol{u}\|^2
$$

が成り立つ。とくに $L$ は $\mathbb{R}^d$ 上で全微分可能で、その勾配は $\nabla L(\boldsymbol{w}) = \dfrac{1}{n}X^{\mathsf{T}}(X\boldsymbol{w}-\boldsymbol{y})$ である。

</Lemma>

<Proof of="lem-expansion">

$\boldsymbol{r}:=X\boldsymbol{w}-\boldsymbol{y}$ とおくと $X(\boldsymbol{w}+\boldsymbol{u})-\boldsymbol{y}=\boldsymbol{r}+X\boldsymbol{u}$ です。内積の双線形性と対称性から

$$
\|\boldsymbol{r}+X\boldsymbol{u}\|^2 = \langle \boldsymbol{r}+X\boldsymbol{u},\,\boldsymbol{r}+X\boldsymbol{u}\rangle = \|\boldsymbol{r}\|^2 + 2\langle X\boldsymbol{u},\boldsymbol{r}\rangle + \|X\boldsymbol{u}\|^2 .
$$

転置の定義 $\langle X\boldsymbol{u},\boldsymbol{r}\rangle = \langle \boldsymbol{u}, X^{\mathsf{T}}\boldsymbol{r}\rangle$ を第 2 項に使い、全体を $2n$ で割れば主張の等式を得ます。

微分可能性を確かめます。第 2 項は $\boldsymbol{u}$ の線形形式です。第 3 項は、<Ref to="mathematics/linear-algebra/inner-product-spaces#thm-cauchy-schwarz" text="コーシー・シュワルツの不等式" /> から

$$
\|X\boldsymbol{u}\|^2 = \sum_{i=1}^n \langle \boldsymbol{x}_i,\boldsymbol{u}\rangle^2 \le \Bigl(\sum_{i=1}^n\|\boldsymbol{x}_i\|^2\Bigr)\|\boldsymbol{u}\|^2
$$

と評価でき、$C:=\sum_i\|\boldsymbol{x}_i\|^2$ は $\boldsymbol{u}$ に依らない定数なので、$\|\boldsymbol{u}\|\to 0$ のとき $\frac{1}{2n}\|X\boldsymbol{u}\|^2 = O(\|\boldsymbol{u}\|^2) = o(\|\boldsymbol{u}\|)$ です。したがって全微分の定義そのものにより $L$ は微分可能で、勾配は線形形式の係数ベクトル $\frac{1}{n}X^{\mathsf{T}}(X\boldsymbol{w}-\boldsymbol{y})$ です。

</Proof>

<Theorem id="thm-normal-equation" title="正規方程式">

$X\in\mathbb{R}^{n\times d}$、$\boldsymbol{y}\in\mathbb{R}^n$ とし $L(\boldsymbol{w})=\dfrac{1}{2n}\|X\boldsymbol{w}-\boldsymbol{y}\|^2$ とおく。$\boldsymbol{w}^{\star}\in\mathbb{R}^d$ が $L$ の大域最小点であるための必要十分条件は

$$
X^{\mathsf{T}}X\boldsymbol{w}^{\star} = X^{\mathsf{T}}\boldsymbol{y}
$$

が成り立つことである。この方程式を正規方程式という。

</Theorem>

<Proof of="thm-normal-equation">

$\boldsymbol{g}:=X^{\mathsf{T}}X\boldsymbol{w}^{\star}-X^{\mathsf{T}}\boldsymbol{y} = X^{\mathsf{T}}(X\boldsymbol{w}^{\star}-\boldsymbol{y})$ とおきます。<Ref to="lem-expansion" /> を $\boldsymbol{w}=\boldsymbol{w}^{\star}$ に適用すると、任意の $\boldsymbol{u}\in\mathbb{R}^d$ について

$$
L(\boldsymbol{w}^{\star}+\boldsymbol{u}) - L(\boldsymbol{w}^{\star}) = \frac{1}{n}\langle\boldsymbol{u},\boldsymbol{g}\rangle + \frac{1}{2n}\|X\boldsymbol{u}\|^2
$$

が成り立ちます。

（十分性）$\boldsymbol{g}=\boldsymbol{0}$ ならば右辺の第 1 項が消え、残る $\frac{1}{2n}\|X\boldsymbol{u}\|^2$ は $0$ 以上です。よって任意の $\boldsymbol{u}$ に対して $L(\boldsymbol{w}^{\star}+\boldsymbol{u})\ge L(\boldsymbol{w}^{\star})$、すなわち $\boldsymbol{w}^{\star}$ は大域最小点です。

（必要性）$\boldsymbol{w}^{\star}$ が大域最小点だとします。$\boldsymbol{u}$ を任意に固定し、上の等式で $\boldsymbol{u}$ を $t\boldsymbol{u}$（$t\in\mathbb{R}$）に置き換えると、最小性から

$$
0 \le \frac{t}{n}\langle\boldsymbol{u},\boldsymbol{g}\rangle + \frac{t^2}{2n}\|X\boldsymbol{u}\|^2
$$

がすべての $t$ で成り立ちます。両辺を $n$ 倍しておきます。$t > 0$ のとき両辺を $t$ で割ると $\langle\boldsymbol{u},\boldsymbol{g}\rangle \ge -\frac{t}{2}\|X\boldsymbol{u}\|^2$ となり、$t\to 0^{+}$ として $\langle\boldsymbol{u},\boldsymbol{g}\rangle\ge 0$ を得ます。$t < 0$ のときは $t$ で割ると不等号の向きが変わり $\langle\boldsymbol{u},\boldsymbol{g}\rangle \le -\frac{t}{2}\|X\boldsymbol{u}\|^2$、$t\to 0^{-}$ として $\langle\boldsymbol{u},\boldsymbol{g}\rangle\le 0$ を得ます。両者を合わせて $\langle\boldsymbol{u},\boldsymbol{g}\rangle=0$ です。$\boldsymbol{u}$ は任意だったので $\boldsymbol{u}=\boldsymbol{g}$ と取れば $\|\boldsymbol{g}\|^2=0$、すなわち $\boldsymbol{g}=\boldsymbol{0}$ です。

</Proof>

正規方程式は、$n$ 本の式（データ点の個数）を $d$ 本の式（パラメータの個数）に圧縮しています。データが何億件あっても、解くべき連立一次方程式の大きさは特徴の数だけで決まる、というのがこの定理の実務的な意味です。次に、その連立方程式がいつ一意に解けるかを調べます。

<Lemma id="lem-gram-kernel" title="グラム行列の核">

任意の $X\in\mathbb{R}^{n\times d}$ に対して $\ker(X^{\mathsf{T}}X)=\ker X$ が成り立つ。したがって $\operatorname{rank}(X^{\mathsf{T}}X)=\operatorname{rank}(X)$ であり、$d$ 次正方行列 $X^{\mathsf{T}}X$ が正則であることと、$X$ の $d$ 本の列ベクトルが線形独立であることは同値である。

</Lemma>

<Proof of="lem-gram-kernel">

$X\boldsymbol{u}=\boldsymbol{0}$ ならば両辺に左から $X^{\mathsf{T}}$ を掛けて $X^{\mathsf{T}}X\boldsymbol{u}=\boldsymbol{0}$ なので $\ker X\subseteq\ker(X^{\mathsf{T}}X)$ です。逆に $X^{\mathsf{T}}X\boldsymbol{u}=\boldsymbol{0}$ とすると、両辺と $\boldsymbol{u}$ の内積を取って

$$
0 = \langle \boldsymbol{u}, X^{\mathsf{T}}X\boldsymbol{u}\rangle = \langle X\boldsymbol{u}, X\boldsymbol{u}\rangle = \|X\boldsymbol{u}\|^2
$$

となり、ノルムが $0$ なのは零ベクトルだけなので $X\boldsymbol{u}=\boldsymbol{0}$ です。よって両方の核は一致します。

階数については、<Ref to="mathematics/linear-algebra/vector-spaces#thm-rank-nullity" text="次元定理" />（階数・退化次数定理）を $\mathbb{R}^d$ 上の二つの線形写像に適用して

$$
\operatorname{rank}(X^{\mathsf{T}}X) = d - \dim\ker(X^{\mathsf{T}}X) = d - \dim\ker X = \operatorname{rank}(X)
$$

を得ます。最後に、$X^{\mathsf{T}}X$ が正則であることは $\ker(X^{\mathsf{T}}X)=\{\boldsymbol{0}\}$ と同値、これは $\ker X=\{\boldsymbol{0}\}$ と同値であり、$\ker X=\{\boldsymbol{0}\}$ は「$X\boldsymbol{u}=\boldsymbol{0}$ を満たすのは $\boldsymbol{u}=\boldsymbol{0}$ のみ」、すなわち $X$ の列の線形独立性そのものです。線形写像と核の関係については [ベクトル空間と線形変換](/mathematics/linear-algebra/vector-spaces) を参照してください。

</Proof>

<Corollary id="cor-unique-solution" title="最小二乗解の閉じた式">

$X\in\mathbb{R}^{n\times d}$ の列ベクトルが線形独立（すなわち $\operatorname{rank}X=d$、とくに $n\ge d$）ならば、$L(\boldsymbol{w})=\frac{1}{2n}\|X\boldsymbol{w}-\boldsymbol{y}\|^2$ の最小点はただ一つ存在し、

$$
\boldsymbol{w}^{\star} = (X^{\mathsf{T}}X)^{-1}X^{\mathsf{T}}\boldsymbol{y}
$$

で与えられる。

</Corollary>

<Proof of="cor-unique-solution">

<Ref to="lem-gram-kernel" /> より $X^{\mathsf{T}}X$ は正則なので、正規方程式 $X^{\mathsf{T}}X\boldsymbol{w}=X^{\mathsf{T}}\boldsymbol{y}$ はただ一つの解 $(X^{\mathsf{T}}X)^{-1}X^{\mathsf{T}}\boldsymbol{y}$ を持ちます。<Ref to="thm-normal-equation" /> により「正規方程式の解の集合」と「$L$ の最小点の集合」は一致するので、最小点もこの一点だけです。

</Proof>

<Remark id="rem-rank-deficient" title="列が線形独立でないとき">

$\operatorname{rank}X < d$ のときも最小点は存在します。実際、$X^{\mathsf{T}}X\boldsymbol{u}=X^{\mathsf{T}}(X\boldsymbol{u})$ より $\operatorname{Im}(X^{\mathsf{T}}X)\subseteq\operatorname{Im}(X^{\mathsf{T}})$ ですが、<Ref to="lem-gram-kernel" /> から $\dim\operatorname{Im}(X^{\mathsf{T}}X)=\operatorname{rank}X$、また行階数と列階数が等しいことから $\dim\operatorname{Im}(X^{\mathsf{T}})=\operatorname{rank}(X^{\mathsf{T}})=\operatorname{rank}X$ です。次元の等しい包含関係は等号なので $\operatorname{Im}(X^{\mathsf{T}}X)=\operatorname{Im}(X^{\mathsf{T}})$ となり、右辺 $X^{\mathsf{T}}\boldsymbol{y}$ は必ず左辺に属します。つまり正規方程式は常に解を持ちます。

ただし解は一意ではなく、一つの解 $\boldsymbol{w}^{\star}$ に対して解全体は $\boldsymbol{w}^{\star}+\ker X$ というアフィン部分空間になります。実務ではリッジ正則化（$L(\boldsymbol{w})+\lambda\|\boldsymbol{w}\|^2$ を最小化する）や<Ref to="computer-science/math-for-ml/linear-regression#def-pseudoinverse" text="ムーア・ペンローズ擬似逆行列" />によって一意に定めます。

</Remark>

<Ref to="thm-normal-equation" /> の証明で使った $\langle\boldsymbol{u},X^{\mathsf{T}}(X\boldsymbol{w}^{\star}-\boldsymbol{y})\rangle=0$ という条件は、$X^{\mathsf{T}}\boldsymbol{r}=\boldsymbol{0}$、つまり残差ベクトル $\boldsymbol{r}=X\boldsymbol{w}^{\star}-\boldsymbol{y}$ が $X$ のすべての列に直交する、と言い換えられます。これが最小二乗法の幾何的な意味です。言い換えれば $X\boldsymbol{w}^{\star}$ は $\boldsymbol{y}$ の列空間 $\operatorname{Im}X$ への直交射影にほかならず、この見方は <Ref to="computer-science/math-for-ml/linear-regression#thm-projection" /> で正面から扱われます。

<Figure caption="最小二乗法の幾何。予測 Xw* は y の列空間への直交射影で、残差は列空間に直交する">
<svg viewBox="0 0 640 330" width="100%" role="img" aria-label="ベクトル y を計画行列の列空間へ直交射影する図">
  <defs>
    <marker id="ls-head" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse">
      <path d="M 0 0 L 10 5 L 0 10 z" fill="currentColor" />
    </marker>
    <marker id="ls-head-accent" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse">
      <path d="M 0 0 L 10 5 L 0 10 z" fill="var(--sl-color-accent)" />
    </marker>
  </defs>
  <polygon points="70,250 300,200 570,250 340,300" fill="currentColor" fill-opacity="0.06" stroke="currentColor" stroke-opacity="0.45" stroke-width="1.5" />
  <text x="86" y="284" font-size="16" fill="currentColor">Im X</text>
  <text x="86" y="304" font-size="13" fill="currentColor" fill-opacity="0.75">モデルが到達できる予測の全体</text>
  <line x1="210" y1="252" x2="430" y2="240" stroke="currentColor" stroke-width="2" marker-end="url(#ls-head)" />
  <line x1="210" y1="252" x2="430" y2="80" stroke="var(--sl-color-accent)" stroke-width="2.5" marker-end="url(#ls-head-accent)" />
  <line x1="430" y1="80" x2="430" y2="240" stroke="currentColor" stroke-width="2" stroke-dasharray="6 5" marker-end="url(#ls-head)" />
  <path d="M 430 222 L 412 223 L 413 241" fill="none" stroke="currentColor" stroke-opacity="0.7" stroke-width="1.5" />
  <circle cx="210" cy="252" r="4" fill="currentColor" />
  <text x="186" y="276" font-size="15" fill="currentColor">0</text>
  <text x="437" y="70" font-size="16" fill="var(--sl-color-accent)">y（観測された目標）</text>
  <text x="322" y="274" font-size="16" fill="currentColor">Xw*（予測）</text>
  <text x="444" y="162" font-size="15" fill="currentColor">残差 r = Xw* - y</text>
</svg>
</Figure>

<Example id="ex-fit-three-points" title="3 点への直線の当てはめを最後まで計算する">

データを $(x_i,y_i)=(1,2),(2,3),(3,5)$ とし、モデルを $y=w_0+w_1x$ とします。定数特徴を第 1 列に置くと

$$
X=\begin{pmatrix}1&1\\1&2\\1&3\end{pmatrix},\qquad \boldsymbol{y}=\begin{pmatrix}2\\3\\5\end{pmatrix},\qquad
X^{\mathsf{T}}X=\begin{pmatrix}3&6\\6&14\end{pmatrix},\qquad X^{\mathsf{T}}\boldsymbol{y}=\begin{pmatrix}10\\23\end{pmatrix}
$$

です（$3=1+1+1$、$6=1+2+3$、$14=1+4+9$、$10=2+3+5$、$23=1\cdot 2+2\cdot 3+3\cdot 5$）。$\det(X^{\mathsf{T}}X)=3\cdot 14-6\cdot 6=6\ne 0$ なので <Ref to="cor-unique-solution" /> が使えます。正規方程式

$$
\begin{cases} 3w_0+6w_1=10\\ 6w_0+14w_1=23\end{cases}
$$

の第 1 式を $2$ 倍すると $6w_0+12w_1=20$、これを第 2 式から引いて $2w_1=3$、すなわち $w_1=\frac32$。第 1 式に戻して $3w_0=10-9=1$、$w_0=\frac13$。求める直線は $y=\frac13+\frac32x$ です。

検算として残差を見ます。予測値は $\frac13+\frac32=\frac{11}{6}$、$\frac13+3=\frac{10}{3}$、$\frac13+\frac92=\frac{29}{6}$ なので

$$
\boldsymbol{r}=X\boldsymbol{w}^{\star}-\boldsymbol{y}=\Bigl(-\tfrac16,\ \tfrac13,\ -\tfrac16\Bigr)^{\mathsf{T}} .
$$

第 1 列（すべて $1$）との内積は $-\frac16+\frac13-\frac16=0$、第 2 列 $(1,2,3)^{\mathsf{T}}$ との内積は $-\frac16+\frac23-\frac12=0$。たしかに残差は両方の列に直交しています。最小値は $L(\boldsymbol{w}^{\star})=\frac{1}{6}\bigl(\frac1{36}+\frac19+\frac1{36}\bigr)=\frac{1}{6}\cdot\frac16=\frac{1}{36}$ です。

</Example>

<Example id="ex-collinear" title="特徴が重複すると解が一意でなくなる">

同じデータに対し、特徴として「$x$」と「$2x$」の両方を入れてしまったとします（たとえば身長をセンチメートルとメートルの二列で入れた場合です）。計画行列は

$$
X'=\begin{pmatrix}1&1&2\\1&2&4\\1&3&6\end{pmatrix}
$$

で、第 3 列は第 2 列の $2$ 倍なので列は線形従属です。実際 $\boldsymbol{u}=(0,2,-1)^{\mathsf{T}}$ に対して $X'\boldsymbol{u}=\boldsymbol{0}$ であり、<Ref to="lem-gram-kernel" /> より $X'^{\mathsf{T}}X'$ は正則ではありません。

$X'$ の列空間は $X$ の列空間と同じ（第 3 列が第 2 列の定数倍なので新しい方向を足していない）ですから、最小の損失値も予測ベクトルも <Ref to="ex-fit-three-points" /> と変わりません。変わるのは解の個数です。$\boldsymbol{w}=(\frac13,\frac32,0)^{\mathsf{T}}$ は最小点の一つですが、<Ref to="rem-rank-deficient" /> のとおり

$$
\boldsymbol{w}(t)=\Bigl(\tfrac13,\ \tfrac32+2t,\ -t\Bigr)^{\mathsf{T}},\qquad t\in\mathbb{R}
$$

もすべて最小点です。実際この $\boldsymbol{w}(t)$ による予測は $\frac13+(\frac32+2t)x+(-t)(2x)=\frac13+\frac32x$ となり、$t$ に依存しません。「係数の値そのものに意味を読み取ろうとすると危険」という多重共線性の問題は、線形代数の言葉では「計画行列の核が非自明」というだけのことです。

</Example>

## 4. 微分積分：最小化を勾配の言葉に翻訳する

<Ref to="thm-normal-equation" /> は二乗損失という特別な形に強く依存していました。損失を変えたり、モデルを非線形にしたりすると、こうした閉じた式はまず得られません。そこで必要になるのが、局所的な情報（微分）だけを頼りに最小点へ近づいていく方法です。まず「どこを目指せばよいか」をはっきりさせます。

<Definition id="def-convex" title="凸関数">

関数 $f:\mathbb{R}^d\to\mathbb{R}$ が凸であるとは、任意の $\boldsymbol{v},\boldsymbol{w}\in\mathbb{R}^d$ と任意の $t\in[0,1]$ に対して

$$
f\bigl((1-t)\boldsymbol{w}+t\boldsymbol{v}\bigr) \le (1-t)f(\boldsymbol{w}) + t f(\boldsymbol{v})
$$

が成り立つことをいう。すなわちグラフ上の任意の 2 点を結ぶ線分が、グラフより下にこないことをいう。

</Definition>

<Theorem id="thm-convex-stationary" title="凸関数では停留点と大域最小点が一致する">

$f:\mathbb{R}^d\to\mathbb{R}$ を全微分可能な関数とする。

1. $f$ が凸ならば、任意の $\boldsymbol{v},\boldsymbol{w}\in\mathbb{R}^d$ に対して $f(\boldsymbol{v}) \ge f(\boldsymbol{w}) + \langle \nabla f(\boldsymbol{w}),\,\boldsymbol{v}-\boldsymbol{w}\rangle$ が成り立つ。
2. $f$ が凸ならば、$\boldsymbol{w}^{\star}$ が $f$ の大域最小点であることと $\nabla f(\boldsymbol{w}^{\star})=\boldsymbol{0}$ であることは同値である。なお「大域最小点ならば $\nabla f(\boldsymbol{w}^{\star})=\boldsymbol{0}$」の向きは凸性を仮定しなくても成り立つ。

</Theorem>

<Proof of="thm-convex-stationary">

（1）$\boldsymbol{u}:=\boldsymbol{v}-\boldsymbol{w}$ とおき、$t\in(0,1]$ を取ります。$(1-t)\boldsymbol{w}+t\boldsymbol{v}=\boldsymbol{w}+t\boldsymbol{u}$ なので、<Ref to="def-convex" /> の不等式は

$$
f(\boldsymbol{w}+t\boldsymbol{u}) \le f(\boldsymbol{w}) + t\bigl(f(\boldsymbol{v})-f(\boldsymbol{w})\bigr)
$$

と書けます。$f(\boldsymbol{w})$ を移項して $t>0$ で割ると

$$
\frac{f(\boldsymbol{w}+t\boldsymbol{u})-f(\boldsymbol{w})}{t} \le f(\boldsymbol{v})-f(\boldsymbol{w}) .
$$

全微分可能性より $f(\boldsymbol{w}+t\boldsymbol{u}) = f(\boldsymbol{w}) + t\langle\nabla f(\boldsymbol{w}),\boldsymbol{u}\rangle + o(t)$ なので、左辺は $t\to 0^{+}$ のとき $\langle\nabla f(\boldsymbol{w}),\boldsymbol{u}\rangle$ に収束します。右辺は $t$ に依存しない定数なので、極限を取って $\langle\nabla f(\boldsymbol{w}),\boldsymbol{v}-\boldsymbol{w}\rangle \le f(\boldsymbol{v})-f(\boldsymbol{w})$ を得ます。

（2）まず $\nabla f(\boldsymbol{w}^{\star})=\boldsymbol{0}$ を仮定します。（1）で $\boldsymbol{w}=\boldsymbol{w}^{\star}$ とすると、任意の $\boldsymbol{v}$ に対して $f(\boldsymbol{v})\ge f(\boldsymbol{w}^{\star})+0$ となり、$\boldsymbol{w}^{\star}$ は大域最小点です。

逆に $\boldsymbol{w}^{\star}$ が大域最小点だとします。$\boldsymbol{u}\in\mathbb{R}^d$ を任意に取り、1 変数関数 $g(t):=f(\boldsymbol{w}^{\star}+t\boldsymbol{u})$ を考えます。合成関数の微分より $g$ は微分可能で $g'(0)=\langle\nabla f(\boldsymbol{w}^{\star}),\boldsymbol{u}\rangle$ です。$g$ は $t=0$ で最小値を取るので、内点における極値の必要条件（<Ref to="mathematics/calculus/mean-value-and-taylor#lem-fermat" text="フェルマーの補題" />）から $g'(0)=0$、すなわち $\langle\nabla f(\boldsymbol{w}^{\star}),\boldsymbol{u}\rangle=0$ です。$\boldsymbol{u}=\nabla f(\boldsymbol{w}^{\star})$ と取れば $\|\nabla f(\boldsymbol{w}^{\star})\|^2=0$、よって $\nabla f(\boldsymbol{w}^{\star})=\boldsymbol{0}$ です。この向きでは凸性を一度も使っていません。

</Proof>

この定理の使い道は明快です。凸でない関数では「勾配がゼロ」は必要条件にすぎず、鞍点や局所最小点で立ち止まっている可能性があります。凸ならその心配がなく、「勾配をゼロにする」ことが「最小化する」ことと完全に同じ意味になります。二乗損失はこの良い側にいます。

<Remark id="rem-convexity-of-l" title="二乗損失は凸である">

$h(\boldsymbol{z}):=\frac{1}{2n}\|\boldsymbol{z}\|^2$ とすると、$t\in[0,1]$ に対して

$$
(1-t)\|\boldsymbol{a}\|^2 + t\|\boldsymbol{b}\|^2 - \|(1-t)\boldsymbol{a}+t\boldsymbol{b}\|^2 = t(1-t)\|\boldsymbol{a}-\boldsymbol{b}\|^2 \ge 0
$$

が展開だけで確かめられる（左辺を展開すると $\bigl[(1-t)-(1-t)^2\bigr]\|\boldsymbol{a}\|^2+(t-t^2)\|\boldsymbol{b}\|^2-2t(1-t)\langle\boldsymbol{a},\boldsymbol{b}\rangle$ で、$(1-t)-(1-t)^2=t-t^2=t(1-t)$ です）ので、$h$ は <Ref to="def-convex" /> の意味で凸です。次に $\boldsymbol{w}_t:=(1-t)\boldsymbol{w}+t\boldsymbol{v}$ とおくと

$$
X\boldsymbol{w}_t-\boldsymbol{y} = (1-t)X\boldsymbol{w}+tX\boldsymbol{v}-\boldsymbol{y} = (1-t)(X\boldsymbol{w}-\boldsymbol{y})+t(X\boldsymbol{v}-\boldsymbol{y})
$$

です（$(1-t)(-\boldsymbol{y})+t(-\boldsymbol{y})=-\boldsymbol{y}$ を使いました）。つまりアフィン写像は凸結合を凸結合へ写します。したがって $L(\boldsymbol{w}_t)=h(X\boldsymbol{w}_t-\boldsymbol{y})\le(1-t)h(X\boldsymbol{w}-\boldsymbol{y})+th(X\boldsymbol{v}-\boldsymbol{y})=(1-t)L(\boldsymbol{w})+tL(\boldsymbol{v})$ となり、$L$ も凸です。

したがって <Ref to="thm-convex-stationary" /> の（2）から、正規方程式 $\nabla L(\boldsymbol{w})=\boldsymbol{0}$ を解くことと $L$ を最小化することは同値です。<Ref to="thm-normal-equation" /> を微分を一切使わずに証明したのは、この事実が代数だけで見えることを示すためでした。同じ一つの事実が、代数（正規方程式）・幾何（直交射影）・解析（停留点）の三通りの顔を持っています。

</Remark>

### 4.1. なぜ閉じた式ではなく反復法を使うのか

<Ref to="cor-unique-solution" /> の式 $\boldsymbol{w}^{\star}=(X^{\mathsf{T}}X)^{-1}X^{\mathsf{T}}\boldsymbol{y}$ があるなら、それを計算すれば済むように見えます。しかし実際には次の二つの理由で反復法が使われます。

- 計算量。$X^{\mathsf{T}}X$ を作るのに $O(nd^2)$、それを解くのに $O(d^3)$ の演算が必要です。特徴の数 $d$ が $10^5$、$10^6$ のオーダーになると現実的ではありません。
- 適用範囲。ニューラルネットワークのように $f_{\boldsymbol{w}}$ が $\boldsymbol{w}$ について非線形なモデルでは、$\nabla L(\boldsymbol{w})=\boldsymbol{0}$ は非線形連立方程式であり、閉じた形の解は一般に存在しません。

そこで、現在地での勾配だけを使って少しずつ下る方法を取ります。学習率 $\eta>0$ を定数として

$$
\boldsymbol{w}_{k+1} = \boldsymbol{w}_{k} - \eta\,\nabla L(\boldsymbol{w}_{k}),\qquad k=0,1,2,\ldots
$$

と定めるのが勾配降下法です。<Ref to="thm-convex-stationary" /> の（1）は「勾配は関数を下から支える一次近似の傾きである」と読めますから、その逆向きに進むのは自然な選択です。では、どのくらいの歩幅で進めばよいのでしょうか。二乗損失の場合、答えは完全に書き下せます。

<Theorem id="thm-gd-quadratic" title="最小二乗損失に対する勾配降下法の収束">

$X\in\mathbb{R}^{n\times d}$ の列ベクトルは線形独立とし、$L(\boldsymbol{w})=\frac{1}{2n}\|X\boldsymbol{w}-\boldsymbol{y}\|^2$、$A:=\frac{1}{n}X^{\mathsf{T}}X$ とおく。このとき $A$ は対称正定値であり、その固有値を重複を込めて $0<\lambda_1\le\lambda_2\le\cdots\le\lambda_d$ と並べる。$\boldsymbol{w}^{\star}$ を <Ref to="cor-unique-solution" /> の唯一の最小点、$\eta>0$ を定数とし、点列を $\boldsymbol{w}_{k+1}=\boldsymbol{w}_k-\eta\nabla L(\boldsymbol{w}_k)$ で定める。

1. すべての初期点 $\boldsymbol{w}_0\in\mathbb{R}^d$ に対して $\boldsymbol{w}_k\to\boldsymbol{w}^{\star}$ となるための必要十分条件は $\eta < 2/\lambda_d$ である。
2. $\eta < 2/\lambda_d$ のとき、$\rho(\eta):=\max\{|1-\eta\lambda_1|,\,|1-\eta\lambda_d|\}$ とおくと $\rho(\eta)<1$ であり、すべての $k\ge 0$ で $\|\boldsymbol{w}_k-\boldsymbol{w}^{\star}\| \le \rho(\eta)^k\,\|\boldsymbol{w}_0-\boldsymbol{w}^{\star}\|$ が成り立つ。
3. $\rho(\eta)$ を最小にする学習率は $\eta^{\star}=\dfrac{2}{\lambda_1+\lambda_d}$ であり、そのとき $\rho(\eta^{\star})=\dfrac{\kappa-1}{\kappa+1}$ である。ここで $\kappa:=\lambda_d/\lambda_1$ は $A$ の条件数である。

</Theorem>

<Proof of="thm-gd-quadratic">

**ステップ 1（$A$ は対称正定値）。** $(X^{\mathsf{T}}X)^{\mathsf{T}}=X^{\mathsf{T}}(X^{\mathsf{T}})^{\mathsf{T}}=X^{\mathsf{T}}X$ より $A$ は対称です。また $\boldsymbol{u}\ne\boldsymbol{0}$ に対して $\langle\boldsymbol{u},A\boldsymbol{u}\rangle=\frac{1}{n}\|X\boldsymbol{u}\|^2$ であり、列の線形独立性と <Ref to="lem-gram-kernel" /> から $X\boldsymbol{u}\ne\boldsymbol{0}$ なので、これは正です。対称行列の固有値は実数で、正定値なのですべて正です。

**ステップ 2（誤差の漸化式）。** <Ref to="lem-expansion" /> より $\nabla L(\boldsymbol{w})=\frac1n X^{\mathsf{T}}(X\boldsymbol{w}-\boldsymbol{y})=A\boldsymbol{w}-\frac1n X^{\mathsf{T}}\boldsymbol{y}$ です。$\boldsymbol{w}^{\star}$ は正規方程式を満たす（<Ref to="thm-normal-equation" />）ので $\frac1n X^{\mathsf{T}}\boldsymbol{y}=A\boldsymbol{w}^{\star}$、したがって

$$
\nabla L(\boldsymbol{w}) = A(\boldsymbol{w}-\boldsymbol{w}^{\star}) .
$$

誤差を $\boldsymbol{e}_k:=\boldsymbol{w}_k-\boldsymbol{w}^{\star}$ とおくと

$$
\boldsymbol{e}_{k+1} = \boldsymbol{w}_k - \eta A\boldsymbol{e}_k - \boldsymbol{w}^{\star} = (I-\eta A)\boldsymbol{e}_k,
$$

よって $\boldsymbol{e}_k=(I-\eta A)^k\boldsymbol{e}_0$ です。

**ステップ 3（スペクトル分解）。** $A$ は実対称なので、スペクトル定理により $\mathbb{R}^d$ の正規直交基底 $\boldsymbol{q}_1,\ldots,\boldsymbol{q}_d$ で $A\boldsymbol{q}_j=\lambda_j\boldsymbol{q}_j$ を満たすものが取れます（<Ref to="mathematics/linear-algebra/spectral-theorem#cor-real-symmetric" />。全体は [スペクトル定理](/mathematics/linear-algebra/spectral-theorem) を参照）。$\boldsymbol{e}_0=\sum_{j=1}^d c_j\boldsymbol{q}_j$（$c_j=\langle\boldsymbol{e}_0,\boldsymbol{q}_j\rangle$）と展開し、$(I-\eta A)\boldsymbol{q}_j=(1-\eta\lambda_j)\boldsymbol{q}_j$ を繰り返し使うと

$$
\boldsymbol{e}_k = \sum_{j=1}^{d} c_j (1-\eta\lambda_j)^k \boldsymbol{q}_j,
\qquad
\|\boldsymbol{e}_k\|^2 = \sum_{j=1}^{d} c_j^2 (1-\eta\lambda_j)^{2k}
$$

を得ます。第 2 式では基底の正規直交性を使いました。

**ステップ 4（主張 1）。** すべての $j$ で $|1-\eta\lambda_j|<1$ なら、上の有限和の各項が $k\to\infty$ で $0$ に収束するので $\|\boldsymbol{e}_k\|\to0$ です。$\eta>0$ かつ $\lambda_j>0$ のとき

$$
|1-\eta\lambda_j| < 1 \iff -1 < 1-\eta\lambda_j < 1 \iff 0 < \eta\lambda_j < 2 \iff \eta < 2/\lambda_j
$$

であり、これがすべての $j$ で成り立つことは、最大固有値についての条件 $\eta<2/\lambda_d$ と同値です。逆に $\eta\ge 2/\lambda_d$ なら $|1-\eta\lambda_d|\ge 1$ です。このとき初期点を $\boldsymbol{w}_0=\boldsymbol{w}^{\star}+\boldsymbol{q}_d$ に取ると $c_d=1$、他の $c_j=0$ なので $\|\boldsymbol{e}_k\|=|1-\eta\lambda_d|^k\ge 1$ となり、収束しない初期点が存在します。

**ステップ 5（主張 2）。** $\eta>0$ なので $1-\eta\lambda_j$ は $\lambda_j$ について単調減少、したがって $1-\eta\lambda_d \le 1-\eta\lambda_j\le 1-\eta\lambda_1$ です。実数 $x$ が閉区間 $[m,M]$ に属せば $x\le M\le|M|$ かつ $-x\le -m\le |m|$ なので $|x|\le\max\{|m|,|M|\}$ です。よって $\max_j|1-\eta\lambda_j|=\rho(\eta)$ であり（$j=1,d$ で端点が実現されます）、ステップ 3 の式から

$$
\|\boldsymbol{e}_k\|^2 \le \rho(\eta)^{2k}\sum_{j}c_j^2 = \rho(\eta)^{2k}\|\boldsymbol{e}_0\|^2 .
$$

平方根を取れば主張を得ます。ステップ 4 より $\eta<2/\lambda_d$ のとき $\rho(\eta)<1$ です。

**ステップ 6（主張 3）。** $\eta>0$ の範囲で $\rho(\eta)=\max\{|1-\eta\lambda_1|,|1-\eta\lambda_d|\}$ を調べます。$\lambda_1\le\lambda_d$ より $1/\lambda_d\le 1/\lambda_1$ で、三つの場合に分かれます。

- $0<\eta\le 1/\lambda_d$ のとき、$1-\eta\lambda_1$ と $1-\eta\lambda_d$ はともに $0$ 以上なので $\rho(\eta)=1-\eta\lambda_1$ であり、$\eta$ について狭義単調減少です。
- $1/\lambda_d\le\eta\le 1/\lambda_1$ のとき、$\rho(\eta)=\max\{1-\eta\lambda_1,\ \eta\lambda_d-1\}$ です。前者は減少、後者は増加なので、最大値は二つが等しくなる点で最小になります。$1-\eta\lambda_1=\eta\lambda_d-1$ を解くと $\eta=2/(\lambda_1+\lambda_d)$ で、$\lambda_1\le\lambda_d$ からこの値は区間 $[1/\lambda_d,1/\lambda_1]$ に入ります（$2/(\lambda_1+\lambda_d)\ge 1/\lambda_d$ は $2\lambda_d\ge\lambda_1+\lambda_d$ と同値、$2/(\lambda_1+\lambda_d)\le 1/\lambda_1$ は $2\lambda_1\le\lambda_1+\lambda_d$ と同値で、どちらも成り立ちます）。
- $\eta\ge 1/\lambda_1$ のとき、$\rho(\eta)=\max\{\eta\lambda_1-1,\ \eta\lambda_d-1\}=\eta\lambda_d-1$ で狭義単調増加です。

よって $\rho$ は $\eta^{\star}=2/(\lambda_1+\lambda_d)$ で最小となり、その値は

$$
\rho(\eta^{\star}) = 1-\frac{2\lambda_1}{\lambda_1+\lambda_d} = \frac{\lambda_d-\lambda_1}{\lambda_d+\lambda_1} = \frac{\kappa-1}{\kappa+1}
$$

です（最後は分子分母を $\lambda_1$ で割りました）。

</Proof>

この定理は、冒頭に挙げた疑問 1 と 2 の両方に答えています。学習率を上げすぎると発散するのは $\eta\ge 2/\lambda_d$ に踏み込むからであり、収束の速さは条件数 $\kappa$ だけで決まります。$\kappa$ が大きいと $\rho=(\kappa-1)/(\kappa+1)$ は $1$ に近づき、必要な反復回数は $\kappa$ にほぼ比例して増えます。数値で見てみます。

<Example id="ex-learning-rate" title="条件数が反復回数を決める">

<Ref to="ex-fit-three-points" /> のデータで $A=\frac13X^{\mathsf{T}}X=\begin{pmatrix}1&2\\2&14/3\end{pmatrix}$ です。固有多項式は $\lambda^2-\frac{17}{3}\lambda+\frac23=0$（トレースが $1+\frac{14}{3}=\frac{17}{3}$、行列式が $\frac{14}{3}-4=\frac23$）なので

$$
\lambda = \frac{17\pm\sqrt{265}}{6},\qquad \lambda_1\approx 0.1202,\quad \lambda_2\approx 5.5465 .
$$

<Ref to="thm-gd-quadratic" /> より、収束条件は $\eta < 2/5.5465\approx 0.3606$、最良の学習率は $\eta^{\star}=2/(17/3)=6/17\approx 0.3529$ です。条件数は $\kappa\approx 46.1$ なので $\rho\approx 45.1/47.1\approx 0.9576$。誤差を $10^{-3}$ 倍に縮めるには

$$
\rho^k\le 10^{-3} \iff k \ge \frac{3\ln 10}{-\ln\rho} \approx \frac{6.908}{0.0433} \approx 159.4
$$

より $160$ 回の反復が要ります。しかも収束する $\eta$ の上限 $0.3606$ と最良値 $0.3529$ の間隔はごくわずかで、少し欲張ると発散します。

ここで入力を中心化して $\tilde{x}=x-2$（$x$ の平均は $2$）としてみます。計画行列の第 2 列は $(-1,0,1)^{\mathsf{T}}$ となり、第 1 列との内積が $0$ になるので

$$
\tilde{X}^{\mathsf{T}}\tilde{X}=\begin{pmatrix}3&0\\0&2\end{pmatrix},\qquad A=\operatorname{diag}\Bigl(1,\ \tfrac23\Bigr),\qquad \kappa=\frac{1}{2/3}=1.5 .
$$

このとき $\eta^{\star}=2/(1+\frac23)=\frac65=1.2$、$\rho=(1.5-1)/(1.5+1)=0.2$ で、必要な反復回数は $k\ge 3\ln 10/\ln 5\approx 4.3$、つまり $5$ 回です。

| | 中心化なし | 中心化あり |
|---|---|---|
| 固有値 | $0.120,\ 5.547$ | $0.667,\ 1.000$ |
| 条件数 $\kappa$ | $46.1$ | $1.5$ |
| 発散する学習率 | $\eta\ge 0.361$ | $\eta\ge 2$ |
| 最良の学習率 $\eta^{\star}$ | $0.353$ | $1.2$ |
| 収束率 $\rho$ | $0.958$ | $0.2$ |
| 誤差を $10^{-3}$ 倍にする反復数 | $160$ | $5$ |

当てはまる直線は $y=\frac13+\frac32x$ のままで、変えたのは座標の取り方だけです。それだけで反復回数が $32$ 分の $1$ になりました。これが疑問 2 の答えです。

</Example>

<Aside type="tip">
実務で「特徴量を標準化する」のは、見た目を整えるためではなく、<Ref to="thm-gd-quadratic" /> の条件数 $\kappa$ を小さくして収束を速めるためです。単位の取り方（センチメートルかメートルか）は最小点そのものを変えませんが、そこへ至る経路の長さを変えます。
</Aside>

## 5. 確率統計：損失はどこから来て、何を保証するのか

ここまで損失関数は天下り的に与えられていました。なぜ二乗なのでしょうか。絶対値ではいけないのでしょうか。分類ではなぜ交差エントロピーなのでしょうか。この問いに原理的な答えを与えるのが確率です。

<Definition id="def-mle" title="最尤推定">

パラメータ $\boldsymbol{\theta}$ を持つ確率モデル $p(\cdot\mid\boldsymbol{\theta})$ と観測データ $\boldsymbol{y}$ に対し、$\boldsymbol{\theta}$ の関数とみた $\boldsymbol{\theta}\mapsto p(\boldsymbol{y}\mid\boldsymbol{\theta})$ を尤度関数という。尤度関数を最大にする $\hat{\boldsymbol{\theta}}$ を最尤推定量という。対数関数は狭義単調増加なので、これは対数尤度 $\log p(\boldsymbol{y}\mid\boldsymbol{\theta})$ の最大化、あるいは負の対数尤度の最小化と同値である。

</Definition>

<Theorem id="thm-mle-gaussian" title="ガウス雑音のもとで最尤推定は最小二乗法に一致する">

$\boldsymbol{x}_1,\ldots,\boldsymbol{x}_n\in\mathbb{R}^d$ を固定された（確率的でない）入力、$\sigma>0$ を既知の定数とし、観測値が

$$
y_i = \langle\boldsymbol{w},\boldsymbol{x}_i\rangle + \varepsilon_i \qquad (i=1,\ldots,n)
$$

で生成されるとする。ここで $\varepsilon_1,\ldots,\varepsilon_n$ は独立に正規分布 $\mathcal{N}(0,\sigma^2)$ に従うとする。このとき $\boldsymbol{w}$ の最尤推定量の集合は、二乗損失 $L(\boldsymbol{w})=\frac{1}{2n}\|X\boldsymbol{w}-\boldsymbol{y}\|^2$ の最小点の集合と一致する。

</Theorem>

<Proof of="thm-mle-gaussian">

$\varepsilon_i\sim\mathcal{N}(0,\sigma^2)$ より、$\boldsymbol{w}$ を固定したとき $y_i$ は平均 $\langle\boldsymbol{w},\boldsymbol{x}_i\rangle$、分散 $\sigma^2$ の正規分布に従います。$\varepsilon_i$ が独立なので $y_1,\ldots,y_n$ も独立で、同時密度は積になります。

$$
p(\boldsymbol{y}\mid\boldsymbol{w}) = \prod_{i=1}^{n}\frac{1}{\sqrt{2\pi\sigma^2}}\exp\left(-\frac{\bigl(y_i-\langle\boldsymbol{w},\boldsymbol{x}_i\rangle\bigr)^2}{2\sigma^2}\right)
$$

対数を取ると積が和に変わり、

$$
\log p(\boldsymbol{y}\mid\boldsymbol{w}) = -\frac{n}{2}\log(2\pi\sigma^2) - \frac{1}{2\sigma^2}\sum_{i=1}^{n}\bigl(y_i-\langle\boldsymbol{w},\boldsymbol{x}_i\rangle\bigr)^2 = -\frac{n}{2}\log(2\pi\sigma^2) - \frac{1}{2\sigma^2}\|X\boldsymbol{w}-\boldsymbol{y}\|^2
$$

です。第 1 項は $\boldsymbol{w}$ に依存しない定数、第 2 項の係数 $\frac{1}{2\sigma^2}$ は正です。したがって「$\log p$ を最大にする $\boldsymbol{w}$」と「$\|X\boldsymbol{w}-\boldsymbol{y}\|^2$ を最小にする $\boldsymbol{w}$」は完全に同じ集合です。正の定数 $\frac{1}{2n}$ を掛けても最小点は変わらないので、これは $L$ の最小点の集合と一致します。

</Proof>

つまり「二乗損失を使う」という選択は、「誤差は正規分布に従い、各データ点で同じ大きさのばらつきを持ち、互いに独立である」という仮定と等価です。損失関数を選ぶことは、暗黙のうちに確率モデルを選ぶことなのです。仮定が現実と合わなければ損失を変えるべきで、たとえば外れ値が混じるデータでは裾の重い分布を仮定するのが自然です（<Ref to="exr-laplace-loss" />）。

<Example id="ex-cross-entropy" title="ベルヌーイ分布から交差エントロピーが出てくる">

二値分類を考えます。ラベルは $y_i\in\{0,1\}$、モデルの出力はラベルが $1$ である確率

$$
p_i := \sigma(z_i),\qquad z_i := \langle\boldsymbol{w},\boldsymbol{x}_i\rangle,\qquad \sigma(z)=\frac{1}{1+e^{-z}}
$$

とします（$\sigma$ はシグモイド関数で、値域は開区間 $(0,1)$ です）。$y_i$ が独立にベルヌーイ分布 $\mathrm{Be}(p_i)$ に従うと仮定すると、$y_i\in\{0,1\}$ であることを使って 1 点あたりの確率を $p_i^{y_i}(1-p_i)^{1-y_i}$ と一つの式にまとめられます（$y_i=1$ なら $p_i$、$y_i=0$ なら $1-p_i$ を返します）。したがって

$$
-\frac{1}{n}\log p(\boldsymbol{y}\mid\boldsymbol{w}) = -\frac{1}{n}\sum_{i=1}^{n}\Bigl[y_i\log p_i + (1-y_i)\log(1-p_i)\Bigr]
$$

となり、右辺がまさに交差エントロピー損失です。疑問 4 の答えがこれです。二乗損失と交差エントロピーの違いは、出力を実数値とみるか確率とみるかという確率モデルの違いにすぎません。

勾配も計算しておきます。$\sigma'(z)=\sigma(z)(1-\sigma(z))$ から $\frac{d}{dz}\log\sigma(z)=1-\sigma(z)$、$\frac{d}{dz}\log(1-\sigma(z))=-\sigma(z)$ なので、1 点あたりの損失 $\ell_i=-[y_i\log p_i+(1-y_i)\log(1-p_i)]$ について

$$
\frac{\partial \ell_i}{\partial z_i} = -\bigl[y_i(1-p_i) - (1-y_i)p_i\bigr] = -\bigl[y_i - y_ip_i - p_i + y_ip_i\bigr] = p_i - y_i
$$

です。連鎖律により $\frac{\partial z_i}{\partial\boldsymbol{w}}=\boldsymbol{x}_i$ なので

$$
\nabla \hat{R}_n(\boldsymbol{w}) = \frac{1}{n}\sum_{i=1}^n (p_i-y_i)\boldsymbol{x}_i = \frac{1}{n}X^{\mathsf{T}}(\boldsymbol{p}-\boldsymbol{y}),\qquad \boldsymbol{p}=(p_1,\ldots,p_n)^{\mathsf{T}} .
$$

これは <Ref to="lem-expansion" /> の $\nabla L(\boldsymbol{w})=\frac1n X^{\mathsf{T}}(X\boldsymbol{w}-\boldsymbol{y})$ と同じ形をしています。「計画行列の転置を残差に掛ける」という構造は、線形回帰とロジスティック回帰で共通です。この勾配の形は <Ref to="computer-science/math-for-ml/logistic-regression#thm-gradient" /> で改めて示されます。詳しくは [ロジスティック回帰](/computer-science/math-for-ml/logistic-regression) で扱います。

</Example>

### 5.1. 訓練誤差を信じてよい理由と、信じてはいけない理由

確率が必要なもう一つの理由は、<Ref to="def-risks" /> の $\hat{R}_n$ と $R$ のすり替えを正当化することです。

<Proposition id="prop-erm-consistency" title="固定した予測器では経験リスクは期待リスクに集中する">

<Ref to="def-supervised-setup" /> の設定で、$(\boldsymbol{X}_1,Y_1),\ldots,(\boldsymbol{X}_n,Y_n)$ は分布 $P$ から独立に同じ分布に従って抽出されたものとする。予測器 $f$ は訓練データに依存せずあらかじめ固定されているとし、確率変数 $Z_i:=\ell(f(\boldsymbol{X}_i),Y_i)$ が有限の期待値 $R(f)$ と有限の分散 $\sigma_{\ell}^2$ を持つとする。このとき次が成り立つ。

1. $\mathbb{E}\bigl[\hat{R}_n(f)\bigr]=R(f)$（不偏性）。
2. $\operatorname{Var}\bigl[\hat{R}_n(f)\bigr]=\sigma_{\ell}^2/n$。
3. 任意の $t>0$ に対して $\Pr\bigl(|\hat{R}_n(f)-R(f)|\ge t\bigr) \le \dfrac{\sigma_{\ell}^2}{n t^2}$。

</Proposition>

<Proof of="prop-erm-consistency">

$\hat{R}_n(f)=\frac1n\sum_{i=1}^n Z_i$ です。$Z_1,\ldots,Z_n$ は独立同分布で、$\mathbb{E}[Z_i]=\mathbb{E}[\ell(f(\boldsymbol{X}_i),Y_i)]=R(f)$ です（$f$ がデータに依存しないので、$Z_i$ の分布は $P$ と $f$ だけで決まります）。

1. 期待値の線形性より $\mathbb{E}[\hat{R}_n(f)]=\frac1n\sum_i\mathbb{E}[Z_i]=\frac1n\cdot nR(f)=R(f)$。
2. 独立な確率変数の和の分散は分散の和なので $\operatorname{Var}[\sum_i Z_i]=n\sigma_{\ell}^2$、定数倍の分散は $\operatorname{Var}[cW]=c^2\operatorname{Var}[W]$ なので $\operatorname{Var}[\hat{R}_n(f)]=\frac{1}{n^2}\cdot n\sigma_{\ell}^2=\sigma_{\ell}^2/n$。
3. <Ref to="mathematics/probability/random-variables#cor-chebyshev" text="チェビシェフの不等式" /> を確率変数 $\hat{R}_n(f)$（期待値 $R(f)$、分散 $\sigma_{\ell}^2/n$）に適用すれば直ちに得られます。

期待値の線形性、独立な確率変数の分散の加法性、チェビシェフの不等式については [確率変数と期待値](/mathematics/probability/random-variables) と [大数の法則と中心極限定理](/mathematics/probability/limit-theorems) を参照してください。

</Proof>

主張 3 は、$n$ を増やせば訓練誤差が汎化誤差に確率の意味で近づくことを言っています。$n$ が分母にあるので、精度 $t$ を半分にしたければ標本を $4$ 倍にすればよい、という定量的な指針も読み取れます。「データを増やすと良くなる」という経験則の、いちばん素朴な数学的裏付けです。

<Remark id="rem-overfitting" title="仮定「f はデータに依存しない」を落とすと何が壊れるか">

相異なる $n$ 個の点 $x_1,\ldots,x_n\in\mathbb{R}$ が与えられたとき、$n-1$ 次以下の多項式で $n$ 個の点すべてを通るものが必ず存在します（ラグランジュ補間。係数を決める連立方程式の係数行列はヴァンデルモンド行列で、点が相異なるとき行列式が $\prod_{i<j}(x_j-x_i)\ne0$ となり正則です）。この多項式を選べば経験リスクは厳密に $0$ です。

しかしこの予測器の期待リスクは一般にきわめて大きく、訓練点の間で激しく振動します。<Ref to="prop-erm-consistency" /> と矛盾しているように見えますが、そうではありません。この多項式は訓練データを見てから決めたものであり、命題の仮定「$f$ はデータに依存しない」が破れています。データに依存して $f$ を選ぶと $Z_i$ どうしの独立性も、$\mathbb{E}[Z_i]=R(f)$ という等式も成り立ちません。

これが過学習の正体であり、疑問 3 の答えです。仮説集合 $\mathcal{H}$ の中から選ぶ以上、本当に必要なのは各 $f$ ごとの評価ではなく一様な評価 $\sup_{f\in\mathcal{H}}|\hat{R}_n(f)-R(f)|$ です。この量を仮説集合の「大きさ」で抑えるのが統計的学習理論（VC 次元、ラデマッハ複雑度など）の主題です。

</Remark>

<Aside type="caution">
訓練データで測った精度は、そのデータを使ってモデルを選んだ時点で楽観的な値になります。ハイパーパラメータの調整に検証用データを分けるのは、<Ref to="prop-erm-consistency" /> の仮定を人工的に回復させるための手続きです。
</Aside>

## 6. 三つの数学の分担と、この先の章

ここまでで、冒頭に挙げた四つの疑問はすべて答えを得ました。

1. 学習率を上げると発散する。→ $\eta\ge 2/\lambda_d$ で最大固有値方向の誤差が増幅されるからです（<Ref to="thm-gd-quadratic" />）。
2. 単位を変えると収束が速くなる。→ 条件数 $\kappa$ が変わり、収束率 $(\kappa-1)/(\kappa+1)$ が改善するからです（<Ref to="ex-learning-rate" />）。
3. 訓練誤差が $0$ でも当たらない。→ データを見てモデルを選んだ時点で、経験リスクの不偏性が失われるからです（<Ref to="rem-overfitting" />）。
4. 回帰と分類で損失が違う。→ 出力に置く確率モデルが正規分布かベルヌーイ分布かの違いだからです（<Ref to="thm-mle-gaussian" />、<Ref to="ex-cross-entropy" />）。

三つの数学の分担を整理すると次のようになります。

| 学習の段階 | 主に使う数学 | この記事で見た具体例 | 続きを読む |
|---|---|---|---|
| データとモデルの表現 | 線形代数（行列、部分空間、直交射影） | 計画行列、正規方程式、残差の直交性 | [線形回帰と最小二乗法](/computer-science/math-for-ml/linear-regression) |
| 表現の圧縮と診断 | 線形代数（固有値、対称行列） | 条件数 $\kappa$ が反復回数を決める | [主成分分析](/computer-science/math-for-ml/principal-component-analysis) |
| 損失の最小化 | 微分積分（勾配、凸性、極限） | 学習率の上限 $2/\lambda_d$ と最良値 | [勾配降下法](/computer-science/math-for-ml/gradient-descent) |
| 深いモデルの勾配計算 | 微分積分（連鎖律） | シグモイドを通した微分 $p-y$ | [ニューラルネットワークと逆伝播](/computer-science/math-for-ml/backpropagation) |
| 損失の設計 | 確率統計（尤度） | ガウス雑音から二乗損失、ベルヌーイから交差エントロピー | [ロジスティック回帰](/computer-science/math-for-ml/logistic-regression) |
| 不確実性の評価 | 確率統計（期待値、大数の法則） | 経験リスクの不偏性と分散 $\sigma_{\ell}^2/n$ | [確率論とベイズ統計](/computer-science/math-for-ml/bayesian-statistics) |

必要な前提は、線形代数なら [ベクトル空間と線形変換](/mathematics/linear-algebra/vector-spaces)、[内積空間とグラム・シュミット直交化](/mathematics/linear-algebra/inner-product-spaces)、[固有値と固有ベクトル](/mathematics/linear-algebra/eigenvalues)、微分積分なら [多変数関数の微分と偏微分](/mathematics/calculus/multivariable-differentiation)、[平均値の定理とテイラーの定理](/mathematics/calculus/mean-value-and-taylor)、確率なら [確率空間とコルモゴロフの公理](/mathematics/probability/probability-spaces) と [確率変数と期待値](/mathematics/probability/random-variables) です。深追いは要りません。この記事で実際に使ったのは、内積と転置の関係、次元定理、対称行列のスペクトル定理、全微分の定義、期待値の線形性、チェビシェフの不等式だけです。

## 7. 演習

<Exercise id="exr-normal-equation-4points" difficulty="易">

データ $(x_i,y_i)=(0,1),(1,1),(2,4),(3,4)$ に対し、モデル $y=w_0+w_1x$ の最小二乗解を正規方程式から求めてください。さらに、得られた残差ベクトルが計画行列の 2 本の列のどちらにも直交することを確かめてください。

<Solution>

計画行列と目標ベクトルは

$$
X=\begin{pmatrix}1&0\\1&1\\1&2\\1&3\end{pmatrix},\qquad \boldsymbol{y}=\begin{pmatrix}1\\1\\4\\4\end{pmatrix}
$$

です。$X^{\mathsf{T}}X=\begin{pmatrix}4&6\\6&14\end{pmatrix}$（$4$ は行数、$6=0+1+2+3$、$14=0+1+4+9$）、$X^{\mathsf{T}}\boldsymbol{y}=\begin{pmatrix}10\\21\end{pmatrix}$（$10=1+1+4+4$、$21=0\cdot1+1\cdot1+2\cdot4+3\cdot4$）。$\det(X^{\mathsf{T}}X)=56-36=20\ne0$ なので <Ref to="cor-unique-solution" /> より解は一意です。正規方程式は

$$
\begin{cases}4w_0+6w_1=10\\ 6w_0+14w_1=21\end{cases}
$$

第 1 式を $\frac32$ 倍すると $6w_0+9w_1=15$、これを第 2 式から引いて $5w_1=6$、$w_1=\frac65$。第 1 式より $4w_0=10-6\cdot\frac65=10-\frac{36}{5}=\frac{14}{5}$、$w_0=\frac{7}{10}$。直線は $y=0.7+1.2x$ です。

予測値は $0.7,\ 1.9,\ 3.1,\ 4.3$ なので残差は $\boldsymbol{r}=X\boldsymbol{w}^{\star}-\boldsymbol{y}=(-0.3,\ 0.9,\ -0.9,\ 0.3)^{\mathsf{T}}$。第 1 列 $(1,1,1,1)^{\mathsf{T}}$ との内積は $-0.3+0.9-0.9+0.3=0$、第 2 列 $(0,1,2,3)^{\mathsf{T}}$ との内積は $0+0.9-1.8+0.9=0$。これは <Ref to="thm-normal-equation" /> の $X^{\mathsf{T}}(X\boldsymbol{w}^{\star}-\boldsymbol{y})=\boldsymbol{0}$ を成分ごとに書いたものにほかなりません。

</Solution>
</Exercise>

<Exercise id="exr-learning-rate" difficulty="標準">

$L(\boldsymbol{w})=\frac12\bigl(w_1^2+100w_2^2\bigr)$ とします。これは $A=\operatorname{diag}(1,100)$ に対する $L(\boldsymbol{w})=\frac12\langle\boldsymbol{w},A\boldsymbol{w}\rangle$ で、最小点は原点です。

1. 勾配降下法がすべての初期点から収束する学習率 $\eta$ の範囲を求めてください。
2. 収束が最速になる $\eta$ と、そのときの収束率 $\rho$ を求めてください。
3. 2 の $\eta$ を使うとき、$\|\boldsymbol{w}_k\|\le 10^{-3}\|\boldsymbol{w}_0\|$ を保証するのに十分な反復回数を求めてください。

<Solution>

$\nabla L(\boldsymbol{w})=(w_1,100w_2)^{\mathsf{T}}=A\boldsymbol{w}$ であり、$A$ は対角行列なので固有値はそのまま $\lambda_1=1$、$\lambda_2=100$、固有ベクトルは標準基底です。<Ref to="thm-gd-quadratic" /> がそのまま適用できます（$\boldsymbol{w}^{\star}=\boldsymbol{0}$）。

1. 主張 1 より $0<\eta<2/\lambda_2=2/100=0.02$。
2. 主張 3 より $\eta^{\star}=\dfrac{2}{1+100}=\dfrac{2}{101}\approx 0.0198$、$\kappa=100$ なので $\rho=\dfrac{100-1}{100+1}=\dfrac{99}{101}\approx 0.9802$。
3. 主張 2 の評価から $\rho^k\le 10^{-3}$ であれば十分です。両辺の対数を取ると $k\ln\rho\le -3\ln 10$、$\ln\rho<0$ なので

$$
k \ge \frac{3\ln 10}{\ln(101/99)} \approx \frac{6.9078}{0.0200} \approx 345.4 ,
$$

すなわち $346$ 回で十分です。条件数が $100$ というそれほど極端でもない値で、すでに数百回の反復が必要になります。特徴量のスケールをそろえることの効き目がここに現れます。

</Solution>
</Exercise>

<Exercise id="exr-laplace-loss" difficulty="標準">

<Ref to="thm-mle-gaussian" /> と同じ設定で、雑音 $\varepsilon_i$ が独立に密度 $p(\varepsilon)=\dfrac{1}{2b}\exp\bigl(-|\varepsilon|/b\bigr)$（$b>0$ は既知）のラプラス分布に従うとします。

1. $\boldsymbol{w}$ の最尤推定が、どんな関数を最小化する問題になるかを導いてください。
2. 得られた損失が二乗損失と比べて外れ値の影響を受けにくい理由を、残差に対する損失の増え方から説明してください。

<Solution>

1. 独立性より同時密度は積で、

$$
p(\boldsymbol{y}\mid\boldsymbol{w}) = \prod_{i=1}^{n}\frac{1}{2b}\exp\left(-\frac{\bigl|y_i-\langle\boldsymbol{w},\boldsymbol{x}_i\rangle\bigr|}{b}\right) .
$$

負の対数を取ると

$$
-\log p(\boldsymbol{y}\mid\boldsymbol{w}) = n\log(2b) + \frac{1}{b}\sum_{i=1}^{n}\bigl|y_i-\langle\boldsymbol{w},\boldsymbol{x}_i\rangle\bigr| .
$$

第 1 項は $\boldsymbol{w}$ に依存しない定数、第 2 項の係数 $1/b$ は正なので、<Ref to="def-mle" /> より最尤推定は $\sum_i|y_i-\langle\boldsymbol{w},\boldsymbol{x}_i\rangle|$ の最小化、すなわち絶対値損失（最小絶対偏差回帰）と同値です。

2. 残差 $r_i=\langle\boldsymbol{w},\boldsymbol{x}_i\rangle-y_i$ に対し、二乗損失の寄与は $\frac12 r_i^2$ で、残差についての微分は $r_i$、勾配への寄与は $r_i\boldsymbol{x}_i$ です。1 点の観測値を遠くへずらすと $|r_i|$ に比例して寄与が際限なく大きくなるので、その 1 点が解を引きずります。一方、絶対値損失の寄与は $|r_i|$ で、$r_i\ne0$ での微分は $\operatorname{sign}(r_i)=\pm1$、勾配への寄与は $\pm\boldsymbol{x}_i$ と有界です。どれほど外れた点でも影響の大きさは頭打ちになります。

確率モデルの言葉でいえば、正規分布の密度は $e^{-r^2/2\sigma^2}$ と急速に減衰するので大きな残差を「ほぼありえない」と判断して強く排除しにいくのに対し、ラプラス分布は $e^{-|r|/b}$ と裾が重く、大きな残差もそれなりに起こりうると見なすからです。ただし絶対値損失は $r_i=0$ で微分できないので、最適化には劣勾配法や線形計画への書き換えが必要になります。

</Solution>
</Exercise>

## 参考文献

- M. P. Deisenroth, A. A. Faisal, C. S. Ong, *Mathematics for Machine Learning*, Cambridge University Press, 2020 — 第 2 章（線形代数）、第 5 章（ベクトル解析）、第 9 章（線形回帰）。著者による全文公開版が [mml-book.github.io](https://mml-book.github.io/) にあります。
- C. M. Bishop, *Pattern Recognition and Machine Learning*, Springer, 2006 — 第 1 章（決定理論と損失関数）、第 3 章（線形回帰と最尤推定）、第 4 章（分類とロジスティック回帰）。
- I. Goodfellow, Y. Bengio, A. Courville, *Deep Learning*, MIT Press, 2016 — 第 I 部（第 2 章 線形代数、第 3 章 確率と情報理論、第 4 章 数値計算、第 5 章 機械学習の基礎）。[deeplearningbook.org](https://www.deeplearningbook.org/) で公開されています。
- S. Boyd, L. Vandenberghe, *Convex Optimization*, Cambridge University Press, 2004 — 第 3 章（凸関数と一次条件）、第 9 章（無制約最小化と勾配降下法の収束解析）。[web.stanford.edu/~boyd/cvxbook/](https://web.stanford.edu/~boyd/cvxbook/) で公開されています。
- S. Shalev-Shwartz, S. Ben-David, *Understanding Machine Learning: From Theory to Algorithms*, Cambridge University Press, 2014 — 第 2 章（経験リスク最小化と過学習）、第 4 章（一様収束）。
- S. M. Stigler, *The History of Statistics: The Measurement of Uncertainty before 1900*, Harvard University Press, 1986 — 第 1 部が最小二乗法をめぐるルジャンドルとガウスの経緯を扱っています。
