コンテンツにスキップ

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

前提:ベクトル空間と線形変換:8 つの公理から次元定理まで極限と連続性:ε-δ 論法を「誤差の契約」として読む確率空間とコルモゴロフの公理:確率を「全測度 1 の測度」として定義する

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

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

Section titled “1. 動機:学習ライブラリの一行が隠しているもの”

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

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

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

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

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

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

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

定義 2.1教師あり学習の設定

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

D=((x1,y1),,(xn,yn))(X×Y)nD = \bigl((\boldsymbol{x}_1,y_1),\ldots,(\boldsymbol{x}_n,y_n)\bigr) \in (\mathcal{X}\times\mathcal{Y})^n

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

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

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

定義 2.2期待リスクと経験リスク

定義 2.1 の設定のもとで、予測器 fHf\in\mathcal{H} に対し

R(f):=E(X,Y)P[(f(X),Y)],R^n(f):=1ni=1n(f(xi),yi)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)

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

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

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

L(w):=R^n(fw)L(\boldsymbol{w}) := \hat{R}_n(f_{\boldsymbol{w}})

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

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
教師あり学習の基本フロー。各段階でどの数学が働くかを併記した

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

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

Section titled “3. 線形代数:データを行列に並べる”

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

X=(x1TxnT)Rn×d,y=(y1yn)RnX = \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 特徴を定数 xi1=1x_{i1}=1 とすれば w\boldsymbol{w} の中に吸収できるので、以下では切片を特別扱いしません。

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

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

