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.

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

前回はこちら。📄Arrow icon of a page link(講義ノート)統計的機械学習第7回 。内容は以下の通り。

多クラス分類

2クラス分類の問題問題設定(復習)

2クラスの定義は以下のようになっている。

Image in a image block

そして、二値分類で、ヒンジ損失l((x,y),h)=max(0,1yf(x))l((\mathbf{x}, y), h) = \max(0, 1 - y f(\mathbf{x}))を使ったとき、リプシッツ定数は1であることから、損失関数のクラスのRademacher複雑度は以下のようになった。

Rn(L)Rn(F)R_n(\mathcal{L}) \leq R_n(\mathcal{F})

多クラス分類の問題設定

Image in a image block

📄Arrow icon of a page linkNNDL 第3章 線形学習 ここでも書いてある通り、出力はKKクラスなので、{1,.K}\{1, \cdots. K \}とする。関数ffではクラスyyにあたる重みベクトルwy\mathbf{w}_yを持ってきて、内積を得る。そして、仮説関数はすべてのクラスの間で計算した内積で最大の値をとる。

つまり、重みベクトルをすべてまとめるとm、Wd×KW \in d \times Kとなる。入力の次元はxRd\mathbf{x} \in \mathbb{R}^dである。

多クラス分類のマージンは以下のように定義する。当該クラス以外のクラスの中で最も高いスコアを引く。これが正ならば当該クラスが判定結果であり、正ではないならば当該クラスではない。

Image in a image block

そして、以下のように、ラベルが合わないというのは上の指示関数が成り立つ。

Image in a image block

マージンが正ならば、正解を分類できて、負ならば誤った分類をしたということになる。これについて、マージンに対しての損失ϕρ\phi_\rhoを考えることができ、以下のように経験的なマージン損失を計算もできる。

m(f;x,y)=f(x,y)maxyyf(x,y)R^S,p(h)=1mi=1mΦρ(m(f;xi,yi))m(f;\mathbf{x}, y) = f(\mathbf{x}, y) - \max_{y^\prime \neq y} f(\mathbf{x}, y^\prime) \\ \hat{R}_{S,p} (h) = \frac{1}{m} \sum_{i=1}^m \Phi_\rho (m(f; \mathbf{x}_i, y_i))

これらについて、ϕρ\phi_\rho損失は以下のように抑えられる。傾きがρ\rhoのRamp損失を階段関数で抑えている感じ。

Image in a image block

証明の準備

そして、マージンの集合を以下のように定義する。ある識別器ffについて、サンプルxi\mathbf{x}_iとラベルyyの差=マージンを得るような関数の集合。

M={(x,y)m(f;x,y)fF}\mathcal{M} = \{ (\mathbf{x}, y) \to m(f; \mathbf{x}, y) | f \in \mathcal{F} \}

また、次の関数の集合を定義する。通常のf:X×YRf : \mathcal{X} \times \mathcal{Y} \to \mathbb{R}だけではなく、任意の指定のクラスyy^\primeについてのスコアを得ることができるので、F\mathcal{F} ^ \primew1,,wKRd\mathbf{w}_1, \cdots, \mathbf{w}_K \in \mathbb{R}^dの集合であると考えられる(与えられた正解ラベルyyのみならず、任意のyy ^ \primeについてスコアを計算するにはこういう技巧が必要)。

F={xf(x,y)fF,yY}\mathcal{F} ^ \prime = \{ \mathbf{x} \to f(\mathbf{x}, y^\prime) | f \in \mathcal{F}, y ^ \prime \in \mathcal{Y}\}

次にRademacher複雑度関連の準備をする。まず、以下のことが成り立つ。

Image in a image block
  • 上のものは、x,y\mathbf{x}, yを受け取ったらg(x,y)g(\mathbf{x}, y)が返ってくるだけなので、識別器の仮説空間そのものである。
  • 下のものは、クラスyyを固定して、x\mathbf{x}だけを入力として受け取る。

つまり、すべてのクラスについて出力しうる仮説空間のRademacher複雑度は、特定のクラスに限ったスコアを出力する仮説の集合のRademacher複雑度をすべてのクラスについて足したもの以下である

具体的な証明はここにある。
Image in a image block

Rademacher複雑度関連の式変形では、とにかくiσiA\sum_i \sigma_i Aの形を作り、しかもAAがベルヌーイ分布に従うRademacher変数を与えられたとき、それに反応して半々の確率で正解なら1不正解なら-1の値をとるのが大事。

