2013-08-13 19 views
5

Chcę redukcji wymiarów tak, aby zwracane wymiary były okrągłe.Redukcja wymiarów okrągłych?

ex) Jeśli zmniejszę dane 12d do 2d, znormalizowanych między 0 a 1, wówczas chcę (0,0), aby był równie bliski (.1, .1) jak (.9, .9).

Jaki jest mój algorytm? (punkty bonusowe za implementację pythona)

PCA daje mi 2d płaszczyznę danych, natomiast chcę mieć sferyczną powierzchnię danych.

Sens? Prosty? Nieodłączne problemy? Dzięki.

+4

Można użyć samoorganizującej się mapy z topologią kuli lub torusa. – Niki

Odpowiedz

0

Myślę, że to, o co prosisz, dotyczy transformacji.

Circular

chcę (0,0) jest równie blisko (.1 .1) jako (.9, 0,9).

PCA

Biorąc swoje podejście normalizacji, co można zrobić, to map wartości w przedziale od [0.5, 1] do [0.5, 0]

MDS

Jeśli chcesz użyć metryka odległości, możesz najpierw obliczyć odległości, a następnie zrobić to samo. Na przykład biorąc korelację, możesz zrobić 1-abs(corr). Ponieważ korelacja jest między [-1, 1] dodatnie i ujemne korelacje dadzą wartości bliskie zeru, podczas gdy nie skorelowane dane dadzą wartości bliskie jednemu. Następnie, po obliczeniu odległości, używasz MDS do uzyskania projekcji.

Przestrzeń

PCA daje mi 2d płaszczyznę danych, natomiast chcę sferyczną powierzchnię danych.

Ponieważ chcesz sferyczną powierzchnięmożna bezpośrednio przekształcić płaszczyznę 2D do kuli, jak myślę. A spherical coordinate system ze stałą wartością Z może to zrobić, prawda?

Kolejne pytanie brzmi: czy to wszystko jest rozsądną rzeczą do zrobienia?