Z wikipedii,
redukcja wymiarów lub redukcja wymiarów to proces zmniejszania liczby rozważanych zmiennych losowych, który można podzielić na wybór cech i ekstrakcję cech.
Jaka jest różnica między wyborem funkcji a ekstrakcją funkcji?
Jaki jest przykład zmniejszenia wymiarów w zadaniu przetwarzania języka naturalnego?
Redukcja wymiarów polega zwykle na wyborze podstawy lub reprezentacji matematycznej, w ramach której można opisać większość, ale nie całą wariancję danych, zachowując w ten sposób odpowiednie informacje, jednocześnie zmniejszając ilość informacji niezbędnych do ich przedstawienia. Istnieje wiele technik służących robi to w tym, lecz nie ograniczając się do
PCA
,ICA
iMatrix Feature Factorization
. Sprowadzą one istniejące dane i zredukują je do najbardziej dyskryminujących elementów, które pozwalają reprezentować większość informacji w zbiorze danych za pomocą mniejszej liczby bardziej dyskryminujących funkcji.Wybór funkcji to ręczne wybieranie cech, które są wysoce dyskryminujące. Ma to o wiele więcej wspólnego z inżynierią funkcji niż analizą i wymaga znacznie więcej pracy ze strony naukowca danych. Wymaga zrozumienia, jakie aspekty zestawu danych są ważne w jakichkolwiek prognozach, a które nie. Wyodrębnianie elementów zwykle obejmuje generowanie nowych elementów, które są kompozytami istniejących elementów. Obie te techniki należą do kategorii inżynierii obiektów. Zasadniczo inżynieria funkcji jest ważna, jeśli chcesz uzyskać najlepsze wyniki, ponieważ obejmuje tworzenie informacji, które mogą nie istnieć w zbiorze danych, oraz zwiększenie stosunku sygnału do szumu.
źródło
Dimensionality Reduction
klauzulą, ale nieco się różnią wFeature Engineering
użyciu - co z tego, co widziałem, jest tylkoFeature Extraction
:Feature Selection
jest rozpatrywane osobno. To tylko różnica terminologiczna.Podobnie jak w @damienfrancois, wybór funkcji odpowiedzi dotyczy wyboru podzbioru funkcji. Tak więc w NLP byłoby wybranie zestawu konkretnych słów (typowe w NLP jest to, że każde słowo reprezentuje cechę o wartości równej częstotliwości słowa lub innej wadze opartej na TF / IDF lub podobnej).
Redukcja wymiarów polega na wprowadzeniu nowej przestrzeni elementów, w której reprezentowane są elementy oryginalne. Nowa przestrzeń ma mniejszy wymiar niż oryginalna przestrzeń. W przypadku tekstu przykładem może być sztuczka haszująca, w której fragment tekstu jest redukowany do wektora kilku bitów (powiedzmy 16 lub 32) lub bajtów. Niesamowite jest to, że geometria przestrzeni jest zachowana (podana wystarczająca liczba bitów), więc względne odległości między dokumentami pozostają takie same jak w oryginalnej przestrzeni, dzięki czemu można wdrożyć standardowe techniki uczenia maszynowego bez konieczności radzenia sobie z nieograniczonymi (i ogromną liczbą) z) wymiarów znalezionych w tekście.
źródło
Wybór cech polega na wybraniu niektórych cech na podstawie niektórych wyników statystycznych, ale ekstrakcja cech wykorzystuje techniki wydobywania informacji z drugiej warstwy z danych, np. Interesujące częstotliwości sygnału za pomocą transformaty Fouriera.
Redukcja wymiarowości polega na transformacji danych do przestrzeni niskiego wymiaru, w której dane zachowują swoją strukturę euklidesową, ale nie cierpią z powodu przekleństwa wymiarowości. Załóżmy na przykład, że wyodrębniasz niektóre funkcje słów ze zbioru danych, w którym każdy dokument może być zamodelowany jako punkt w przestrzeni n-wymiarowej, a n jest zbyt duży (przykład zabawki). W tym przypadku wiele algorytmów nie działa zgodnie ze zniekształceniem odległości w przestrzeni wielowymiarowej. Teraz musisz zmniejszyć wymiarowość, wybierając albo najbardziej pouczające cechy, albo przekształcając je w wielowymiarowy rozmaitość, stosując metody redukcji wymiarów, np. PCA, LLE itp.[x1,...,xn]
źródło
Aby uzupełnić odpowiedź Damiena, przykładem redukcji wymiarowości w NLP jest model tematyczny , w którym dokument reprezentujesz za pomocą wektora wskazującego wagi jego elementów składowych.
źródło
Aby uzyskać prawidłowy przegląd i definicję, możesz zapoznać się z Redukcją wymiarów vs. Selekcja zmiennych także w książce Podstawy wyodrębniania cech i aplikacje Wyodrębnianie cech składa się z dwóch etapów: budowy cech i wyboru cech.
źródło
A1. Co to jest redukcja wymiarów: jeśli myślisz o danych w macierzy, gdzie wiersze są instancjami, a kolumny atrybutami (lub elementami), to redukcja wymiarów odwzorowuje tę macierz danych na nową macierz z mniejszą liczbą kolumn. W przypadku wizualizacji, jeśli myślisz o każdej macierzy-kolumnie (atrybucie) jako wymiarze w przestrzeni elementów, wówczas zmniejszenie wymiarów jest rzutowaniem instancji z przestrzeni o wyższym wymiarze (więcej kolumn) na podprzestrzeń o niższych wymiarach (mniej kolumn). Typowym celem tej transformacji jest (1) zachowanie informacji w matrycy danych, przy jednoczesnym zmniejszeniu złożoności obliczeniowej; (2) poprawa separowalności różnych klas danych.
A2 Redukcja wymiarów jako wybór funkcji lub ekstrakcja funkcji: użyję wszechobecnego zestawu danych Iris , który jest prawdopodobnie „cześć światem” nauki danych. W skrócie, zestaw danych Iris ma 3 klasy i 4 atrybuty (kolumny). Zilustruję wybór funkcji i ekstrakcję dla zadania polegającego na zmniejszeniu wymiarów zestawu danych Iris z 4 do 2.
Obliczam pary wariancji tego zestawu danych za pomocą biblioteki w języku Python o nazwie seaborn. Kod to: sns.pairplot (tęczówka, odcień = „gatunek”, markery = [„o”, „s”, „D”]). Otrzymuję rysunek, że mogę wybrać parę atrybutów (2 wymiary), które zapewniają mi największy podział między 3 klasami (gatunkami) w zbiorze danych Iris. Byłby to przypadek wyboru funkcji.
Następny jest ekstrakcja funkcji. W tym miejscu rzutuję 4-wymiarową przestrzeń cech tęczówki na nową 2-wymiarową podprzestrzeń, która nie jest wyrównana względem osi z pierwotną przestrzenią. To są nowe atrybuty. Zazwyczaj są one oparte na rozkładzie w oryginalnej wysokiej przestrzeni wymiarowej. Najpopularniejszą metodą jest analiza głównych składników, która oblicza wektory własne w pierwotnej przestrzeni. Oczywiście nie jesteśmy ograniczeni do używania jedynie liniowej i globalnej projekcji do podprzestrzeni opartej na wektorach własnych. Możemy również zastosować metody projekcji nieliniowej. Oto przykład nieliniowego PCA wykorzystującego sieci neuronowe Wyodrębniono atrybuty (wymiary) w ostatnim przykładziez oryginalnych 4 atrybutów za pomocą sieci neuronowych. Możesz eksperymentować z różnymi odmianami PCA dla zestawu danych tęczówki, korzystając z tego kodu metod pca .
Podsumowanie: Chociaż metody wyodrębniania funkcji mogą wydawać się lepsze pod względem wydajności niż wybór funkcji, wybór zależy od aplikacji. Atrybuty wyodrębniania funkcji zwykle tracą fizyczną interpretację, co może, ale nie musi, stanowić problemu w zależności od wykonywanego zadania. Na przykład, jeśli projektujesz bardzo drogie zadanie gromadzenia danych z kosztownymi czujnikami i musisz zaoszczędzić na atrybutach (liczbie różnych czujników), chciałbyś zebrać małą próbkę pilotażową przy użyciu wszystkich dostępnych czujników, a następnie wybrać te, które są najbardziej pouczające dla zadania gromadzenia dużych zbiorów danych.
źródło
Wyciąg z praktycznego uczenia maszynowego dzięki scikit-learn i Tensorflow
źródło
Kilka świetnych odpowiedzi tutaj, w szczególności odpowiedź @ damienfrancois bardzo zwięźle oddaje ogólną ideę.
Nie widzę jednak żadnych przykładów inżynierii cech dla danych relacyjnych lub szeregów czasowych. W takim przypadku badacze danych generalnie wyodrębniają wzorce statystyczne między relacjami i w czasie. Na przykład, aby przewidzieć, co klienci będą w przyszłości w bazie danych e-commerce, można wyodrębnić ilości, takie jak średnia historyczna kwota zakupu lub częstotliwość wcześniejszych zakupów.
Napisałem artykuł na ten temat, który jest o wiele bardziej szczegółowy z kilkoma przykładami tutaj: https://www.featurelabs.com/blog/feature-engineering-vs-feature-selection/
źródło
Zacznę od odwrotnej kolejności, która ekstrakcja cech i dlaczego istnieje potrzeba wyboru cech i zmniejszenia wymiarów.
Zaczynając od wyodrębnienia funkcji, która służy głównie do celów klasyfikacji. Klasyfikacja jest procesem podejmowania decyzji, do której kategorii należy dany obiekt. Składa się z dwóch faz: i) faza szkolenia, w której dane lub obiekty są poznawane przy użyciu pewnych procesów (ekstrakcja cech) ii) faza testowania, w której nieznany obiekt jest klasyfikowany przy użyciu funkcji poznanych w poprzedniej fazie (szkolenie).
Wyodrębnianie funkcji, jak sugeruje nazwa, biorąc pod uwagę, że celem danych jest znalezienie podstawowego wzorca. Ten podstawowy wzór, który jest terminem jako cechą odpowiadającą tym odpowiednim danym. Istnieją różne metodologie ekstrakcji funkcji, takie jak Support Vector Machine (SVM).
Teraz ekstrakcja funkcji powinna generować funkcje, które powinny być
Wybór funkcji: określony zestaw danych może być reprezentowany przez pojedynczą funkcję lub zestaw funkcji. W procesie klasyfikacji system jest szkolony dla co najmniej dwóch klas. Tak więc system szkoleniowy wygeneruje jedną funkcję lub zestaw funkcji. Funkcje te powinny posiadać właściwości wymienione powyżej.
Problem pojawia się, gdy istnieje zestaw funkcji dla każdej klasy i istnieje korelacja między niektórymi funkcjami. Oznacza to, że spośród tych korelujących cech jedna lub kilka jest wystarczających do przedstawienia, i to właśnie tam pojawia się wybór cech. Ponadto funkcje te muszą być przechowywane wraz ze wzrostem zapotrzebowania na pamięć zestawu funkcji.
Potem następuje redukcja wymiarów, która jest niczym innym jak częścią procesu wyboru cech. Jest to proces wyboru optymalnego zestawu funkcji, które najlepiej opisują dane. Istnieje wiele technik tego samego, takich jak analiza głównych składników, niezależna analiza składników i faktoryzacja macierzy itp.
źródło
Na przykład ... jeśli masz grunty rolne, wybór jednego konkretnego obszaru tego gruntu byłby wyborem cech. Jeśli chcesz znaleźć dotknięte nim rośliny na tym obszarze, musisz obserwować każdą roślinę na podstawie konkretnej cechy, która jest wspólna w każdej roślinie, aby znaleźć nieprawidłowości ... w tym celu rozważymy ekstrakcję cech. W tym przykładzie pierwotna ziemia rolna odpowiada zmniejszeniu wymiarów.
źródło