Site cover image

Site icon imageSen(Qian)’s Memo

This website is Donglin Qian (Torin Sen)’s memo, especially about machine learning papers and competitive programming.

(講義ノート)統計的機械学習第6回

前回はこちら。📄Arrow icon of a page link(講義ノート)統計的機械学習第5回

📄Arrow icon of a page link(講義ノート)統計的機械学習第3,4回 でRademacher複雑度を導入することで、理想誤差を0にできる仮説、そして有限仮説の集合ではない場合でも解析できるとしていた。しかし、それは損失関数についてのRademacher複雑度であり、仮説についてのRademacher複雑度の変換Rn(L01)=12Rn(H)R_n(\mathcal{L}_{01}) = \frac{1}{2} R_n(\mathcal{H})がわかった。

また、有限仮説の集合であれば、Massartの有限仮説の補題を用いることによって、Hoeffdingの不等式で得た結果と同じ結果が得られるとわかった。Massartの有限仮説の補題自体は非常に有益な補題。

経験損失と期待損失の解析

今まででは、1−δ1 - \delta以上の確率で

L(h^)−L(h∗)≤4Rn(H)+2(b−a)log⁡(2/δ)2nL(\hat{h}) - L(h^*) \leq 4 R_n(\mathcal{H}) + 2(b-a) \sqrt{\frac{\log (2 / \delta)}{2n}}

で成り立つという結果がわかった(McDirmidの不等式など)。これは理想のLLについて、経験的に決めたh^\hat{h}と理想の仮説h∗h^*の差であった。しかし、経験的に決めた仮説の、経験的な損失Ln(h^)L_n(\hat{h})とL(h^)L(\hat{h})との差も重要である。

1−δ1 - \delta以上の確率で、以下の式が成り立つ。

L(h^)−L^n(h^)≤2Rn(L)+(b−a)log⁡(1/δ)2nL(\hat{h}) - \hat{L}_n(\hat{h}) \leq 2 R_n(\mathcal{L}) + (b - a) \sqrt{\frac{\log (1 / \delta)}{2n}}

証明

L(h^)−L^n(h^)≤sup⁡h∈H{L(h)−L^n(h)}L(\hat{h}) - \hat{L}_n(\hat{h}) \leq \sup _{h \in \mathcal{H}} \{ L(h) - \hat{L}_n(h) \}

まず、📄Arrow icon of a page link(講義ノート)統計的機械学習第3,4回 でのMcDiarmidの不等式+Rademacher複雑度で、L(h)−L^n(h)L(h) - \hat{L}_n(h)は上限で評価すると、1−δ1 - \delta以上の確率で以下が成立していた。(これの符号を逆転させたものの上限と両方していった 第3,4回のノートでは1−δ/21 - \delta / 2以上の確率としていたので、log(2/δ)log (2 / \delta)となっていた)

G^n=sup⁡h∈HL(h^)−L^n(h^)G^n≤E[G^n]+(b−a)log⁡1/δ2n\hat{G}_n = \sup_{h \in \mathcal{H}} L(\hat{h}) - \hat{L}_n(\hat{h}) \\ \hat{G}_n \leq \mathbb{E}[\hat{G}_n] + (b - a)\sqrt{\frac{\log 1 / \delta}{2n}}

よって、これで右辺を抑えることができるので示せた。

経験Rademacher複雑度

Image in a image block

今までは損失関数のクラス、仮説のクラスについてのRademacher複雑度について論じてきたが、データは理想的な分布からえるという仮定だった。

これを経験的なデータから計算する、ということはもちろんできる。以下のように期待値はデータ分布ではなくなり、Rademacher変数のみの期待値となる。

RSn(F)=Eσ[sup⁡f∈F1n∑i=1nσif(Zi)]R_{S_n}(\mathcal{F}) = \mathbb{E} _\sigma [\sup _{f \in \mathcal{F}} \frac{1}{n} \sum_{i=1}^n \sigma_i f(Z_i)]

この経験Rademacher複雑度について、以下の式が成り立つ。2つのデータ集合Sn,Sn′S_n, S ^ \prime _nがあり、1つだけデータZj→Zj′Z_j \to Z_j ^ \primeと変わっていて違うとする。仮説集合はF:f:Z→[a,b]\mathcal{F} : f : \mathcal{Z} \to [a,b]である。

∣R^Sn(F)−R^Sn′(F)∣≤b−an|\hat{R}_{S_n} (\mathcal{F}) - \hat{R}_{S _n ^ \prime}(\mathcal{F})| \leq \frac{b - a}{n}

つまり、データが違くとも、仮説に対するRademacher複雑度は1つ変えるだけなら- 高々(b−a)/n(b - a) / nしかずれない。