L(w)=1ni=1n12(w,xiyi)2=12nXwy2L(\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

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

補題 3.1二乗損失の二次展開

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

L(w+u)=L(w)+1nu,XT(Xwy)+12nXu2L(\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

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

証明(補題 3.1)

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

r+Xu2=r+Xu,r+Xu=r2+2Xu,r+Xu2.\|\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 .

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

微分可能性を確かめます。第 2 項は u\boldsymbol{u} の線形形式です。第 3 項は、コーシー・シュワルツの不等式(定理 4.2)[内積空間とグラム・シュミット直交化] から

Xu2=i=1nxi,u2(i=1nxi2)u2\|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:=ixi2C:=\sum_i\|\boldsymbol{x}_i\|^2u\boldsymbol{u} に依らない定数なので、u0\|\boldsymbol{u}\|\to 0 のとき 12nXu2=O(u2)=o(u)\frac{1}{2n}\|X\boldsymbol{u}\|^2 = O(\|\boldsymbol{u}\|^2) = o(\|\boldsymbol{u}\|) です。したがって全微分の定義そのものにより LL は微分可能で、勾配は線形形式の係数ベクトル 1nXT(Xwy)\frac{1}{n}X^{\mathsf{T}}(X\boldsymbol{w}-\boldsymbol{y}) です。

定理 3.2正規方程式

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

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

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

証明(定理 3.2)

g:=XTXwXTy=XT(Xwy)\boldsymbol{g}:=X^{\mathsf{T}}X\boldsymbol{w}^{\star}-X^{\mathsf{T}}\boldsymbol{y} = X^{\mathsf{T}}(X\boldsymbol{w}^{\star}-\boldsymbol{y}) とおきます。補題 3.1w=w\boldsymbol{w}=\boldsymbol{w}^{\star} に適用すると、任意の uRd\boldsymbol{u}\in\mathbb{R}^d について

L(w+u)L(w)=1nu,g+12nXu2L(\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

が成り立ちます。

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

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

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

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

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

補題 3.3グラム行列の核

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

証明(補題 3.3)

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

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

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

階数については、次元定理(定理 7.3)[ベクトル空間と線形変換](階数・退化次数定理)を Rd\mathbb{R}^d 上の二つの線形写像に適用して

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

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

系 3.4最小二乗解の閉じた式

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

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

で与えられる。

証明(系 3.4)

補題 3.3 より XTXX^{\mathsf{T}}X は正則なので、正規方程式 XTXw=XTyX^{\mathsf{T}}X\boldsymbol{w}=X^{\mathsf{T}}\boldsymbol{y} はただ一つの解 (XTX)1XTy(X^{\mathsf{T}}X)^{-1}X^{\mathsf{T}}\boldsymbol{y} を持ちます。定理 3.2 により「正規方程式の解の集合」と「LL の最小点の集合」は一致するので、最小点もこの一点だけです。

注意 3.5列が線形独立でないとき

rankX<d\operatorname{rank}X < d のときも最小点は存在します。実際、XTXu=XT(Xu)X^{\mathsf{T}}X\boldsymbol{u}=X^{\mathsf{T}}(X\boldsymbol{u}) より Im(XTX)Im(XT)\operatorname{Im}(X^{\mathsf{T}}X)\subseteq\operatorname{Im}(X^{\mathsf{T}}) ですが、補題 3.3 から dimIm(XTX)=rankX\dim\operatorname{Im}(X^{\mathsf{T}}X)=\operatorname{rank}X、また行階数と列階数が等しいことから dimIm(XT)=rank(XT)=rankX\dim\operatorname{Im}(X^{\mathsf{T}})=\operatorname{rank}(X^{\mathsf{T}})=\operatorname{rank}X です。次元の等しい包含関係は等号なので Im(XTX)=Im(XT)\operatorname{Im}(X^{\mathsf{T}}X)=\operatorname{Im}(X^{\mathsf{T}}) となり、右辺 XTyX^{\mathsf{T}}\boldsymbol{y} は必ず左辺に属します。つまり正規方程式は常に解を持ちます。

ただし解は一意ではなく、一つの解 w\boldsymbol{w}^{\star} に対して解全体は w+kerX\boldsymbol{w}^{\star}+\ker X というアフィン部分空間になります。実務ではリッジ正則化(L(w)+λw2L(\boldsymbol{w})+\lambda\|\boldsymbol{w}\|^2 を最小化する)やムーア・ペンローズ擬似逆行列(定義 8.6)[線形回帰と最小二乗法]によって一意に定めます。

定理 3.2 の証明で使った u,XT(Xwy)=0\langle\boldsymbol{u},X^{\mathsf{T}}(X\boldsymbol{w}^{\star}-\boldsymbol{y})\rangle=0 という条件は、XTr=0X^{\mathsf{T}}\boldsymbol{r}=\boldsymbol{0}、つまり残差ベクトル r=Xwy\boldsymbol{r}=X\boldsymbol{w}^{\star}-\boldsymbol{y}XX のすべての列に直交する、と言い換えられます。これが最小二乗法の幾何的な意味です。言い換えれば XwX\boldsymbol{w}^{\star}y\boldsymbol{y} の列空間 ImX\operatorname{Im}X への直交射影にほかならず、この見方は 定理 4.2[線形回帰と最小二乗法] で正面から扱われます。

Im Xモデルが到達できる予測の全体0y(観測された目標)Xw*(予測)残差 r = Xw* - y
最小二乗法の幾何。予測 Xw* は y の列空間への直交射影で、残差は列空間に直交する

例 3.63 点への直線の当てはめを最後まで計算する

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

X=(111213),y=(235),XTX=(36614),XTy=(1023)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+13=1+1+16=1+2+36=1+2+314=1+4+914=1+4+910=2+3+510=2+3+523=12+23+3523=1\cdot 2+2\cdot 3+3\cdot 5)。det(XTX)=31466=60\det(X^{\mathsf{T}}X)=3\cdot 14-6\cdot 6=6\ne 0 なので 系 3.4 が使えます。正規方程式

{3w0+6w1=106w0+14w1=23\begin{cases} 3w_0+6w_1=10\\ 6w_0+14w_1=23\end{cases}

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

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

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

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

例 3.7特徴が重複すると解が一意でなくなる

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

X=(112124136)X'=\begin{pmatrix}1&1&2\\1&2&4\\1&3&6\end{pmatrix}

で、第 3 列は第 2 列の 22 倍なので列は線形従属です。実際 u=(0,2,1)T\boldsymbol{u}=(0,2,-1)^{\mathsf{T}} に対して Xu=0X'\boldsymbol{u}=\boldsymbol{0} であり、補題 3.3 より XTXX'^{\mathsf{T}}X' は正則ではありません。

XX' の列空間は XX の列空間と同じ(第 3 列が第 2 列の定数倍なので新しい方向を足していない)ですから、最小の損失値も予測ベクトルも 例 3.6 と変わりません。変わるのは解の個数です。w=(13,32,0)T\boldsymbol{w}=(\frac13,\frac32,0)^{\mathsf{T}} は最小点の一つですが、注意 3.5 のとおり

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

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

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

Section titled “4. 微分積分:最小化を勾配の言葉に翻訳する”

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

定義 4.1凸関数

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

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

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

定理 4.2凸関数では停留点と大域最小点が一致する

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

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

(1)u:=vw\boldsymbol{u}:=\boldsymbol{v}-\boldsymbol{w} とおき、t(0,1]t\in(0,1] を取ります。(1t)w+tv=w+tu(1-t)\boldsymbol{w}+t\boldsymbol{v}=\boldsymbol{w}+t\boldsymbol{u} なので、定義 4.1 の不等式は

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

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

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

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

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

逆に w\boldsymbol{w}^{\star} が大域最小点だとします。uRd\boldsymbol{u}\in\mathbb{R}^d を任意に取り、1 変数関数 g(t):=f(w+tu)g(t):=f(\boldsymbol{w}^{\star}+t\boldsymbol{u}) を考えます。合成関数の微分より gg は微分可能で g(0)=f(w),ug'(0)=\langle\nabla f(\boldsymbol{w}^{\star}),\boldsymbol{u}\rangle です。ggt=0t=0 で最小値を取るので、内点における極値の必要条件(フェルマーの補題(補題 2.5)[平均値の定理とテイラーの定理])から g(0)=0g'(0)=0、すなわち f(w),u=0\langle\nabla f(\boldsymbol{w}^{\star}),\boldsymbol{u}\rangle=0 です。u=f(w)\boldsymbol{u}=\nabla f(\boldsymbol{w}^{\star}) と取れば f(w)2=0\|\nabla f(\boldsymbol{w}^{\star})\|^2=0、よって f(w)=0\nabla f(\boldsymbol{w}^{\star})=\boldsymbol{0} です。この向きでは凸性を一度も使っていません。

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

注意 4.3二乗損失は凸である

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

(1t)a2+tb2(1t)a+tb2=t(1t)ab20(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

が展開だけで確かめられる(左辺を展開すると [(1t)(1t)2]a2+(tt2)b22t(1t)a,b\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 で、(1t)(1t)2=tt2=t(1t)(1-t)-(1-t)^2=t-t^2=t(1-t) です)ので、hh定義 4.1 の意味で凸です。次に wt:=(1t)w+tv\boldsymbol{w}_t:=(1-t)\boldsymbol{w}+t\boldsymbol{v} とおくと

Xwty=(1t)Xw+tXvy=(1t)(Xwy)+t(Xvy)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})

です((1t)(y)+t(y)=y(1-t)(-\boldsymbol{y})+t(-\boldsymbol{y})=-\boldsymbol{y} を使いました)。つまりアフィン写像は凸結合を凸結合へ写します。したがって L(wt)=h(Xwty)(1t)h(Xwy)+th(Xvy)=(1t)L(w)+tL(v)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}) となり、LL も凸です。

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

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

