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.

(講義ノート)乱択アルゴリズム第3回

チェルノフ上界

参考: https://ludu-vorton.hatenablog.com/entry/2019/06/06/073000#チェルノフ上界Chernoff-bounds

モーメント母関数によって、定義されている。

モーメント母関数

確率変数ZZについて、MZ(λ)=E[eλZ]M_Z(\lambda) = \mathbb{E}[e^{\lambda Z}]であること。λ\lambdaで1階微分すると期待値、2階微分すると分散が得られる。ここではλ\lambdaだが、よくttともかかれる。

通常のチェルノフ上界

Pr[ZE[Z]+t]minλ0MZE[Z](λ)eλtPr[ZE[Z]t]minλ0ME[Z]Z(λ)eλtPr[Z \geq \mathbb{E}[Z] + t] \leq \min_{\lambda \geq 0} M_{Z-\mathbb{E}[Z]}(\lambda) e^{-\lambda t} \\ Pr[Z \leq \mathbb{E}[Z] - t] \leq \min_{\lambda \geq 0} M_{\mathbb{E}[Z]-Z}(\lambda) e^{-\lambda t}

ここで、MZE[Z]M_{Z - \mathbb{E}[Z]}とは、モーメント母関数の確率変数がZZではなく代わりにZE[Z]Z-\mathbb{E}[Z]であるということであり、E[eλ(ZE[Z])]\mathbb{E}[e ^ {\lambda(Z - \mathbb{E}[Z])}]である。

証明

λ0\exist \lambda \geq 0を取る。すると、指数関数は単調増加なので、同様にZE[Z]+texp(λZ)exp(λ(E[Z]+t))Z \geq \mathbb{E}[Z] + t \Leftrightarrow \exp(\lambda Z) \leq \exp(\lambda (\mathbb{E}[Z] + t))が成り立つ。

次に両辺を、exp(λE[Z])\exp(\lambda \mathbb{E}[Z])で割ると、これ自体は正なので不等号の向きが変わらず以下のようになる。

ZE[Z]+texp(λZλE[Z])exp(λt)Pr[ZE[Z]+t]Pr[exp(λZλE[Z])exp(λt)]Pr[exp(λ(ZE[Z]))exp(λt)]E[λ(ZE[Z])]eλtZ \geq \mathbb{E}[Z] + t \Leftrightarrow \exp(\lambda Z - \lambda \mathbb{E}[Z]) \geq \exp(\lambda t) \\ Pr[Z \geq \mathbb{E}[Z] + t] \Leftrightarrow Pr[\exp(\lambda Z - \lambda \mathbb{E}[Z]) \geq \exp(\lambda t)] \\ Pr[\exp(\lambda(Z - \mathbb{E}[Z])) \geq \exp(\lambda t)] \leq \mathbb{E}[\lambda(Z - \mathbb{E}[Z])]e^{-\lambda t}

最後、マルコフの不等式を使った。ここでは、Pr[Zt]E[Z]tPr[Z \geq t] \leq \frac{\mathbb{E}[Z]}{t}である。

具体的な値を代入した例

Xi[0,1]X_i \in [0, 1]で互いに独立であり、X=i=1nXiX = \sum_{i=1}^n X_iである。この時、以下が成り立つ。

ϵ>0,Pr[X(1+ϵ)E[X]]exp(ϵ23E[X])Pr[X(1ϵ)E[X]]exp(ϵ22E[X])\forall \epsilon > 0, Pr[X \geq (1 + \epsilon)\mathbb{E}[X]] \leq \exp(-\frac{\epsilon^2}{3} \mathbb{E}[X]) \\ Pr[X \geq (1 - \epsilon)\mathbb{E}[X]] \leq \exp(-\frac{\epsilon^2}{2} \mathbb{E}[X])

Pr[ZE[Z]+t]minλ0Pr[Z \geq \mathbb{E}[Z] + t] \leq \min_{\lambda \geq 0}

ここで、ZZは確率変数であり、mZ(s)m_Z(s)はモーメント母関数。

直感的確認

XiX_iがベルヌーイ分布、XXがガウシアンと仮定する。

チェルノフ上界を用いた経験中央値の評価

R\mathbb{R}上の分布DDについて、F:R[0,1]F: \mathbb{R} \to [0,1]DDの累積分布関数だとする。そこで、F(a)=1/2F(a)=1/2となる中央値aaを知りたい。

定理