証明

一般的に以下が成り立つ。別々にsupとったものの差より、一緒に動かしたsupのほうが大きい。

Image in a image block

Rademacher複雑度を展開すると、以下のようになる。上の式を利用してだいぶ打ち消すことができ、最終的にはffの取りうる値の最大の差で抑えることができる。

R^Sn(F)−R^Sn′(F)=E[sup⁡f∈F1n∑i=1nσif(Zi)]−E[sup⁡f∈F1n∑i≠jσif(Zi)+σjf(Zj′)]≤E[sup⁡f∈F1n(σif(Zj)−σf(Zj′))]≤b−an\hat{R}_{S_n} (\mathcal{F}) - \hat{R}_{S _n ^ \prime}(\mathcal{F}) = \mathbb{E} [\sup _{f \in \mathcal{F}} \frac{1}{n} \sum_{i=1}^n \sigma_i f(Z_i)] - \mathbb{E} [\sup _{f \in \mathcal{F}} \frac{1}{n} \sum_{i \neq j} \sigma_i f(Z_i) + \sigma_j f(Z_j ^ \prime)] \\ \leq \mathbb{E}[\sup _{f \in \mathcal{F}} \frac{1}{n} (\sigma_i f(Z_j) - \sigma f(Z_j ^ \prime))] \leq \frac{b - a}{n}

これによって、経験Rademacher複雑度のズレを評価できたので、McDiarmidの不等式を使っていく。

1−δ1 - \delta以上の確率で、以下が成り立つ。

∣Rn(F)−ESn[R^Sn]∣≤(b−a)log⁡(2/δ)2n| R_n(\mathcal{F}) - \mathbb{E}_{S_n} [\hat{R}_{S_n}] | \leq (b - a) \sqrt{\frac{\log (2 / \delta)}{2n}}

つまり、経験Rademacher複雑度は理想と比べてのズレを評価することができた。今までは理想的データ分布に基づくズレについて議論してきたので、これらを統合できるようになる。

なお、理想的なデータ分布を用いたRademacher複雑度の評価をしたのは、McDiarmidの不等式を用いて示せた以下の式である。1−δ1 - \delta以上の確率で成り立つ。

L(h^)−L(h∗)≤4Rn(L)+(b−a)2log⁡2/δnL(\hat{h}) - L(h^*) \leq 4 R_n(\mathcal{L}) + (b-a) \sqrt{\frac{2 \log 2 / \delta}{n}}

損失関数の集合と仮説集合の関係

Rademacher複雑度のルールから、損失関数集合と仮説集合の関係性がわからないと、Rademacher複雑度の評価は損失関数の集合の評価で終わってしまう。

ここで、有名な各モデルについての分析していきたい。

そこで、重要なLedoux Talagrandの補題というのについて説明する。

Ledoux Talagrandの補題

界隈でよく言われる、Talagrandの補題である。

ϕ:R→R\phi : \mathbb{R} \to \mathbb{R}を、リプシッツ連続な関数でリプシッツ定数がLϕL_\phiであるとする。つまり、

∣ϕ(x)−ϕ(y)∣≤Lϕ∣x−y∣|\phi(x) - \phi(y)| \leq L_{\phi}|x - y|

そして、F⊂Rn\mathcal{F} \subset \mathbb{R}^nであるとき、以下が成り立つ。

E[sup⁡f∈F1n∑i=1nσiϕ(fi)]≤LϕE[sup⁡f∈F1n∑i=1nσifi]\mathbb{E}[\sup _{f \in \mathcal{F}} \frac{1}{n} \sum _{i=1}^n \sigma_i \phi(f_i)] \leq L _\phi \mathbb{E}[\sup_{f \in \mathcal{F}} \frac{1}{n} \sum_{i=1}^n \sigma_i f_i]

つまり、傾きの上界を抑えられる関数の場合、その傾きの上界=リプシッツ定数LϕL_\phiとすることで、外に出すことで抑えることができる。

証明

以下のことをi=1,2,⋯i=1, 2, \cdotsと繰り返せばよい。

Image in a image block

まず1つだけ出してから、Rademacher変数は12(+1)⋅A+12(−1)⋅B\frac{1}{2} (+1) \cdot A + \frac{1}{2} (-1) \cdot Bと分解できることを利用する。このように出すことができるが、別々のsupに分解していることについては、=ではなく≤\leqでは??

Image in a image block

そしてくくりだした部分について、仮定を用いることができ、最後にf,f′f, f ^ \primeは対称性を持っているのでsupをどうせとっているので、絶対値を外すこともできる。これをずっと繰り返していくことで、Talagrandの補題を証明することができる。