Section titled “4.1. なぜ閉じた式ではなく反復法を使うのか”

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

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

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

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

と定めるのが勾配降下法です。定理 4.2 の(1)は「勾配は関数を下から支える一次近似の傾きである」と読めますから、その逆向きに進むのは自然な選択です。では、どのくらいの歩幅で進めばよいのでしょうか。二乗損失の場合、答えは完全に書き下せます。

定理 4.4最小二乗損失に対する勾配降下法の収束

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

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

ステップ 1(AA は対称正定値)。 (XTX)T=XT(XT)T=XTX(X^{\mathsf{T}}X)^{\mathsf{T}}=X^{\mathsf{T}}(X^{\mathsf{T}})^{\mathsf{T}}=X^{\mathsf{T}}X より AA は対称です。また u0\boldsymbol{u}\ne\boldsymbol{0} に対して u,Au=1nXu2\langle\boldsymbol{u},A\boldsymbol{u}\rangle=\frac{1}{n}\|X\boldsymbol{u}\|^2 であり、列の線形独立性と 補題 3.3 から Xu0X\boldsymbol{u}\ne\boldsymbol{0} なので、これは正です。対称行列の固有値は実数で、正定値なのですべて正です。

ステップ 2(誤差の漸化式)。 補題 3.1 より L(w)=1nXT(Xwy)=Aw1nXTy\nabla L(\boldsymbol{w})=\frac1n X^{\mathsf{T}}(X\boldsymbol{w}-\boldsymbol{y})=A\boldsymbol{w}-\frac1n X^{\mathsf{T}}\boldsymbol{y} です。w\boldsymbol{w}^{\star} は正規方程式を満たす(定理 3.2)ので 1nXTy=Aw\frac1n X^{\mathsf{T}}\boldsymbol{y}=A\boldsymbol{w}^{\star}、したがって

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

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

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

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

