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(ba)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}と理想の仮説hh^*の差であった。しかし、経験的に決めた仮説の、経験的な損失Ln(h^)L_n(\hat{h})L(h^)L(\hat{h})との差も重要である

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

L(h^)L^n(h^)2Rn(L)+(ba)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^)suphH{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=suphHL(h^)L^n(h^)G^nE[G^n]+(ba)log1/δ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σ[supfF1ni=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,SnS_n, S ^ \prime _nがあり、1つだけデータZjZjZ_j \to Z_j ^ \primeと変わっていて違うとする。仮説集合はF:f:Z[a,b]\mathcal{F} : f : \mathcal{Z} \to [a,b]である。

R^Sn(F)R^Sn(F)ban|\hat{R}_{S_n} (\mathcal{F}) - \hat{R}_{S _n ^ \prime}(\mathcal{F})| \leq \frac{b - a}{n}

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

証明

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

Image in a image block

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

R^Sn(F)R^Sn(F)=E[supfF1ni=1nσif(Zi)]E[supfF1nijσif(Zi)+σjf(Zj)]E[supfF1n(σif(Zj)σf(Zj))]ban\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](ba)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)+(ba)2log2/δ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の補題である。

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

ϕ(x)ϕ(y)Lϕxy|\phi(x) - \phi(y)| \leq L_{\phi}|x - y|

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

E[supfF1ni=1nσiϕ(fi)]LϕE[supfF1ni=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,ff, f ^ \primeは対称性を持っているのでsupをどうせとっているので、絶対値を外すこともできる。これをずっと繰り返していくことで、Talagrandの補題を証明することができる。

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

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

そして、仮説はh(x)=wTxh(\mathbf{x}) = \mathbf{w} ^ T \mathbf{x}であるとする。この時、重みのノルムの上界はw22B2||\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にまとめて、そこからコーシー・シュワルツの不等式を用いることでw2||\mathbf{w}||_2i=1nσixi2||\sum_{i=1}^n \sigma_i x_i||_2に分割できる。これでうまくw\mathbf{w}を出す形になった。目標はsupsupよりも外に出して、すでに分かっている制約w22B2||\mathbf{w}||_2^2 \leq B_2を適用させること。

次に、w2||\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,ij\mathbb{E}[\sigma_i \sigma_j] = 0, i \neq jが成り立つ。i=ji=jならば1となる。これを利用すると、2乗の項しか残らないし、しっかりx22C22||\mathbf{x}||_2^2 \leq C_2^2を利用することができ、評価することができた。

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

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

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

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

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

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

Rn(H1)B1C2logdnR_n(\mathcal{H}_1) \leq B_1 C_{\infty} \sqrt{\frac{2 \log d}{n}}

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

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

x=supy1<x,y>|| \mathbf{x} ||_* = \sup _{||\mathbf{y}|| \leq 1} <\mathbf{x}, \mathbf{y}>

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

証明

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

M0,supaAi=1nai2M2Eσ[supaA1ni=1nσiai]2M2logAn\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=1naibi(i=1naip)1/p(i=1nbiq)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についてのLL_\inftyノルムについて分けられて、その積以下と抑えることができる

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

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

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

2M2logAn=2C2nlog2d\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を持っている。同じデータに対して、xC||\mathbf{x}||_\infty \leq C_\inftyと抑えられるとき、データのL2ノルムはx2=C2=dC||\mathbf{x}||_2 = C_2 = \sqrt{d} C_\inftyとなる(各成分が最大値をとってdd個足し合わせる感じ)

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

L1正則化の問題点

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

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

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

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