L2正則化線形モデルの仮説空間

入力x\mathbf{x}に対して、ラベルy=+1.−1y=+1. -1とすると、損失関数に入れるのはだいたいx\mathbf{x}と予測した結果。∣∣x∣∣22=C22||\mathbf{x} ||_2^2 = C_2^2という二次ノルムの上界で抑えられるとする。

そして、仮説はh(x)=wTxh(\mathbf{x}) = \mathbf{w} ^ T \mathbf{x}であるとする。この時、重みのノルムの上界は∣∣w∣∣22≤B2||\mathbf{w}||_2^2 \leq B_2だと、同様に二次ノルムで抑えられるとする。この制限は実質的にはL2正則化項を損失関数に加えることに相当する。つまり、ここで仮説空間は線形モデルであるうえ、重みのL2ノルムに上界を設けたものである。

、Rademacher複雑度は以下のように抑えられる。

Rn(H2)≤B2C2nR_n(\mathcal{H}_2) \leq \frac{B_2 C_2}{\sqrt{n}}

証明

Image in a image block

愚直に展開したあと、内積の形であるので、σi\sigma_iをデータxix_iにまとめて、そこからコーシー・シュワルツの不等式を用いることで∣∣w∣∣2||\mathbf{w}||_2と∣∣∑i=1nσixi∣∣2||\sum_{i=1}^n \sigma_i x_i||_2に分割できる。これでうまくw\mathbf{w}を出す形になった。目標はsupsupよりも外に出して、すでに分かっている制約∣∣w∣∣22≤B2||\mathbf{w}||_2^2 \leq B_2を適用させること。

次に、∣∣w∣∣2||\mathbf{w}||_2は、上界をとれば外にB2B_2として出すことができる。中に残った部分に関してはまた評価を進める。

中にあるのは一次の形なので、2乗の和のルートということになる。ここでほしいのは、Rademacher変数の線形和についての期待値(ルートは評価するうえで邪魔なので出したい)

ここで、ルートは上に凸の関数なので、Jensenの不等式を用いることでうまく出すことができるのだ。

Image in a image block

期待値の中は単純に2乗であるが、Rademacher変数入りのものを二乗するときは、Rademacher変数がそれぞれ独立になることに留意。つまり、σi,σj\sigma_i, \sigma_jについての期待値になるということ。

そして、E[σiσj]=0,i≠j\mathbb{E}[\sigma_i \sigma_j] = 0, i \neq jが成り立つ。i=ji=jならば1となる。これを利用すると、2乗の項しか残らないし、しっかり∣∣x∣∣22≤C22||\mathbf{x}||_2^2 \leq C_2^2を利用することができ、評価することができた。

これによって、重みについてL1ノルムについての評価なので、L1正則化?

L1正則化線形モデルの仮説空間

データx\mathbf{x}について、最大の成分が有界である。つまり、∣∣x∣∣∞≤C∞||\mathbf{x}||_{\infty} \leq C_{\infty}となる

同様に、h(x)=wTxh(\mathbf{x}) = \mathbf{w} ^ T\mathbf{x}を使うとする。

重みについて、L1ノルムが上界であるとき、∣∣w∣∣1≤B1||\mathbf{w}||_1 \leq B_1である。

この時、Rademacher複雑度は、以下のように抑えられる。

Rn(H1)≤B1C∞2log⁡dnR_n(\mathcal{H}_1) \leq B_1 C_{\infty} \sqrt{\frac{2 \log d}{n}}

L∞L_\inftyノルムにはL1L_1ノルムを使っているのか

なお、なぜL∞L_\inftyノルムを使うのかというと双対ノルムだから、以下のように双対ノルム∣∣⋅∣∣∗|| \cdot ||_*は定義されている。対象のベクトルに対して、今のノルムで1以下のベクトルとの内積の最大値である。

∣∣x∣∣∗=sup⁡∣∣y∣∣≤1<x,y>|| \mathbf{x} ||_* = \sup _{||\mathbf{y}|| \leq 1} <\mathbf{x}, \mathbf{y}>

ここで、x\mathbf{x}がL∞L_\inftyノルムで制約されている(最大の成分が有界)とき、sup⁡\supを満たすのは同じ向きを向いているL∞L_\inftyノルムが1以下(最大成分が1)のベクトルであり、これは(1,1,⋯ )(1,1,\cdots)となる。よって、この内積を計算すると、実質すべてのx\mathbf{x}の成分を足し合わせるので、∣∣⋅∣∣∗|| \cdot ||_*はL1L_1ノルムである。

証明

