中央値の分布とメモリ制約
-
29-09-2020 - |
質問
タスク
したい 近似値、中央値の分布 $D$ いることができます。
単純なアルゴリズムのためにこの利用 $n$ サンプルです:
samples = [D.sample() for i in range(n)] # generate n samples from D
sort(samples)
return samples[n/2]
しかし、もっとアルゴリズム 以 $O(n)$ スペース.
アイデア
していたこれらのアルゴリズム
その他のアルゴリズムを使用して $O(n)$ スペースが題は私の問題なのか。特に考え、いま教え与える可能性がありますアルゴリズムを使用する $O(m)$ スペースを生成バッチのサンプル $D$ サイズ $m$...
詳細
- 理想いを参照するアルゴリズムも解析(成功の確率予想実行します。
- 実際については親権者の方の同意が必要アルゴリズムの推定 $D$'s $p$番目のパーセンタイルの指定された $p$, だが、そんな最中央値発見アルゴリズムで一般化しました。
- 私達と同じ精度としての単純なアルゴリズムを上記に示します。一方これを実現するようアルゴリズムを利用する出力分布は同じサンプルアルゴリズムがそのアルゴリズムにcgアルゴリズムの失敗する場合があり珍しい例)
解決
必ず、お気に入りの商品がきっとこれを達成用いて、より走ります。ここでは概念的には簡単なアプローチがないのが最適なのが、まあしょうがなん:
利用バイナリ検索に近似しの中央値 $m$.どうするかどうかは候補 $m$ が大きすぎすぎす。サンプル $n$ 回からの流通、数多くのサンプル $\ge m$, とを比較することをカウント $n'/2$.これを行うと $O(1)$ スペース。
その後の重要な問いにつながどうしたらお選び $n$, を制御する確率。簡単なアプローチを選択 $n$ が十分に大きくした $n$ 確率誤差の繰り返し処理毎のバイナリ検索 $t$ 以上の確率誤差を利用の場合 $n$ サンプルは、 $t$ の反復回数のバイナリ検索が必要に求められます。その後、union結合であることを確認しるニーズにお応え致しますの精度ます。
残念ながら、精度の条件は、たがいに分布データとしての精度の試料の中央値で任意に悪いです。例えば、検討の状況を把握して使用することが出力 $0$ 確率 $(1-\イプシロン)/2$ や $100$ 確率 $(1+\イプシロン)/2$.その後、試料の中央値は約等が0-100、その分布の中央値は100, の平均誤差の試料の中央値は約50(ませんが描画 $\gg1/\ε^2$ をアップしました。これは特に手配できます。がばいいただけで再現することができる約数(標準偏差 $\sigma$, そのエラーのサンプルの中央値は、 $n$ サンプルが $1.25\sigma/\sqrt{n}$.このように、上記のアルゴリズムを書くことができない場所に設定していま $t\約\lg(\sqrt{n}/1.25)$ と設定していま $n'\約n t^2$.
う簡単です。できるのではないでしょうか?うちストリーミングアルゴリズムの計算の中央値として問題にも取り組んでん:された無制限の数のサンプルの分布が限られたスペースに何が最良推定しの中央値?例えば、こちらには単純なアルゴリズム最初の層の繰り返しに合わなかっサンプル出しの中央値三;第二層の繰り返しに合わなかっ番号から最上層に、出力中央値の三;います。後対数層数、合理的な近似の中央値。が全体の文献の、対応することができるでしょうべた。