pノルムボールから均一なノイズを発生させる(


10

私は、次元のpノルムボールから来る均一に分布したノイズを生成する関数を書こうとしています:n

||x||pr

円()(http://mathworld.wolfram.com/DiskPointPicking.html)の可能な解決策を見つけましたが、異なる値に対してこれを拡張するのに問題があります。p=2p

私は、一様な分布からランダムなサンプルを描画し、それが指定された制約を満たさない場合に再描画することでそれを試みました。しかし、醜い解決策であることに加えて、高次元では計算的に実行不可能になります。


1
ユークリッド距離(p = 2)を使用したn次元の球の答えはここにありますmath.stackexchange.com/questions/87230/… しかし、これをさまざまなpノルムに使用する方法はまだわかりません。使用されているユークリッド距離を距離の別の関係に変更するだけですか?
Taeke de Haan

2
たくさんの論文がありますが、ほとんどがペイウォールの背後にあります: link.springer.com/article/10.1007/s00184-011-0360-x またはgoogle.com/…を
kjetil b halvorsen

3
どのボリュームメトリックに関して「均一」ですか。結局のところ、ボールを使用している場合、なぜユークリッドボリュームに関心があるのでしょうか。p
whuber

@whuberこれは割り当てで明確に述べられていないため、正直にわかりませんが、この場合、他のメトリックは任意であると思われるため、p-ノルムで期待します。
Taeke de Haan

1
問題は機械学習の課題から生じます。「この問題は、204次元の2クラスの分類問題です。小さなラベル付きトレーニングセットのサイズは、クラスあたり50サンプルです。ラベルなしのデータは、20,000の追加サンプルを提供します。ただし、これらのサンプルは、何らかの破損を受けています。この破損に関する追加情報は、追加の均一ノイズであり、ノイズは固定pノルムボールから発生するということだけです。||x||prから発生することです。ここで、と半径rはどちらも不明です。 " ラベルなしのデータでエラー率を最も低くする必要があります。pr
Taeke de Haan

回答:


5

kjetil b halvorsen(https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=758215)によって提案されたように、私は論文で完全な解決策を見つけました。正直なところ、その背後にある数学を理解するのに苦労していますが、最終的なアルゴリズムはかなり単純です。我々が持っている場合寸法、半径R及びノルムPより:nrp

1)を生成するの独立したランダム実数スカラーはε iは = ˉ G1 / P P ˉ Gμ σ 2指数で異なるパワーを有する一般化ガウス分布である(E - | X | P代わりにちょうどp = 2のnεi=G¯(1/p,p)G¯(μ,σ2)e|x|pp=2

2)ベクター構築物成分のS Iを * ε Iここで、sはiは独立ランダム符号でありますxsiεisi

3)を生成します。ここで、wは区間[0、1]に一様に分布する確率変数です。z=w1/nw

4)y = r z xを返すy=rzx||x||p


2
完全を期すために、回答のは何ですか。G
ステファン・ローラン

更新されました
Taeke de Haan

2
Gは一般指数で異なるパワーを有するガウス分布(代わりだけのP = 2e|x|pp=2)。これは、pノルムに依存する、単一のpdfの積である複数の独立した一般化されたガウス分布変数x iで構成されるベクトル分布を作成します。f xe | x | p pxxi
f(x)e|x|pp
Sextus Empiricus

@MartijnWeteringsありがとうございました。更新されました。
Taeke de Haan

ありがとう。詳しくは、Rパッケージpgnormにこのディストリビューションのサンプラーがあります。
ステファン・ローラン

3

均一に分散された多変量変数の使用

Taekeは、2ノルムと1ノルムのケースを具体的に説明することで、以下のテキストがより直感的になる記事へのリンクを提供しています。

2ノルムx2r

サンプルの方向

この結果を使用できますhttp://mathworld.wolfram.com/HyperspherePointPicking.html

X

f(X1,X2,...,Xn)=1in12πe12xi2=12πe121inxi2

XX2


サンプル距離

完了するには、距離をサンプリングするだけでよく、球の均一分布をボールの均一分布に変更できます。(これは、ディスクポイントピッキングのリンクされた例とほぼ同じです)

rrnrrn

n

x1r

方向

XX|X|1

正式な証明はなく、直感のみ

f(x)dVf(x)dA

しかし、シミュレーションによるテストは良さそうです。

均一に分布した20000の値を選択するシミュレーション

library(rmutil)
x <- abs(rlaplace(20000))
y <- abs(rlaplace(20000))
z <- abs(rlaplace(20000))
rn <- abs(x)+abs(y)+abs(z)

xi <- (x/rn)
yi <- (y/rn)
zi <- (z/rn)
plot(sqrt(0.5)*(xi-yi),
     sqrt((0.5-0.5*(xi+yi))^2+zi^2),
     pc=21,bg=rgb(0,0,0,0.02), col=rgb(0,0,0,0),cex=1)

距離

rn

xpr

この場合、同じ原則に従う場合は、fを使用して分布からサンプリングする必要がありますf(x)e|x|pG()


1
単位ベクトルが均一に分布していると結論付ける方法について詳しく教えてください。ところで、私はあなたがpを取りたいと思いますp番目のルート。
whuber

1
nrpz=w1/nwy=rzx||x||p
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.