前回は 📄
(講義ノート)乱択アルゴリズム第10回 です。
一様性の検査
前回やったこと。
分布pからサンプル可能の時、
- 高い確率でp=u=(1/n,⋯)であるときは受理
- 高い確率で∣∣p−u∣∣>ϵなら拒否
まず、補題として、p=u⇒∣∣p∣∣22=1/nが成り立つ。ってそれはそうである。
この時、∣∣p−u∣∣1>ϵ⇒∣∣p∣∣22>1/n+ϵ2/nが成り立つ。
衝突確率は∣∣p∣∣22=∑i∈[n]p(i)2である。
アルゴリズム
これを踏まえてアルゴリズムを考える。s回サンプリングして、衝突回数をkとする。
衝突回数の割合、つまりk/sC2を∣∣p∣∣22の推定値として使う。
もし、k/sC2−1/n≥ϵ2/nならば拒否する。そうでなければ受理をするというアルゴリズム。
アルゴリズムがなぜ正しいのか
今回の授業の内容。
E[X]=∣∣p∣∣22とする。目標は、以下が成り立つこと。ある定数Cがあるとき、サンプリングしたものが、δ以上ずれる確率はたかだか1/3であるという。
S=δ2Cn⇒Pr[X∈/(1±δ)E[X]]<31 証明
チェビシェフの不等式を使うと、以下が成り立つ。
Pr[X∈/(1±δ)E[X]]≤δ2(E[X])2V[X] ここで、V[X]=V[∑1≤a<b≤sXab]。総和の中のXabは、a番目とb番目のサンプルが一致するという意味。
V[X]=V[∑1≤a<b≤sXab]=E[(∑1≤a<b≤sXab)2]−E[∑1≤a<b≤sXab]2 分散の書き換えをまず行う。分散は独立(今回の場合はa,bが互いに独立)でない限り、簡単に分解できない。
面倒なことになるが、E[]2については丁寧に展開することができる。後ろの項も同様に展開できる。
E[(∑1≤a<b≤sXab)2]−E[∑1≤a<b≤sXab]2=E[∑a,bXab2−∑a,b,a′,b′XabXa′b′+∑a,b,b′XabXab′+∑a,a′,b′XabXa′b′+∑a,a′,bXabXaa′+∑a,b,b′XabXbb′]−E[∑1≤a<b≤sXab2] これについて、a,b,a′,b′についての総和で見ると、打ち消し合える。
∑a,bE[Xab]+∑a,b,a′,b′E[Xab]E[Xa′,b′]+E+E+E+E−∑a,bE[Xab]2−∑a,b,a′,b′E[XabXa′b′]−∑−∑−∑−∑ よう分からんが成り立つらしい。
ポアソン化を用いたサンプリングアルゴリズム
O(ϵ2n)のサンプルアルゴリズム。
- m=Cn/ϵ2として、10m回サンプルして、同じ要素が3回現れたら、拒否する。
- k∼Poi(m)とする。
- k回サンプリングsして、2回以上サンプリングされた要素の数を数える。
- この数が(1+ϵ/2)m2/nを超えたら拒否、それ以外ならば受理
以上のようなアルゴリズムになる。
これがなぜ正当?
定義
- mp(i)<<1とする。
- Xiは、i番目の要素がサンプリングされた回数である。これはPoi(mp(i))から得ている。
- Yiは、i番目の要素が2回以上サンプリングされたら1、それ以外が0。
証明
E[yi]=Pr[yi=1]=1−Pr[Xi=0]−Pr[Xi=1]=1−e−mp(i)−e−mp(i)×mp(i)≈1−(1−mp(i))−(1−mp(i))mp(i)=m2p(i)2 同一性の検査
分布が一様であるか?どうかを応用して、2つの分布が同じ分布かどうかを検査できる。
pが既知の分布qと一致するか?
まず、qがKで理参加できる、つまり∀i,q(i)=ki/K,ki∈Rと書けるとする。
qからのサンプルは、そのように離散化させたもののなかで、対応区間を選ぶのと等しい。