そして、ここでは識別器については指示関数で賢い変形をしている。

Image in a image block

そして、先ほど作り出した1/21/2を加算、減算した部分は1/21/2の加算だけくくりだして、減算した部分は21[y=yi]12 \mathbf{1}[y = y_i] - 1になって、2クラス分類と同じように正解、不正解を+1, -1と値をとるようにすることができる。つまり、実は2つは同じものなので、最後に足し合わせたら、所要の形が出てきて示せる。

証明の準備2

次のように、G1,G2,\mathcal{G}_1, \mathcal{G}_2, \cdotsがあるとする。この時、以下のようなことが成り立つ。G\mathcal{G}は以下のように定義される。

Image in a image block
Rn(G)i=1KRn(Gi)R_n(\mathcal{G}) \leq \sum_{i=1}^K R_n(\mathcal{G}_i)

一般的に、以下のようにmaxを書き換えられる。

max(g1,g2)=g1+g22+g1g22\max(g_1, g_2) = \frac{g_1 + g_2}{2} + \frac{|g_1 - g_2|}{2}

これを使うと、絶対値関数が1-リプシッツ連続であることから、以下のようになる。

Image in a image block

絶対値とRademacher複雑度は相性がよく、Rademacher変数を乗じると符号にかかわらずランダム化される。そして、g1,g2g_1, g_2の総和に対してsupをとると考えると、最大値をとるので符号がどちらも和なのが一番大きい。

これを再帰的に適用すれば、nn個までの和まででも成り立つといえる。

多値マージンのRademacher複雑度の証明

Image in a image block

m(f;x,y)=f(x,y)maxyyf(x,y)m(f;x,y) = f(x, y) - \max_{y \neq y^\prime} f(x,y^\prime)。該当クラス以外で最も確率が高いクラスとの差である。これを、以下のようにありうる仮説F\mathcal{F}すべてに対して、ありうるデータからマージンを得る関数すべての集合

M={(x,y)m(f;x,y)fF}\mathcal{M} = \{ (x,y) \to m(f;x, y) | f \in \mathcal{F} \}

次に、二値分類を多値分類に広げるため、以下のような仮説クラスを導く。これは二値分類から多値分類にただ広げているだけである。

F={xf(x,y)fF,yY}\mathcal{F}^\prime = \{ x \to f(x, y^\prime) | f \in \mathcal{F}, y^\prime \in \mathcal{Y} \}

この時、以下の式が成り立つ。実はこの上界はあまり良いものではないが・・・。

Rn(ϕρM)=1ρRn(M)Y2ρRn(F)R_n(\phi _\rho \circ \mathcal{M}) = \frac{1}{\rho} R_n(\mathcal{M}) \leq \frac{|\mathcal{Y}|^2}{\rho} R_n(\mathcal{F} ^ \prime)

ここから証明を始める。

Image in a image block

まず、M\mathcal{M}を各クラスごとのyyの経験Rademacherの和で上から押さえられる。

そして、mmはマージンの関数なので、これを展開するとsupmMy\sup_{m \in \mathcal{M}_y}からsupfF\sup _{f \in \mathcal{F}}にすることができる。

そして、f(xi,y)f(x_i, y)の部分だけを単独でsup\supつけることで、それ自体がRademacher複雑度であるゆえに出すことができる。そして残った第二項について、以下の準備その2を使う。

Image in a image block
Rn(G)i=1KRn(Gi)R_n(\mathcal{G}) \leq \sum_{i=1}^K R_n(\mathcal{G}_i)

これによって、max\maxはunion boundのように抑えることができ、yyy^\prime \neq yである全てのものに対しての総和となる。

Image in a image block

次に、総和を取られているFy\mathcal{F}_{y^\prime}についてだが、F\mathcal{F}^\primeの定義は以下のようになっているため部分集合となっている。

F={xf(x,y)fF,yY}\mathcal{F}^\prime = \{ x \to f(x, y^\prime) | f \in \mathcal{F}, y^\prime \in \mathcal{Y} \}

よって、Fy\mathcal{F}_{y^\prime}F\mathcal{F}^\primeに置き換えられる。

最後に、総和をY|\mathcal{Y}|で抑えていくことによって、確かにY2|\mathcal{Y}|^2となる。

二乗となっている理由として、Rn(F)R_n(\mathcal{F}^\prime)の和が二重の総和であった。これを改善する証明は以下の通り。