ステップ 3(スペクトル分解)。 AA は実対称なので、スペクトル定理により Rd\mathbb{R}^d の正規直交基底 q1,,qd\boldsymbol{q}_1,\ldots,\boldsymbol{q}_dAqj=λjqjA\boldsymbol{q}_j=\lambda_j\boldsymbol{q}_j を満たすものが取れます(系 4.3[スペクトル定理]。全体は スペクトル定理 を参照)。e0=j=1dcjqj\boldsymbol{e}_0=\sum_{j=1}^d c_j\boldsymbol{q}_jcj=e0,qjc_j=\langle\boldsymbol{e}_0,\boldsymbol{q}_j\rangle)と展開し、(IηA)qj=(1ηλj)qj(I-\eta A)\boldsymbol{q}_j=(1-\eta\lambda_j)\boldsymbol{q}_j を繰り返し使うと

ek=j=1dcj(1ηλj)kqj,ek2=j=1dcj2(1ηλj)2k\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)。 すべての jj1ηλj<1|1-\eta\lambda_j|<1 なら、上の有限和の各項が kk\to\infty00 に収束するので ek0\|\boldsymbol{e}_k\|\to0 です。η>0\eta>0 かつ λj>0\lambda_j>0 のとき

1ηλj<1    1<1ηλj<1    0<ηλj<2    η<2/λj|1-\eta\lambda_j| < 1 \iff -1 < 1-\eta\lambda_j < 1 \iff 0 < \eta\lambda_j < 2 \iff \eta < 2/\lambda_j

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

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

ek2ρ(η)2kjcj2=ρ(η)2ke02.\|\boldsymbol{e}_k\|^2 \le \rho(\eta)^{2k}\sum_{j}c_j^2 = \rho(\eta)^{2k}\|\boldsymbol{e}_0\|^2 .

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

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

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

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

ρ(η)=12λ1λ1+λd=λdλ1λd+λ1=κ1κ+1\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}

です(最後は分子分母を λ1\lambda_1 で割りました)。

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

例 4.5条件数が反復回数を決める

例 3.6 のデータで A=13XTX=(12214/3)A=\frac13X^{\mathsf{T}}X=\begin{pmatrix}1&2\\2&14/3\end{pmatrix} です。固有多項式は λ2173λ+23=0\lambda^2-\frac{17}{3}\lambda+\frac23=0(トレースが 1+143=1731+\frac{14}{3}=\frac{17}{3}、行列式が 1434=23\frac{14}{3}-4=\frac23)なので

λ=17±2656,λ10.1202,λ25.5465.\lambda = \frac{17\pm\sqrt{265}}{6},\qquad \lambda_1\approx 0.1202,\quad \lambda_2\approx 5.5465 .

定理 4.4 より、収束条件は η<2/5.54650.3606\eta < 2/5.5465\approx 0.3606、最良の学習率は η=2/(17/3)=6/170.3529\eta^{\star}=2/(17/3)=6/17\approx 0.3529 です。条件数は κ46.1\kappa\approx 46.1 なので ρ45.1/47.10.9576\rho\approx 45.1/47.1\approx 0.9576。誤差を 10310^{-3} 倍に縮めるには

