テデトク

← コースに戻る

定義・定理・公式まとめ

機械学習の数学コース

レッスンで手を動かして体感したことを、いつでも引ける形にした知識の地図です。 気になる項目があれば、リンク先のレッスンでもう一度図を動かして体感し直せます。

✏️ この範囲を計算で確かめる →

1機械学習は関数のあてはめ

学習=パラメータ調整

無料

y^=fθ(x)\hat{y} = f_\theta(x)

傾き ww をスライダーで動かし、データにいちばん合う形を探すのが学習そのもの

→ このレッスンで体感する

損失(残差二乗和)

無料

L(w)=i(yiwxi)2L(w) = \sum_i \bigl(y_i - w x_i\bigr)^2

各点の縦のずれ(残差)を二乗して足すと、良し悪しが1つの数になる

観測点が完全に一直線に並べば最小損失は0

→ このレッスンで体感する

訓練誤差と汎化は別物

無料

パラメータを増やせば、訓練データへの当てはまり(訓練誤差)はいくらでも下げられる

点の数を超える自由度があれば訓練誤差を0にできるが、それは既知の点への丸暗記にすぎない

未知データでの成績(汎化)は別問題。第8章の過学習で正面から扱う

→ このレッスンで体感する

最適化という共通目標

無料

θ=argminθ L(θ)\theta^{*} = \arg\min_{\theta}\ L(\theta)

回帰も分類もニューラルネットも、扱う関数と損失の形が違うだけでやることは同じ谷底探し

→ このレッスンで体感する

解ける谷と下る谷

無料

椀が1つのきれいな形なら閉じた式(正規方程式)で解けるが、複雑な谷は坂を下って探す(勾配降下)

「解ける回帰」と「下って探すニューラルネット」の分かれ目はここにある

→ このレッスンで体感する

2回帰 — 最小二乗をML視点で握り直す

二乗誤差損失

無料

L(w,b)=i(yi(wxi+b))2L(w,b)=\sum_i \bigl(y_i-(w x_i+b)\bigr)^2

符号を消して上振れも下振れも罰し、なめらかで微分しやすい形にするため二乗を使う

→ このレッスンで体感する

正規方程式の3つの顔

無料

w^=(XX)1Xy\hat{w}=(X^\top X)^{-1}X^\top y

線形代数では射影、統計では推定量、機械学習では学習済みパラメータ——同じ式が3つの名前を持つ

XXX^\top X が正則(=特徴量が1次独立)であることが前提。閉じた式で一発で解ける

→ このレッスンで体感する

残差の符号つき合計はゼロ

無料

最小二乗直線では i(yiy^i)=0\sum_i (y_i-\hat{y}_i)=0

上側と下側のずれがちょうど釣り合う

→ このレッスンで体感する

重回帰=内積

無料

y^=wx+b=w1x1++wdxd+b\hat{y}=\mathbf{w}^\top\mathbf{x}+b=w_1x_1+\cdots+w_dx_d+b

特徴量が増えても予測は重みと特徴量の内積のまま

→ このレッスンで体感する

多項式回帰は重回帰の一種

無料

y^=w0+w1x+w2x2++wkxk\hat{y}=w_0+w_1x+w_2x^2+\cdots+w_kx^k

x2,x3x^2,x^3 を新しい特徴量と見れば、重みについては線形のまま

次数を上げすぎると点と点の間で曲線が暴れる(第8章の過学習の芽)

→ このレッスンで体感する

3分類とロジスティック回帰

決定境界と内積の符号

プレミアム

wx+b>0\mathbf{w}^\top\mathbf{x}+b>0\Rightarrow クラス1、<0<0\Rightarrow クラス0

点がどちら側かは、法線ベクトル w\mathbf{w} との内積の符号で決まる

→ このレッスンで体感する

シグモイド関数とその微分

プレミアム

σ(z)=11+ez,σ(z)=σ(z)(1σ(z))\sigma(z)=\dfrac{1}{1+e^{-z}},\quad \sigma'(z)=\sigma(z)(1-\sigma(z))

実数の線形和を0〜1の確率に押し込む。σ(0)=0.5\sigma(0)=0.5 がちょうど境界の真上

σ(z)\sigma'(z) の最大値は 0.250.25(z=0z=0)。深いネットで掛け合わさると勾配消失の原因になる(第7章)

→ このレッスンで体感する

オッズとロジット

プレミアム

z=logp1pz=\log\dfrac{p}{1-p}

ロジスティック回帰の線形和はロジット(オッズの対数)を予測している

→ このレッスンで体感する

ソフトマックスと温度

プレミアム

pk=ezk/Tjezj/Tp_k=\dfrac{e^{z_k/T}}{\sum_j e^{z_j/T}}

指数で正の値にして合計で割るだけ。シグモイドの多クラス版

