Wybór funkcji w uczeniu maszynowym: motywacja

Nov 24 2022
Ten krótki artykuł jest pierwszym z serii wyjaśniającej techniki selekcji cech. Zacząłem od przyjaznego wprowadzenia i przedstawiłem mocne przyczyny procesu wyboru funkcji.

Ten krótki artykuł jest pierwszym z serii wyjaśniającej techniki selekcji cech. Zacząłem od przyjaznego wprowadzenia i przedstawiłem mocne przyczyny procesu wyboru funkcji. W kolejnych artykułach szczegółowo opiszę każdą metodę selekcji cech.

Wybór funkcji to proces wybierania podzbioru odpowiednich cech (zmiennych, predyktorów) spośród wszystkich cech poziomu w zbiorze danych w celu zbudowania algorytmów uczenia maszynowego. Biorąc pod uwagę początkowy zestaw danych, który zazwyczaj zawiera dużą liczbę zmiennych, co możemy zrobić, aby wybrać pulę cech, które są ważne w momencie dokonywania prognoz? Istnieje wiele procedur lub technik, które możemy zastosować w ramach procesu selekcji cech.

Dlaczego na początek wybieramy cechy, zanim przejdziemy do technik wyboru cech? Oto kilka powodów.

  • Prostsze modele są łatwiejsze do interpretacji. Użytkownikom modelu łatwiej jest zrozumieć dane wyjściowe modelu, który wykorzystuje 10 zmiennych, niż dane wyjściowe modelu, który wykorzystuje 100 zmiennych.
  • Krótszy czas szkolenia. Zmniejszenie liczby zmiennych używanych do budowy modeli uczenia maszynowego zmniejsza koszty obliczeniowe, a tym samym przyspiesza budowanie modelu. Ale co ważniejsze, prostsze modele również osiągają lepsze wyniki niż aplikacje, co jest szczególnie ważne, jeśli model znajduje się w środowisku na żywo, w którym decyzje muszą być podejmowane w ułamku sekundy.
  • Ulepszone uogólnienie poprzez zmniejszenie nadmiernego dopasowania. Bardzo często wiele zmiennych to szum o niewielkiej lub żadnej wartości predykcyjnej. Modele uczenia maszynowego uczą się jednak z tego szumu, co powoduje nadmierne dopasowanie i ogranicza uogólnienie. Eliminując nieistotne hałaśliwe funkcje, możemy znacznie poprawić uogólnienie modelu uczenia maszynowego.
  • Łatwiejsze do wdrożenia przez programistów. Po wdrożeniu modelu uczenia maszynowego twórcy oprogramowania często muszą napisać kod wywołujący zmienne, które muszą zostać wprowadzone do modelu w celu wygenerowania danych wyjściowych. Znacznie szybciej jest napisać kod dla 10 do 50 zmiennych niż dla 400 zmiennych. Ponadto mniej kodu jest mniej podatne na błędy, a tym samym zapewnia bezpieczniejsze środowisko.
  • Zmniejszone ryzyko błędów danych podczas użytkowania modelu. Często firmy polegają na wywołaniach danych innych firm, z których wybierają zmienne, aby przekazać model uczenia maszynowego. Zmniejszenie liczby zmiennych używanych w modelu uczenia maszynowego zmniejsza narażenie firmy na błędy w gromadzeniu i przechowywaniu danych stron trzecich, a także potencjalne błędy w gromadzeniu danych, które mogą wystąpić w ramach tej samej firmy.
  • Zmienna redundancja. Dość często cechy w zbiorze danych są silnie skorelowane. Wysoce skorelowane cechy dostarczają istoty tej samej informacji. Dlatego są one w pewnym sensie zbędne. Moglibyśmy zatrzymać jedną i usunąć całą resztę bez utraty informacji.
  • Złe zachowanie podczas uczenia się w przestrzeniach wielowymiarowych. Wydajność modelu uczenia maszynowego w poszczególnych algorytmach opartych na drzewach jest preferowana przez ograniczone przestrzenie funkcji. Innymi słowy, oznacza to, że duże wymiary powodują słabą wydajność metod opartych na drzewach, a zatem zmniejszenie przestrzeni cech pomaga budować bardziej niezawodne i predykcyjne modele.

Algorytm wyboru cech można postrzegać jako połączenie techniki wyszukiwania w celu zaproponowania nowych podzbiorów cech wraz z miarą ewolucji, która ocenia różne podzbiory cech. Idealnie byłoby, gdyby metoda wyboru funkcji przeszukała wszystkie możliwe podzbiory kombinacji funkcji, które można uzyskać z danego zestawu danych, i znalazła kombinację funkcji, która zapewnia najlepszą wydajność modelu uczenia maszynowego. W praktyce zazwyczaj nie jest to możliwe ze względu na koszt obliczeniowy. Ponadto różne podzbiory funkcji mogą zapewniać optymalną wydajność dla różnych algorytmów uczenia maszynowego. Oznacza to, że istnieje nie tylko jeden podzbiór funkcji, ale potencjalnie wiele podzbiorów optymalnych funkcji w zależności od algorytmu uczenia maszynowego, którego zamierzamy użyć. Dlatego przez całe lata opracowano bardzo wiele różnych metod wybierania funkcji, aby spróbować uwzględnić jak najwięcej zastrzeżeń i ograniczeń. W całej tej serii artykułów opiszę bardzo wiele różnych metod selekcji cech, jakie są zalety i wady oraz jak je wdrożyć w praktyce na przykładach zbiorów danych biznesowych.