📄Arrow icon of a page link(講義ノート)統計的機械学習第5回 でやったMassartの有限仮説の補題を使う(かたちがいかにもそれ)
A∈Rn\mathcal{A} \in \mathbb{R}^nの有限集合とする。

∃M≥0,sup⁡a∈A∑i=1nai2≤M2Eσ[sup⁡a∈A1n∑i=1nσiai]≤2M2log⁡∣A∣n\exist M \geq 0, \sup _{\mathbf{a} \in \mathcal{A}} \sum_{i=1}^n a_i ^ 2 \leq M ^ 2 \\ \mathbb{E}_{\sigma} [\sup _{ \mathbf{a} \in \mathcal{A}} \frac{1}{n} \sum_{i=1}^n \sigma_i a_i] \leq \frac{\sqrt{2 M^2 \log |\mathcal{A}|}}{n}
Image in a image block

Racdemacher複雑度のsup⁡\supとして、線形モデルかつ重みベクトルがL1ノルムで制限されているという仮説集合を考えている。

Holderの不等式を使う。L2ノルムの場合ここでコーシー・シュワルツの不等式を使っていた。Holderの不等式では以下のようになっていた。

任意の数列{ai},{bi}\{ a_i \}, \{ b_i \}について、p>1,1/p+1/q=1p > 1, 1 / p + 1 / q = 1を満たすqqについて以下が成り立つ。等号成立条件はp=q=2p=q=2であり、通常の我々が見る内積でのコーシー・シュワルツの不等式にあたる。

∑i=1n∣aibi∣≤(∑i=1n∣ai∣p)1/p(∑i=1n∣bi∣q)1/q\sum_{i=1}^n |a_i b_i| \leq (\sum_{i=1}^n |a_i|^p) ^ {1/p} (\sum_{i=1}^n |b_i|^q)^{1/q}

つまり、LpL_pノルムとLqL_qノルムの積は普通の内積以上ということ。

そして、これを満たすp,qp, qはお互いに双対ノルムの関係にある。

実際に、p=1,q=∞p=1, q = \inftyでも成り立つ。

このHolderの不等式について、二行目は内積なのでw\mathbf{w}についてのL1L_1ノルムと、σixi\sigma _i x_iについてのL∞L_\inftyノルムについて分けられて、その積以下と抑えることができる。

そして、w\mathbf{w}のL1L_1ノルムのほうについて明らかに最大値がB1B_1であることから、出すことができてて期待値の中でL∞L_\inftyノルムが残る。

さて、L∞L_\inftyについては最大の成分を取り出すので、sup⁡\supで一番最大の値をとるj∈{1,⋯ ,d}j \in \{1, \cdots, d\}を考える。そして、その中のΣではRademacher変数を掛け合わせているので、ちょうどMassartの有限仮説の補題を使える形である(仮定により、各成分xix_iは有界)。

よって、使うことによって(示した形の左辺の1/n1/nは右辺に移すせばn\sqrt{n}になる)

2M2log⁡∣A∣n=2C∞2nlog⁡2d\frac{\sqrt{2 M^2 \log |\mathcal{A}|}}{n} = \sqrt{2 C_\infty^2 n \log 2d }

∣A∣=2d|\mathcal{A}|=2dとなっていて、これはxix_iは実質最大を取ると考えるなら、dd次元なら各成分+B1,−B1+B_1, -B_1と2つあるので、2d2d個の有限集合である。

L1正則化とL2正則化の違い

Image in a image block

L2正則化はデータも、係数も2乗ノルムで制限されている。L1正則化はデータは成分の最大値が、係数は1乗ノルムが制限されている。

実をいうと上の式もddを持っている。同じデータに対して、∣∣x∣∣∞≤C∞||\mathbf{x}||_\infty \leq C_\inftyと抑えられるとき、データのL2ノルムは∣∣x∣∣2=C2=dC∞||\mathbf{x}||_2 = C_2 = \sqrt{d} C_\inftyとなる(各成分が最大値をとってdd個足し合わせる感じ)

このように、C2C_2はd\sqrt{d}を含んでいる、というわけである。

L1正則化の問題点

L1正則化はsparse化することができる。📄Arrow icon of a page linkNNDL 第7章 Networkの最適化と正則化

説明変数のほうがデータ数よりも多い(over parameterized)の時は、実質どれを選ぶかを決定できず、選ばれたor選ばれなかった特徴量に解釈性があるわけではない。

また、相関が高い説明変数の集合があるとき、そこから1つしか変数しか選ばれない(良くも悪くも)

確かに選んだものの説明はできるが、選んだものが本当に最重要かはわからない。あくまで仮説の生成。