多クラス分類 上界改善版の証明

もともとの式は、1δ1-\delta以上の確率で以下の式が成り立っていた。

Rn(ϕρM)=1ρRn(M)Y2ρRn(F)R_n(\phi _\rho \circ \mathcal{M}) = \frac{1}{\rho} R_n(\mathcal{M}) \leq \frac{|\mathcal{Y}|^2}{\rho} R_n(\mathcal{F} ^ \prime)

これについて、改良版では1δ1-\delta以上の確率で以下の式が成り立つ。

Rn(ϕρM)4YρRn(F)+log(1/δ)2mR_n(\phi_\rho \circ \mathcal{M}) \leq \frac{4 |\mathcal{Y}|}{\rho} R_n(\mathcal{F}^\prime) + \sqrt{\frac{\log(1 / \delta)}{2m}}

クラス数の1乗の上界になっている。

証明

m(f;x,y)m(f;\mathbf{x}, y)から、新たなに以下のm(f;θ;x,y)m(f;\theta;\mathbf{x}, y)を、ある定数θ\thetaを用いて定義する。

m(f;θ;x,y)=miny(f(x,y)f(x,y)+θ1[y=y])m(f;\theta;\mathbf{x}, y) = \min_{y^\prime} (f(\mathbf{x}, y) - f(\mathbf{x}, y^\prime) + \theta \mathbf{1}[y^\prime = y])

通常の定義ではyyy^\prime \neq yという制約であったが、これを取り払う代わりに「一致していたときにはθ\thetaだけマージンに加算する」ということにする。これによって、選ばれたyy^\primeyyと等しいときは正解の時は固定でθ\thetaの値となり(今までは第二の候補との差であった)、それ以外の時は通常のm(f;x,y)m(f;\mathbf{x}, y)と同じようになる

これについて、m(f;θ;x,y)m(f;x,y)m(f;\theta;\mathbf{x}, y )\leq m(f;\mathbf{x}, y)が以下のように成り立つ。

m(f;θ;x,y)=miny{h(x,y)h(x,y)+θ1[y=y]}minyy{h(x,y)h(x,y)+θ1[y=y]}=minyy{h(x,y)h(x,y)}=m(f;x,y)m(f;\theta;\mathbf{x}, y ) = \min_{y^\prime} \{ h(\mathbf{x}, y) - h(\mathbf{x}, y^\prime) + \theta \mathbf{1}[y^\prime = y] \} \\ \leq \min_{y^\prime \neq y} \{ h(\mathbf{x}, y) - h(\mathbf{x}, y^\prime) + \theta \mathbf{1}[y^\prime = y] \} \\ = \min_{y^\prime \neq y} \{ h(\mathbf{x}, y) - h(\mathbf{x}, y^\prime) \} = m(f;\mathbf{x}, y)

この新たに定義したものを使って、損失関数Φρ()\Phi_\rho(\cdot)を経由した経験損失との誤差は、同じ識別器に対しての経験誤差の評価なので、以下の式が1δ1-\delta以上の確率で成り立つ。仮説集合から得られたffについての計算。

H~={(x,y)m(f;θ;x,y):fH}H~={Φρh:hH~}Φ^ρ(m(f;θ;x,y))E[Φρ(m(f;θ;x,y))]2Rn(H~)+log(1/δ)2m\mathcal{\tilde{H}} = \{ (\mathbf{x}, y) \to m(f;\theta;\mathbf{x}, y): f \in \mathcal{H} \} \\ \mathcal{\tilde{H}^\prime} = \{ \Phi_\rho \circ h: h \in \mathcal{\tilde{H}} \} \\ \hat{\Phi}_\rho(m(f;\theta;\mathbf{x}, y)) - \mathbb{E}[\Phi_\rho (m(f;\theta;\mathbf{x}, y))] \leq 2 R_n(\mathcal{\tilde{H}}^\prime) + \sqrt{\frac{\log (1/\delta)}{2m}}

次に、Φρ\Phi_\rhoについて01損失で挟めることから、以下の等式が成り立つ。m(f;x,y)m(f;θ;x,y)m(f;\mathbf{x}, y) \geq m(f;\theta;\mathbf{x}, y)であるので、0以下である確率は前者の方が小さくなる。