ρk103    k3ln10lnρ6.9080.0433159.4\rho^k\le 10^{-3} \iff k \ge \frac{3\ln 10}{-\ln\rho} \approx \frac{6.908}{0.0433} \approx 159.4

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

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

X~TX~=(3002),A=diag(1, 23),κ=12/3=1.5.\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 .

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

中心化なし中心化あり
固有値0.120, 5.5470.120,\ 5.5470.667, 1.0000.667,\ 1.000
条件数 κ\kappa46.146.11.51.5
発散する学習率η0.361\eta\ge 0.361η2\eta\ge 2
最良の学習率 η\eta^{\star}0.3530.3531.21.2
収束率 ρ\rho0.9580.9580.20.2
誤差を 10310^{-3} 倍にする反復数16016055

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

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

Section titled “5. 確率統計:損失はどこから来て、何を保証するのか”

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

定義 5.1最尤推定

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

定理 5.2ガウス雑音のもとで最尤推定は最小二乗法に一致する

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

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

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

証明(定理 5.2)

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

p(yw)=i=1n12πσ2exp((yiw,xi)22σ2)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)

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

logp(yw)=n2log(2πσ2)12σ2i=1n(yiw,xi)2=n2log(2πσ2)12σ2Xwy2\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 項は w\boldsymbol{w} に依存しない定数、第 2 項の係数 12σ2\frac{1}{2\sigma^2} は正です。したがって「logp\log p を最大にする w\boldsymbol{w}」と「Xwy2\|X\boldsymbol{w}-\boldsymbol{y}\|^2 を最小にする w\boldsymbol{w}」は完全に同じ集合です。正の定数 12n\frac{1}{2n} を掛けても最小点は変わらないので、これは LL の最小点の集合と一致します。

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

例 5.3ベルヌーイ分布から交差エントロピーが出てくる

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

pi:=σ(zi),zi:=w,xi,σ(z)=11+ezp_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)(0,1) です)。yiy_i が独立にベルヌーイ分布 Be(pi)\mathrm{Be}(p_i) に従うと仮定すると、yi{0,1}y_i\in\{0,1\} であることを使って 1 点あたりの確率を piyi(1pi)1yip_i^{y_i}(1-p_i)^{1-y_i} と一つの式にまとめられます(yi=1y_i=1 なら pip_iyi=0y_i=0 なら 1pi1-p_i を返します)。したがって

1nlogp(yw)=1ni=1n[yilogpi+(1yi)log(1pi)]-\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 の答えがこれです。二乗損失と交差エントロピーの違いは、出力を実数値とみるか確率とみるかという確率モデルの違いにすぎません。

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

izi=[yi(1pi)(1yi)pi]=[yiyipipi+yipi]=piyi\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

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

R^n(w)=1ni=1n(piyi)xi=1nXT(py),p=(p1,,pn)T.\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}} .

これは 補題 3.1L(w)=1nXT(Xwy)\nabla L(\boldsymbol{w})=\frac1n X^{\mathsf{T}}(X\boldsymbol{w}-\boldsymbol{y}) と同じ形をしています。「計画行列の転置を残差に掛ける」という構造は、線形回帰とロジスティック回帰で共通です。この勾配の形は 定理 5.1[ロジスティック回帰] で改めて示されます。詳しくは ロジスティック回帰 で扱います。

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

Section titled “5.1. 訓練誤差を信じてよい理由と、信じてはいけない理由”

確率が必要なもう一つの理由は、定義 2.2R^n\hat{R}_nRR のすり替えを正当化することです。

命題 5.4固定した予測器では経験リスクは期待リスクに集中する

定義 2.1 の設定で、(X1,Y1),,(Xn,Yn)(\boldsymbol{X}_1,Y_1),\ldots,(\boldsymbol{X}_n,Y_n) は分布 PP から独立に同じ分布に従って抽出されたものとする。予測器 ff は訓練データに依存せずあらかじめ固定されているとし、確率変数 Zi:=(f(Xi),Yi)Z_i:=\ell(f(\boldsymbol{X}_i),Y_i) が有限の期待値 R(f)R(f) と有限の分散 σ2\sigma_{\ell}^2 を持つとする。このとき次が成り立つ。

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