T0T\to0 の極限は argmax\arg\max(勝者総取り)、TT を上げると各クラスへなだらかに散る

→ このレッスンで体感する

4損失と尤度 — なぜその損失関数なのか

二乗誤差=ガウス雑音の最尤推定

プレミアム

logL(w,b)=12σ2i(yi(wxi+b))2+(定数)\log L(w,b) = -\dfrac{1}{2\sigma^2}\sum_i \bigl(y_i-(w x_i+b)\bigr)^2+\text{(定数)}

観測が真の直線の周りにガウス雑音で散らばると仮定すると、対数尤度の最大化は残差二乗和の最小化と一致する

→ このレッスンで体感する

損失=負の対数尤度

プレミアム

L=log(尤度)L=-\log(\text{尤度})

log\log は単調増加なので、尤度最大の点と損失最小の点は同じ谷底

→ このレッスンで体感する

情報量とエントロピー

プレミアム

I(p)=logp,H(p)=kpklogpkI(p)=-\log p,\quad H(p)=-\sum_k p_k\log p_k

確実な出来事の情報量は0、珍しい出来事ほど大きい。エントロピーは情報量の期待値

→ このレッスンで体感する

交差エントロピー=エントロピー+KL

プレミアム

H(p,q)=H(p)+DKL(pq)H(p,q)=H(p)+D_{\mathrm{KL}}(p\,\|\,q)

H(p)H(p) は避けられない下限、学習で減らせるのはKLの部分だけ

KLは非対称(DKL(pq)DKL(qp)D_{\mathrm{KL}}(p\|q)\neq D_{\mathrm{KL}}(q\|p))で距離の公理を満たさない

→ このレッスンで体感する

5勾配降下の実務

勾配降下の更新式

プレミアム

θθηL(θ)\theta \leftarrow \theta - \eta\, \nabla L(\theta)

勾配は最も急に増える向きを指すので、その逆に進めば最も急に減る

学習率 η\eta が大きすぎると谷を飛び越えて発散し、小さすぎると谷底に届かない

→ このレッスンで体感する

モメンタム

プレミアム

vμvηL,θθ+vv \leftarrow \mu v - \eta \nabla L,\quad \theta \leftarrow \theta + v

過去の更新を速度として溜め、谷を横切る振動は打ち消し合い谷に沿う方向は加速する

モメンタム係数 μ\mu(通常0.9前後)が大きすぎると谷底を通り過ぎて行き過ぎる

→ このレッスンで体感する

Adam

プレミアム

θθηm^v^+ε\theta \leftarrow \theta - \eta\, \dfrac{\hat{m}}{\sqrt{\hat{v}}+\varepsilon}

勾配の移動平均(慣性)と勾配二乗の移動平均(方向ごとの歩幅調整)を両取りする

→ このレッスンで体感する

ミニバッチ(確率的勾配降下)

プレミアム

勾配を全データでなく一部(ミニバッチ)だけで近似して更新する

ノイズが乗って軌跡はギザギザになるが、浅い局所解や鞍点から抜け出す助けになり計算も軽い

→ このレッスンで体感する

6ニューラルネットの順伝播

ニューロン=ロジスティック回帰

プレミアム

a=σ(w1x1+w2x2+b)a=\sigma(w_1 x_1+w_2 x_2+b)

重み付き和にバイアスを足しシグモイドに通すだけ。ニューロンは1個のロジスティック回帰

→ このレッスンで体感する

層=行列、深さ=合成

プレミアム

a=σ(Wx+b)\mathbf{a}=\sigma(W\mathbf{x}+\mathbf{b})

層を重ねるとは、この行列変換を次々に合成すること

→ このレッスンで体感する

非線形がないと1層に潰れる

プレミアム

W2(W1x)=(W2W1)xW_2(W_1\mathbf{x})=(W_2W_1)\mathbf{x}

活性化を外すと、何層積んでも1つの行列と同じ表現力しか出ない

非線形(活性化)が空間を折り曲げ、直線では引けない複雑な境界を可能にする

→ このレッスンで体感する

バイアス=折り目の位置

プレミアム

σ(wx+b)\sigma(wx+b)ww は折り目の急さ、bb は折り目の横位置

重み行列は空間の伸縮・回転、バイアスは平行移動——アフィン変換そのもの

→ このレッスンで体感する

7誤差逆伝播 — 連鎖律が勾配を運ぶ

連鎖律による勾配の伝播

無料

L(入力)=L(出力)(出力)(入力)\dfrac{\partial L}{\partial(\text{入力})} = \dfrac{\partial L}{\partial(\text{出力})} \cdot \dfrac{\partial(\text{出力})}{\partial(\text{入力})}

上流から流れてきた勾配に、そのノードのローカル勾配を掛けて下流へ渡すだけ

