Czy istnieje metoda przeciwna redukcji wymiarów?

9

Jestem nowy w dziedzinie uczenia maszynowego, ale zrobiłem swój udział w przetwarzaniu sygnałów. Daj mi znać, jeśli to pytanie zostało błędnie oznaczone.

Mam dwuwymiarowe dane, które są zdefiniowane przez co najmniej trzy zmienne, z wysoce nieliniowym modelem, który jest zbyt skomplikowany, aby symulować.

Różniłem się sukcesem przy wydobywaniu dwóch głównych składników z danych przy użyciu metod takich jak PCA i ICA (z biblioteki Python Scikit-Learn), ale wydaje się, że te metody (a przynajmniej implementacja tych metod) są ograniczone do wyodrębnienia tylu komponentów, ile jest danych w danych, na przykład 2 komponentów z chmury punktów 2D.

Podczas drukowania danych wytrenowanym okiem jest jasne, że istnieją trzy różne trendy liniowe, trzy kolorowe linie pokazują kierunki.

wykres danych

Podczas korzystania z PCA główny składnik jest wyrównany do jednej z kolorowych linii, a drugi jest ustawiony pod kątem 90 °, zgodnie z oczekiwaniami. Podczas korzystania z ICA pierwszy składnik jest wyrównany z niebieską linią, a drugi jest gdzieś pomiędzy czerwoną a zieloną. Szukam narzędzia, które może odtworzyć wszystkie trzy elementy w moim sygnale.

EDYCJA, Informacje dodatkowe: Pracuję tutaj w małym podzbiorze większej płaszczyzny fazowej. W tym małym podzbiorze każda zmienna wejściowa powoduje liniową zmianę na płaszczyźnie, ale kierunek i amplituda tej zmiany jest nieliniowa i zależy od tego, gdzie dokładnie na większej płaszczyźnie pracuję. W niektórych miejscach dwie zmienne mogą ulec degeneracji: powodują zmiany w tym samym kierunku. na przykład powiedzmy, że model zależy od X, Y i Z. Zmiana zmiennej X spowoduje zmianę wzdłuż niebieskiej linii; Y powoduje zmianę wzdłuż zielonej linii; Z, wzdłuż czerwonej.

PhilMacKay
źródło
3
Jeśli dobrze rozumiem, pojęcie szukasz jest osadzanie . Spójrz metody jądra i jądra PCA w szczególności.
Emre
1
Nie jestem tego pewien, więc nie zamieszczam tego jako odpowiedzi. W modelu typu sieci neuronowej można zachować wymiarowość warstwy ukrytej> wymiarowość warstwy wejściowej. Następnie możesz użyć ukrytej warstwy jako danych wejściowych do innej sieci / modelu. Ale zrobienie tego wymaga dużej ilości danych.
Azrael,
Kiedy mówisz dane dwuwymiarowe, zdefiniowane przez co najmniej trzy zmienne, w jakim sensie używasz terminu „zmienna”? Czy zajęcia byłyby odpowiednim zamiennikiem? Warto zauważyć, że PCA wyodrębnia z danych maksymalne warianty wymiarów, niekoniecznie jest to najbardziej dyskryminująca transformacja do zastosowania. Czy spojrzałeś na grupowanie?
image_doctor
Czy wiesz coś o nieliniowości modelu? Chociaż może to być zbyt skomplikowane do symulacji, wiedząc, że składa się co najwyżej z wielomianów stopnia 3, znacznie ogranicza inżynierię obiektów, np. Możesz dodać wszystkie bieguny 3 stopnia, a następnie PCA z powrotem do 3D.
AN6U5
Rozmawiałem z moim statystycznym przyjacielem, który zasugerował użycie jądra PCA do pochodnej moich danych, ponieważ szukam stoków. Czy uznanie pochodnej za „inżynierię funkcji”?
PhilMacKay,

Odpowiedzi:

8

Krótka odpowiedź brzmi: tak.

Zasadniczo będziesz wykonywać jakieś funkcje inżynierii. Oznacza to zbudowanie szeregu funkcji danych, często:

ϕjot(x):RpR ,  jot=1,...,K.

Które połączone razem, określenie przekształconego wektora danych o długości .ϕ(x)K.

Można to zrobić na wiele sposobów, lepiej i gorzej. Możesz wyszukać warunki takie jak:

  1. Splajny i uogólnione modele addytywne.
  2. Sztuczka jądra (jak zrobić model, w którym ).K.
  3. Inżynieria cech (odmiany ręcznej, np. Dodanie kolumny danych do danych).x2)
  4. Głębokie uczenie się, uczenie się reprezentacji

Jak można się domyślić na podstawie tak różnorodnego zestawu technik, jest to duży obszar. Jest rzeczą oczywistą, ale należy zachować ostrożność, aby uniknąć nadmiernego dopasowania.

Niniejszy artykuł „ Uczenie się przez reprezentację: przegląd i nowe perspektywy” dotyczy niektórych problemów wokół tego, co sprawia, że ​​dany zestaw funkcji jest „dobry”, z perspektywy głębokiego uczenia się.

przypuszczenia
źródło
-2

Myślę, że szukasz funkcji, które wydobywają nowe funkcje. Funkcja najlepiej reprezentująca zestaw danych. W takim przypadku nazywamy taką metodę „ekstrakcją funkcji”.

Apurv
źródło