R^n(f)=1ni=1nZi\hat{R}_n(f)=\frac1n\sum_{i=1}^n Z_i です。Z1,,ZnZ_1,\ldots,Z_n は独立同分布で、E[Zi]=E[(f(Xi),Yi)]=R(f)\mathbb{E}[Z_i]=\mathbb{E}[\ell(f(\boldsymbol{X}_i),Y_i)]=R(f) です(ff がデータに依存しないので、ZiZ_i の分布は PPff だけで決まります)。

  1. 期待値の線形性より E[R^n(f)]=1niE[Zi]=1nnR(f)=R(f)\mathbb{E}[\hat{R}_n(f)]=\frac1n\sum_i\mathbb{E}[Z_i]=\frac1n\cdot nR(f)=R(f)
  2. 独立な確率変数の和の分散は分散の和なので Var[iZi]=nσ2\operatorname{Var}[\sum_i Z_i]=n\sigma_{\ell}^2、定数倍の分散は Var[cW]=c2Var[W]\operatorname{Var}[cW]=c^2\operatorname{Var}[W] なので Var[R^n(f)]=1n2nσ2=σ2/n\operatorname{Var}[\hat{R}_n(f)]=\frac{1}{n^2}\cdot n\sigma_{\ell}^2=\sigma_{\ell}^2/n
  3. チェビシェフの不等式(系 6.2)[確率変数と期待値] を確率変数 R^n(f)\hat{R}_n(f)(期待値 R(f)R(f)、分散 σ2/n\sigma_{\ell}^2/n)に適用すれば直ちに得られます。

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

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

注意 5.5仮定「f はデータに依存しない」を落とすと何が壊れるか

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

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

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

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

Section titled “6. 三つの数学の分担と、この先の章”

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

  1. 学習率を上げると発散する。→ η2/λd\eta\ge 2/\lambda_d で最大固有値方向の誤差が増幅されるからです(定理 4.4)。
  2. 単位を変えると収束が速くなる。→ 条件数 κ\kappa が変わり、収束率 (κ1)/(κ+1)(\kappa-1)/(\kappa+1) が改善するからです(例 4.5)。
  3. 訓練誤差が 00 でも当たらない。→ データを見てモデルを選んだ時点で、経験リスクの不偏性が失われるからです(注意 5.5)。
  4. 回帰と分類で損失が違う。→ 出力に置く確率モデルが正規分布かベルヌーイ分布かの違いだからです(定理 5.2例 5.3)。

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

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

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

演習 7.1

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

解答

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

X=(10111213),y=(1144)X=\begin{pmatrix}1&0\\1&1\\1&2\\1&3\end{pmatrix},\qquad \boldsymbol{y}=\begin{pmatrix}1\\1\\4\\4\end{pmatrix}

です。XTX=(46614)X^{\mathsf{T}}X=\begin{pmatrix}4&6\\6&14\end{pmatrix}44 は行数、6=0+1+2+36=0+1+2+314=0+1+4+914=0+1+4+9)、XTy=(1021)X^{\mathsf{T}}\boldsymbol{y}=\begin{pmatrix}10\\21\end{pmatrix}10=1+1+4+410=1+1+4+421=01+11+24+3421=0\cdot1+1\cdot1+2\cdot4+3\cdot4)。det(XTX)=5636=200\det(X^{\mathsf{T}}X)=56-36=20\ne0 なので 系 3.4 より解は一意です。正規方程式は

