Generuj jednolity hałas z kulki p-normalnej ( )


11

Próbuję napisać funkcję, która generuje równomiernie rozłożony hałas pochodzący z kuli p-norm o wymiarach :n

||x||pr

Znalazłem możliwe rozwiązania dla kręgów ( ) ( http://mathworld.wolfram.com/DiskPointPicking.html ), jednak mam problem z rozszerzeniem tego dla różnych wartości .p=2p

Próbowałem to zrobić, po prostu losując próbkę z jednolitego rozkładu i przerysowując, gdy nie spełnia ona określonego ograniczenia. Jednak oprócz tego, że jest to brzydkie rozwiązanie, staje się również niewykonalne obliczeniowo w przypadku dużych wymiarów.


1
Tutaj można znaleźć odpowiedź dla kuli o wymiarach n przy użyciu odległości euklidesowej (p = 2) math.stackexchange.com/questions/87230/ ... Jednak wciąż nie jestem pewien, jak użyć tego dla różnych norm p, czy mogę po prostu zmienić używaną odległość euklidesową w innej relacji dla odległości?
Taeke de Haan

2
Istnieje wiele dokumentów, ale większość jest za paywall: link.springer.com/article/10.1007/s00184-011-0360-x lub odwiedź google.com/…
kjetil b halvorsen

3
„Jednolity” w odniesieniu do jakiej miary objętości? W końcu, jeśli używasz kulki, dlaczego objętość euklidesowa byłaby tak interesująca? p
whuber

@ whuber Szczerze mówiąc, nie jestem pewien, ponieważ nie jest to wyraźnie określone w zadaniu, ale oczekiwałbym w p-normie, ponieważ wszelkie inne wskaźniki wydają się w tym przypadku arbitralne.
Taeke de Haan

1
Problem pochodzi z zadania uczenia maszynowego; „Problemem jest problem klasyfikacji dwóch klas w 204 wymiarach. Mały zestaw szkoleniowy z etykietą ma rozmiar 50 próbek na klasę. Nieoznakowane dane dostarczają 20 000 dodatkowych próbek. Próbki te jednak uległy pewnego rodzaju uszkodzeniu. jedyne dodatkowe informacje, które posiadamy na temat tego uszkodzenia, to to, że jest to addytywny jednolity hałas i że hałas pochodzi ze stałej kuli p-normalnej, , gdzie zarówno p, jak i promień r są nieznane. Muszę uzyskać najniższy poziom błędu dla nieznakowanych danych. ||x||prpr
Taeke de Haan

Odpowiedzi:


5

Pełne rozwiązanie znalazłem w dokumencie sugerowanym przez kjetil b halvorsen ( https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=758215 ). Naprawdę mam problem ze zrozumieniem matematyki, ale ostateczny algorytm jest dość prosty. jeśli mamy wymiarów, promień ri norma p niż:nrp

1) generuj niezależnych losowych rzeczywistych skalarów ε i = ˉ G ( 1 / p , p ) , gdzie ˉ G ( μ , σ 2 ) jest uogólnionym rozkładem Gaussa (o innej mocy zamiast wykładnika e - | x | p zamiast tego po prostu p = 2 )nεi=G¯(1/p,p)G¯(μ,σ2)e|x|pp=2

2) konstruować wektor składników s iε i , gdzie s i są niezależnymi losowymi znakamixsiεisi

3) Wygeneruj , gdzie jest zmienną losową równomiernie rozmieszczoną w przedziale [0, 1].z=w1/nw

4) returny=rzx||x||p


2
Dla kompletności, czy możesz powiedzieć, co jest w twojej odpowiedzi? G
Stéphane Laurent,

Został zaktualizowany
Taeke de Haan

2
G jest uogólnionym rozkładem Gaussa (o innej potędze w wykładniku zamiast tylko ). Spowoduje to, że rozkład wektora , złożony z wielu niezależnych uogólnionych zmiennych rozproszonych gaussowskich , które są iloczynem pojedynczych plików pdf, zależy od normy p. p = 2 x x i f ( x ) e - | x | p pmi-|x|pp=2)xxja
fa(x)mi-|x|pp
Sextus Empiricus

@MartijnWeterings Dzięki bardzo, został zaktualizowany.
Taeke de Haan

Dzięki. Aby uzyskać informacje, w pakiecie R pgnorm znajduje się próbnik tej dystrybucji .
Stéphane Laurent,

3

Korzystanie z jednorodnie rozmieszczonych zmiennych wielowymiarowych

Taeke zapewnia link do artykułu, który w poniższym tekście jest bardziej intuicyjny, wyjaśniając w szczególności przypadki 2-normalne i 1-normowe.

x2)r

przykładowy kierunek

Możesz użyć tego wyniku http://mathworld.wolfram.com/HyperspherePointPicking.html

Wielowymiarowa zmienna rozkładowa Gaussa (z macierzą kowariancji tożsamości) zależy tylko od odległości lub sumy kwadratów.X

fa(X1,X2),...,Xn)=1jan12)πmi12)xja2)=12)πmi12)1janxja2)

Zatem jest równomiernie rozmieszczony na powierzchni n-wymiarowej hipersfery.XX2)


odległość próbki

Aby ukończyć, wystarczy próbkować odległość, aby zmienić jednorodny rozkład na kuli na jednorodny rozkład w kuli. (który jest mniej więcej podobny do połączonego przykładu wybierania punktów na dysku)

Jeśli po prostu spróbujesz jako rozkład równomierny, będziesz mieć stosunkowo większą gęstość w pobliżu środka (objętość skaluje się jako więc ułamek punktów kończy się na objętości , która jest bardziej gęsta blisko centrum i nie oznaczałoby równomiernego rozkładu)r n r r nrrnrrn

Jeśli zamiast tego użyjesz pierwiastka zmiennej próbkowanej z rozkładu jednolitego, otrzymasz rozkład parzysty.n

1-normx1r

kierunek

W tym przypadku próbkujesz z rozkładu Laplace'a zamiast rozkładu Gaussa i dzielisz przez 1-normę. równomiernie rozmieszczone na n-wymiarowej norma 1 kuli.XXX|X|1

Nie mam formalnego dowodu, tylko intuicję

(ponieważ plik pdf jest niezależny od położenia, można oczekiwać, że każdy nieskończenie mały obszar / objętość o tej samej 1-normie będzie miał takie samo prawdopodobieństwo a gdy zwiniesz go na powierzchnię jednostki, to samo )f ( x ) d Afa(x)reV.fa(x)reZA

ale testowanie za pomocą symulacji wygląda dobrze.

pobieranie symulacji 20000 wartości równomiernie rozłożonych

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)

dystans

Odległość jest podobna jak w przypadku 2-normowym (głośność nadal skaluje się jako ).rn

p-normxpr

W takim przypadku, jeśli chcesz zastosować tę samą zasadę, musisz próbkować z dystrybucji za pomocą ( ). Są to uogólnione rozkłady normalne i prawdopodobnie odnoszą się do rozkładu wspomnianego przez Taeke.f(x)e|x|pG()


1
Czy możesz wyjaśnić, w jaki sposób wnioskujesz, że wektory jednostkowe są równomiernie rozmieszczone? BTW, wierzę, że chcesz wziąćp

1
nrpz=w1/nwy=rzx||x||p
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.