ϵ,δ>0\forall \epsilon, \delta > 0であり、s=O(log(1/δ)ϵ2)s = O(\frac{\log (1/\delta)}{\epsilon^2})個のサンプルが得られるとする。この時、サンプルからの経験的な中央値は、少なくとも1δ1 - \delta以上の確率で[F1(1/2ϵ),F1(1/2+ϵ)][F^{-1}(1/2 - \epsilon), F^{-1}(1/2 + \epsilon)]が成り立つ。

気持ちとして、累積分布関数の値域で、1/2±ϵ1/2 \pm \epsilonとなる確率を評価している感じ。

証明

XiX_iという確率変数を、ii番目のサンプルがF1(1/2ϵ)F^{-1}(1/2 - \epsilon)より小さいならば1、それ以外ならば0とする。X=XiX=\sum X_iとする。

この時、E[Xi]=1/2ϵ\mathbb{E}[X_i] = 1/2 - \epsilonとなる(それはそう)。これがサンプルss個あるとなっているので、全体では、E[X]=(1/2ϵ)=(1/2ϵ)s\mathbb{E}[X] = \sum (1/2 - \epsilon) = (1/2-\epsilon)sである。

ここで、チェルノフ上界を用いて、1/2ϵ1/2-\epsilonより小さい値=理想的な中央値から外れるサンプルの数の上界を抑える。

Pr[X(1+ϵ)E[X]]exp(ϵ2E[X]3)δ2Pr[X \geq (1 + \epsilon) \mathbb{E}[X]] \leq \exp( -\frac{\epsilon^2 \mathbb{E}[X]}{3}) \leq \frac{\delta}{2}

そして、(1+ϵ)E[X]=(1+ϵ)(1/2ϵ)s/2(1 + \epsilon)\mathbb{E}[X] = (1 + \epsilon)(1/2-\epsilon) \leq s/2であるから、上のチェルノフ上界での評価は以下のようになる。

Pr[Xs2]δ2Pr[X<s2]1δ2Pr[X \geq \frac{s}{2}] \leq \frac{\delta}{2} \Rightarrow Pr[X < \frac{s}{2}] \geq 1 - \frac{\delta}{2}

これはまさに経験中央値が越える確率を抑えるというもので、同様に及ばないのもδ2\frac{\delta}{2}未満であるので、これで示せた。

チェルノフ上界を用いたBoosting

Boostingという、成功確率が1/2+ϵ1/2 + \epsilonとなるアルゴリズムを、1δ1 - \delta以上の確率で成功するまで上げていく運用法がある。

ある確率変数XX2/32/3以上の確率で、XIX \in Iを満たすとする。

この時、XXO(log(1/δ))O(\log(1 / \delta))回サンプリングしたときの経験中央値は1δ1-\delta以上の確率でIIに含まれる。

乱択クイックソートの解析

まず、k>1\forall k>1について、乱択クイックソートの比較回数は32knlogn32 k n\log n回以下である確率は、11nk11-\frac{1}{n^{k-1}}以上である。つまり、kk回アルゴリズムを走らせたら、すごい速度でソートが失敗する確率が下がっていく。

証明

XiX_iを、A[i]の深さを示す確率変数だとする。クイックソートでいう比較回数は深さに依存している。pivotに選ばれるのが遅いとどんどん深さが増えていくし、深さがその値が他のpivotとの比較された回数である。

よって、この時比較回数はi=1nXi\sum_{i=1}^n X_iである。

再帰呼び出しを考える。pivotはt[0,Aj)t \in [0, |A_j|)から一様に選んでいる。

「バランスが取れている」をpivotがAをソートした後に、真ん中の1/3に入っている13Ajt23Aj\frac{1}{3}|A_j| \leq t \leq \frac{2}{3} |A_j|であるということ。これの確率は1/31/3以上である。

バランスしていると、次の再帰を考えるとき、真ん中の1/31/3に入っているので、どう悪くても文カチした両方のうち大きい方でも2/3以下なので、Aj+123Aj|A_{j+1}| \leq \frac{2}{3} |A_j|である。

次に、YiY_iAjA_jにおいて「バランスが取れている」なら1、それ以外なら0とする。

E[Yi]1/3\mathbb{E}[Y_i] \geq 1/3で、YiY_iはそれぞれ独立である。

d=32klogn,Y=j=1dYjd=32 k \log n, Y = \sum_{j=1}^d Y_jとして、E[y]d/3\mathbb{E}[y] \geq d/3である。