→ このレッスンで体感する

シグモイドのローカル勾配

無料

σ(z)=σ(z)(1σ(z))\sigma'(z)=\sigma(z)(1-\sigma(z))、最大値は 0.250.25(z=0z=0)

tanhの入力が飽和したノードではローカル勾配がほぼ0になり、下流の勾配も消えていく

→ このレッスンで体感する

勾配消失

プレミアム

ローカル勾配が層の数だけ掛かると 0.25n0.25^n のように急速に0へ近づく

深いネットが学習しにくい主因。ReLUや残差接続、正規化が処方になる

→ このレッスンで体感する

逆伝播の効率

プレミアム

パラメータが百万個あっても、順伝播1回・逆伝播1回のたった2パスで全勾配が揃う

数値微分で1つずつ求めるより桁違いに軽い。この効率が大規模な深層学習を現実にした

→ このレッスンで体感する

8正則化とバイアス・バリアンス

バイアス・バリアンス分解

プレミアム

誤差=バイアス2+バリアンス+ノイズ\text{誤差} = \text{バイアス}^2+\text{バリアンス}+\text{ノイズ}

単純なモデルは高バイアス・低バリアンス、複雑なモデルは低バイアス・高バリアンス

→ このレッスンで体感する

L2正則化(リッジ)の罰則

プレミアム

L正則化=i(yiy^i)2+λjwj2L_{\text{正則化}} = \sum_i (y_i-\hat{y}_i)^2 + \lambda\sum_j w_j^2

λ\lambda を大きくするほど係数が0へ引き寄せられ、曲線がなだらかになる

→ このレッスンで体感する

L1とL2の違い

プレミアム

L2は jwj2\sum_j w_j^2(円)、L1は jwj\sum_j|w_j|(菱形)

L1は制約領域の角で損失の等高線と接しやすく、いくつかの係数がぴったり0に落ちる(変数選択)

→ このレッスンで体感する

L2正則化=ガウス事前つきMAP

プレミアム

「係数は0の近くにあるはず」というガウス事前を掛けて最尤推定をMAP推定にすると、罰則 λjwj2\lambda\sum_j w_j^2 が現れる

天下りに見えた罰則の正体は、統計の事前分布だった

→ このレッスンで体感する

9次元削減 — PCA再訪

第1主成分=分散最大の方向

プレミアム

共分散行列 1nXX\frac{1}{n}X^\top X の第1固有ベクトル

データが最も伸びている方向、情報を最も残す軸

→ このレッスンで体感する

分散最大=再構成誤差最小

プレミアム

全分散は一定なので、残す分散を最大化する向きがそのまま捨てる誤差を最小化する向き

「分散最大」と「再構成誤差最小」は同じ1つの向きの表と裏

すべての方向で分散が等しいときは、捨ててよい方向がなく圧縮できない

→ このレッスンで体感する

中心化(平均を引く)の理由

プレミアム

分散は平均まわりのばらつき

中心化しないと原点からの距離が方向の分散に混ざり、主成分が平均の向きに歪む

→ このレッスンで体感する

累積寄与率

プレミアム

累積寄与率(k)=λ1++λkλ1++λd\text{累積寄与率}(k)=\dfrac{\lambda_1+\cdots+\lambda_k}{\lambda_1+\cdots+\lambda_d}

寄与率の大きい順に固有値を足し、目標(例えば95%)に届く kk で次元を打ち切る

全主成分を残せば再構成誤差は0(何も捨てていない)

→ このレッスンで体感する

10確率的な視点 — 尤度からベイズ、生成へ

モデル=条件付き確率分布

プレミアム

p(yx)p(y\mid x)

回帰はガウス分布、分類はベルヌーイ/多項分布として p(yx)p(y\mid x) を推定していた

→ このレッスンで体感する

ベイズ更新

プレミアム

p(θデータ)p(データθ)×p(θ)p(\theta\mid\text{データ}) \propto p(\text{データ}\mid\theta) \times p(\theta)

事前の信念にデータがもたらす尤度を掛けて、事後の信念へ更新する

→ このレッスンで体感する

点推定はベイズの特別な場合

プレミアム

事後分布のピーク=MAP推定、さらに事前を消すと最尤推定

ベイズという広い枠の中に、これまでの点推定がぜんぶ収まる

→ このレッスンで体感する

正則化の強さ=事前と雑音の精度比

プレミアム

λ=α/β\lambda=\alpha/\beta(事前の精度 α\alpha、雑音の精度 β\beta)

ガウス事前つきMAPの目的関数はリッジ回帰と完全に一致する

λ=0\lambda=0 にすると事前が消え、MAPは最尤推定(罰則なしの最小二乗)に戻る

→ このレッスンで体感する

← コースに戻る