R(f)=E[1[m(f;x,y)0]]E[1[m(f;θ;x,y)0]]E[Φρ(m(f;θ;x,y))]R(f) = \mathbb{E}[\mathbf{1}[m(f;\mathbf{x}, y) \leq 0] ] \leq \mathbb{E}[\mathbf{1}[m(f;\theta;\mathbf{x}, y) \leq 0] ] \\ \leq \mathbb{E} [\Phi_\rho(m(f;\theta;\mathbf{x}, y) )]

これを使って、先ほどの集中不等式を書き直すと左辺を以下のようにすることができる。

Φ^ρ(m(f;θ;x,y))R(f)2Rn(H~)+log(1/δ)2m\hat{\Phi}_\rho(m(f;\theta;\mathbf{x}, y)) - R(f) \leq 2 R_n(\mathcal{\tilde{H}}) + \sqrt{\frac{\log (1/\delta)}{2m}}

そしてここで、。θ=2ρ\theta = 2\rhoであると固定してみる。この時、以下のようになる。yy^\primeが正解ではないときはm(f;x,y)m(f;\mathbf{x}, y)と等しく、正解であるときもΦρ\Phi_\rhoはランプ損失であるので、ρ\rhoより大きい値では常に0をとることから以下の式が成り立つ。

θ=ρ\theta=\rhoで固定しないのは、将来の式変形で21[]2 \mathbf{1}[\cdot]の形を作れるとやりやすいから…?

Φρ(m(f;2ρ;x,y))=Φρ(m(f;x,y))\Phi_\rho(m(f;2 \rho;\mathbf{x}, y)) = \Phi_\rho(m(f;\mathbf{x}, y))

