Jestem inżynierem oprogramowania zajmującym się uczeniem maszynowym. Z mojego zrozumienia, regresja liniowa (taka jak OLS) i klasyfikacja liniowa (taka jak regresja logistyczna i SVM) przewidują na podstawie iloczynu wewnętrznego między wyuczonymi współczynnikami a zmiennymi funkcji :
Moje pytanie brzmi: po wytrenowaniu modelu (to znaczy po współczynników ), czy to jest tak, że współczynniki będą większe dla zmiennych cech, które są ważniejsze dla modelu w celu dokładniejszego przewidywania?
Innymi słowy, pytam, czy względne wielkości współczynników można wykorzystać do wyboru cech, po prostu porządkując zmienne według wartości współczynnika, a następnie wybierając cechy o najwyższych współczynnikach? Jeśli to podejście jest poprawne, to dlaczego nie jest wspomniane przy wyborze funkcji (wraz z metodami otoki i filtrów itp.).
Pytam o to, ponieważ natrafiłem na dyskusję na temat regularyzacji L1 vs. L2 . Jest taki napis, który mówi:
Wbudowany wybór funkcji jest często wymieniany jako użyteczna właściwość normy L1, czego nie ma w normie L2. Jest to faktycznie wynik normy L1, która ma tendencję do wytwarzania rzadkich współczynników (wyjaśnionych poniżej). Załóżmy, że model ma 100 współczynników, ale tylko 10 z nich ma niezerowe współczynniki, co skutecznie mówi, że „pozostałe 90 predyktorów jest bezużyteczne w przewidywaniu wartości docelowych”.
Czytając między wierszami, zgaduję, że jeśli współczynnik jest bliski 0, to zmienna charakterystyczna o tym współczynniku musi mieć małą moc predykcyjną.
EDYCJA : Stosuję również skalowanie Z do moich zmiennych numerycznych.
źródło
Odpowiedzi:
Ani trochę. Wielkość współczynników zależy bezpośrednio od skal wybranych dla zmiennych, co jest dość arbitralną decyzją modelowania.
Aby to zobaczyć, rozważ model regresji liniowej przewidujący szerokość płatka tęczówki (w centymetrach) na podstawie jego długości płatka (w centymetrach):
Nasz model osiąga skorygowaną wartość R ^ 2 wynoszącą 0,9266 i przypisuje wartość współczynnika 0,415755 do zmiennej Płatek.
Jednak wybór zdefiniowania Płatka. Długość w centymetrach był dość arbitralny i zamiast tego moglibyśmy zdefiniować zmienną w metrach:
Oczywiście nie wpływa to w żaden sposób na dopasowany model - po prostu przypisaliśmy Petal.Length.Mength (41.57554) o 100x większy współczynnik niż do Petal.Length (0.415755). Wszystkie pozostałe właściwości modelu (skorygowane R ^ 2, statystyki t, wartości p itp.) Są identyczne.
Zasadniczo przy dopasowywaniu znormalizowanych modeli liniowych najpierw znormalizuje się zmienne (na przykład, aby uzyskać średnią 0 i wariancję jednostkową), aby uniknąć faworyzowania niektórych zmiennych nad innymi na podstawie wybranych skal.
Zakładając znormalizowane dane
Nawet jeśli znormalizowałeś wszystkie zmienne, zmienne o wyższych współczynnikach mogą nadal nie być tak przydatne w przewidywaniach, ponieważ zmienne niezależne są rzadko ustawiane (mają niską wariancję). Jako przykład rozważmy zestaw danych ze zmienną zależną Z i zmiennymi niezależnymi X i Y przyjmującymi wartości binarne
Z założenia współczynnik Y jest z grubsza dwa razy większy niż współczynnik X, gdy oba są używane do przewidywania Z za pomocą regresji liniowej:
Mimo to X wyjaśnia więcej wariancji w Z niż Y (model regresji liniowej przewidujący Z z X ma wartość R ^ 2 0,2065, podczas gdy model regresji liniowej przewidujący Z z Y ma wartość R ^ 2 0,0511):
przeciw:
Przypadek wielokolinearności
Trzeci przypadek, w którym duże wartości współczynników mogą wprowadzać w błąd, byłby w przypadku znacznej wielokoliniowości między zmiennymi. Jako przykład rozważmy zestaw danych, w którym X i Y są silnie skorelowane, ale W nie jest silnie skorelowane z pozostałymi dwoma; próbujemy przewidzieć Z:
Zmienne te mają prawie taką samą średnią (0) i wariancję (~ 1), a regresja liniowa przypisuje znacznie wyższe wartości współczynników (w wartości bezwzględnej) X (około 15) i Y (około -16) niż W ( około 2):
Jednak wśród trzech zmiennych w modelu W najważniejsze jest: Jeśli usuniesz W z pełnego modelu, R ^ 2 spadnie z 0,833 do 0,166, podczas gdy jeśli upuścisz X lub Y, R ^ 2 jest praktycznie niezmienione.
źródło
„Znaczenie cech” jest bardzo śliskim pojęciem, nawet gdy wszystkie predyktory zostały dostosowane do wspólnej skali (co samo w sobie jest nietrywialnym problemem w wielu praktycznych zastosowaniach obejmujących zmienne kategorialne lub skośne rozkłady). Jeśli więc unikniesz problemów skalowania wskazanych w odpowiedzi przez @josliber lub problemu niskiej wariancji predyktorów podniesionego przez @dsaxton, nadal będziesz mieć dodatkowe problemy.
Na przykład bardziej użyteczną miarą znaczenia cechy może być stosunek jej współczynnika do oszacowanego błędu jego współczynnika. Wysoki współczynnik z dużym szacowanym błędem niekoniecznie byłby pomocny w prognozach. Zatem sam współczynnik wielkości, nawet w sytuacji wstępnie skalowanej, nie jest dobrym przewodnikiem po „znaczeniu”.
Niemniej jednak predyktor może być ważny, nawet jeśli jego stosunek wielkości do błędu jest niski (tj. Nie jest „statystycznie istotny”). Modele liniowe zapewniają możliwość jednoczesnego uwzględnienia wielu zmiennych predykcyjnych, więc włączenie predyktora „nieistotnego” do modelu może poprawić ogólną wydajność zapewnianą przez połączony zbiór predyktorów.
Co więcej, próby wybrania „ważnych” zmiennych predykcyjnych są w dużej mierze zależne od konkretnej próbki danych i często nie rozciągają się dobrze na kolejne próbki, szczególnie jeśli zmienne są skorelowane. Możesz to zobaczyć sam, powtarzając wybór funkcji na wielu próbkach ładowania tego samego zestawu danych. Frank Harrell, w tej odpowiedzi pokazuje, jak używać swojego
rms
pakietu w R do rangowania ważności funkcji, i zauważa w tej odpowiedzi, jak używać bootstrap, aby uzyskać przedziały ufności dla szeregów. Bootstrapping może być ostrzeżeniem dla tych, którzy przywiązują zbyt dużą wagę do „ważności funkcji”.To pytanie z prawie 3 lat temu, na które zwrócił uwagę @amoeba, również zawiera szczegółowe informacje na temat trudności związanych z istotnością funkcji w modelach regresji wielokrotnej.
źródło
Aby dodać do poprzedniej odpowiedzi, sam współczynnik również nie uchwycił, jak zmienna wykazuje predyktor, co ma duży wpływ na to, jak przydatne jest w prognozowaniu. Rozważ prosty model
gdzieXja jest Bernoulli( p ) zmienna losowa. Biorącp → 0 możemy również wysłać użyteczność tego predyktora do zera, ale współczynnik zawsze będzie β .
źródło