{4w0+6w1=106w0+14w1=21\begin{cases}4w_0+6w_1=10\\ 6w_0+14w_1=21\end{cases}

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

予測値は 0.7, 1.9, 3.1, 4.30.7,\ 1.9,\ 3.1,\ 4.3 なので残差は r=Xwy=(0.3, 0.9, 0.9, 0.3)T\boldsymbol{r}=X\boldsymbol{w}^{\star}-\boldsymbol{y}=(-0.3,\ 0.9,\ -0.9,\ 0.3)^{\mathsf{T}}。第 1 列 (1,1,1,1)T(1,1,1,1)^{\mathsf{T}} との内積は 0.3+0.90.9+0.3=0-0.3+0.9-0.9+0.3=0、第 2 列 (0,1,2,3)T(0,1,2,3)^{\mathsf{T}} との内積は 0+0.91.8+0.9=00+0.9-1.8+0.9=0。これは 定理 3.2XT(Xwy)=0X^{\mathsf{T}}(X\boldsymbol{w}^{\star}-\boldsymbol{y})=\boldsymbol{0} を成分ごとに書いたものにほかなりません。

演習 7.2標準

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

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

L(w)=(w1,100w2)T=Aw\nabla L(\boldsymbol{w})=(w_1,100w_2)^{\mathsf{T}}=A\boldsymbol{w} であり、AA は対角行列なので固有値はそのまま λ1=1\lambda_1=1λ2=100\lambda_2=100、固有ベクトルは標準基底です。定理 4.4 がそのまま適用できます(w=0\boldsymbol{w}^{\star}=\boldsymbol{0})。

  1. 主張 1 より 0<η<2/λ2=2/100=0.020<\eta<2/\lambda_2=2/100=0.02
  2. 主張 3 より η=21+100=21010.0198\eta^{\star}=\dfrac{2}{1+100}=\dfrac{2}{101}\approx 0.0198κ=100\kappa=100 なので ρ=1001100+1=991010.9802\rho=\dfrac{100-1}{100+1}=\dfrac{99}{101}\approx 0.9802
  3. 主張 2 の評価から ρk103\rho^k\le 10^{-3} であれば十分です。両辺の対数を取ると klnρ3ln10k\ln\rho\le -3\ln 10lnρ<0\ln\rho<0 なので
k3ln10ln(101/99)6.90780.0200345.4,k \ge \frac{3\ln 10}{\ln(101/99)} \approx \frac{6.9078}{0.0200} \approx 345.4 ,

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

演習 7.3標準

定理 5.2 と同じ設定で、雑音 εi\varepsilon_i が独立に密度 p(ε)=12bexp(ε/b)p(\varepsilon)=\dfrac{1}{2b}\exp\bigl(-|\varepsilon|/b\bigr)b>0b>0 は既知)のラプラス分布に従うとします。

  1. w\boldsymbol{w} の最尤推定が、どんな関数を最小化する問題になるかを導いてください。
  2. 得られた損失が二乗損失と比べて外れ値の影響を受けにくい理由を、残差に対する損失の増え方から説明してください。
解答
  1. 独立性より同時密度は積で、
p(yw)=i=1n12bexp(yiw,xib).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) .

負の対数を取ると

logp(yw)=nlog(2b)+1bi=1nyiw,xi.-\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 項は w\boldsymbol{w} に依存しない定数、第 2 項の係数 1/b1/b は正なので、定義 5.1 より最尤推定は iyiw,xi\sum_i|y_i-\langle\boldsymbol{w},\boldsymbol{x}_i\rangle| の最小化、すなわち絶対値損失(最小絶対偏差回帰)と同値です。

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

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

  • M. P. Deisenroth, A. A. Faisal, C. S. Ong, Mathematics for Machine Learning, Cambridge University Press, 2020 — 第 2 章(線形代数)、第 5 章(ベクトル解析)、第 9 章(線形回帰)。著者による全文公開版が 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 で公開されています。
  • S. Boyd, L. Vandenberghe, Convex Optimization, Cambridge University Press, 2004 — 第 3 章(凸関数と一次条件)、第 9 章(無制約最小化と勾配降下法の収束解析)。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 部が最小二乗法をめぐるルジャンドルとガウスの経緯を扱っています。

この記事の誤りを報告する ・運営: 夢現技研合同会社料金プラン利用条件特定商取引法に基づく表記

© 2026 夢現技研合同会社 ・本文の LLM への入力は自由です。コード例は MIT ライセンスです。