(そのうえで、Talagrandの補題を使うことで、Φρ\Phi_\rho1/ρ1/\rhoリプシッツ連続であるので、Rn(H~)1ρRn(H~)R_n(\mathcal{\tilde{H}}^\prime) \leq \frac{1}{\rho} R_n(\mathcal{\tilde{H}})が成り立ち、これで集中不等式を以下のように変形できる。

Φ^ρ(m(f;θ;x,y))R(f)2ρRn(H~)+log(1/δ)2m\hat{\Phi}_\rho(m(f;\theta;\mathbf{x}, y)) - R(f) \leq \frac{2}{\rho} R_n(\mathcal{\tilde{H}}) + \sqrt{\frac{\log (1/\delta)}{2m}}

そして、Rn(H~)2YRn(F)R_n(\tilde{\mathcal{H}}) \leq 2|\mathcal{Y}| R_n(\mathcal{F}^\prime)が成り立てば、証明は終わることになる。

F={xf(x,y)fF,yY}\mathcal{F} ^ \prime = \{ \mathbf{x} \to f(\mathbf{x}, y^\prime) | f \in \mathcal{F}, y ^ \prime \in \mathcal{Y}\}

これについては、すでに示されているRn(G)yRn(Gy)R_n(\mathcal{G}) \leq \sum_{y} R_n(\mathcal{G}_y)の証明と似た証明で示すことができる。

補題の証明

Rn(H~)=1nES,σ[supfi=1nσi{f(xi,yi)maxyf(xi,y)2ρ1[y=yi]}]1nES,σ[supfi=1nσif(xi,yi)]+1nES,σ[supfi=1nσi{maxyf(xi,y)2ρ1[y=yi]}]R_n(\mathcal{\tilde{H}}) = \frac{1 }{n} \mathbb{E}_{S, \sigma}[ \sup_{f} \sum_{i=1}^n \sigma_i \{ f(\mathbf{x}_i, y_i) - \max_y f(\mathbf{x}_i, y) - 2 \rho \mathbf{1}[y = y_i]\} ] \\ \leq \frac{1 }{n} \mathbb{E}_{S, \sigma}[\sup_{f} \sum_{i=1}^n \sigma_i f(\mathbf{x}_i, y_i)] + \frac{1}{n} \mathbb{E}_{S, \sigma}[\sup_{f} \sum_{i=1}^n \sigma_i \{ \max_y f(\mathbf{x}_i, y) - 2 \rho \mathbf{1}[y = y_i] \}]

Rademacher複雑度の定義で展開して別々の項で考えることができる。

第一項はこの時、以下のようにY\mathcal{Y}についての和をわざわざ作り出してみる。

この目的は、xi,yi\mathbf{x}_i, y_iの連動を消すことで、xi\mathbf{x}_iだけの関数にすればそれのRademacher複雑度が得られるからである

すると、これは絶対値の外に出すことができる。

1nES,σ[supfi=1nσif(xi,yi)]=1nES,σ[supfi=1nyYσif(xi,y)1[y=yi]]1nyYES,σ[supfi=1nσif(xi,y)1[y=yi]]\frac{1 }{n} \mathbb{E}_{S, \sigma}[\sup_{f} \sum_{i=1}^n \sigma_i f(\mathbf{x}_i, y_i)] = \frac{1 }{n} \mathbb{E}_{S, \sigma}[\sup_{f} \sum_{i=1}^n \sum_{y \in \mathcal{Y}} \sigma_i f(\mathbf{x}_i, y) \mathbf{1}[y = y_i]] \\ \leq \frac{1 }{n} \sum_{y \in \mathcal{Y}} \mathbb{E}_{S, \sigma}[\sup_{f} \sum_{i=1}^n \sigma_i f(\mathbf{x}_i, y) \mathbf{1}[y = y_i]]

ラベルについての指示関数とRademacher変数の積は相性がよくϵi=21[y=yi]1\epsilon_i = 2\mathbf{1}[y=y_i] -1 とすれば、指示関数の0,10,1から1,1-1,1と値をとるようになる。これを使って代入すると、以下のような形になる。

1nyYES,σ[supfi=1nσif(xi,y)12(ϵi+1)]\frac{1 }{n} \sum_{y \in \mathcal{Y}} \mathbb{E}_{S, \sigma}[\sup_{f} \sum_{i=1}^n \sigma_i f(\mathbf{x}_i, y) \frac{1}{2}(\epsilon_i + 1)]

そして、Rademacher変数と乗じたσif(xi,y)ϵi,σif(xi,y)\sigma_i f(\mathbf{x}_i, y) \epsilon_i, \sigma_i f(\mathbf{x}_i, y) の両方は、ϵi\epsilon_i+1,1+1,-1のみをとるので(yiy_iと関係なく)、同じ分布であることがわかる。

よって、あとは外の総和を分解することで、第一項はYRn(F)|\mathcal{Y}| R_n(\mathcal{F}^\prime)で上から押さえられる。

第二項については、第一項でσif()\sigma_i f(\cdot)についてのRademacher複雑度を評価できたことから、すべてのyyの総和を計算すれば、同様にYRn(F)|\mathcal{Y}|R_n(\mathcal{F}^\prime)の上界を得られる。

第二項の残る2ρ1[y=yi]-2\rho \mathbf{1}[y=y_i]については、指示関数が0の時は関係がなく、y=yiy=y_iの時も1というk定数となるので、Rademacher変数を乗じたときの期待値は0となる。

このように、指示関数とRademacher変数は、

  1. f()f(\cdot)の予測結果に関係ない場合は定数なので、Rademacher変数を乗じても期待値を取れば0。
  2. f(x,y)f(\mathbf{x}, y)の予測結果と連動する場合、

よって、すべてを評価したとき、右辺は2YRn(F)2|\mathcal{Y}| R_n(\mathcal{F}^\prime)で抑えられて、当初の式を示せた。

当初の証明と何が違うか

この証明では、θ\thetaを導入したマージンm(f;θ;x,y)m(f;\theta;\mathbf{x}, y)を考えて、これを使ってm(f;x,y)m(f;\mathbf{x}, y)を期待値で上から抑えている。そして、以下のように代わりのマージンのRademacher複雑度を考える。

H~={(x,y)m(f;θ;x,y):fH}\mathcal{\tilde{H}} = \{ (\mathbf{x}, y) \to m(f;\theta;\mathbf{x}, y): f \in \mathcal{H} \}

これのRademacher複雑度では、同様に支持関数を作り出すことで一次のY|\mathcal{Y}|で評価できた。

当初の証明では、以下のように別のM\mathcal{M}で評価していた。

M={(x,y)m(f;x,y):fH}\mathcal{M} = \{ (\mathbf{x}, y) \to m(f;\mathbf{x}, y): f \in \mathcal{H} \}

これについては、以下の部分のmax\maxは総和となったので、Y2|\mathcal{Y}|^2のオーダーとなっていた。

Image in a image block

これについて、改善版では、いきなり全体に対してyY\sum_{y \in \mathcal{Y}}Rn(G)i=1nRn(Gy)R_n(\mathcal{G}) \leq \sum_{i=1}^n R_n(\mathcal{G}_y)から適用しておらず、第一項では適用させているが、第二項の部分ではmax\maxをそのまま総和に展開させている。これが、オーダーの上界を根本的に改善させている理由である。