Czy zautomatyzowane uczenie maszynowe to marzenie?

12

Gdy odkrywam uczenie maszynowe, widzę różne interesujące techniki, takie jak:

  • automatycznie dostraja algorytmy za pomocą technik takich jak grid search,
  • uzyskać bardziej dokładne wyniki dzięki połączeniu różnych algorytmów tego samego „typ”, to jest boosting,
  • uzyskać bardziej dokładne wyniki dzięki połączeniu różnych algorytmów (ale nie ten sam rodzaj algorytmów), to stacking,
  • i prawdopodobnie dużo więcej muszę jeszcze odkryć ...

Moje pytanie jest następujące: są wszystkie te kawałki. Ale czy można je połączyć, aby stworzyć algorytm, który pobiera oczyszczone dane i daje dobre wyniki, wykorzystując najlepsze ze wszystkich technik? (Oczywiście będzie to prawdopodobnie mniej wydajne niż profesjonalny naukowiec danych, ale będzie lepszy ode mnie!) Jeśli tak, czy masz przykładowe kody lub znasz ramy, które mogą to zrobić?

EDYCJA: Po kilku odpowiedziach wydaje się, że trzeba trochę zawęzić. Weźmy przykład, mamy jedną kolumnę z danymi kategorycznymi, nazwijmy ją yi chcemy przewidzieć na podstawie danych liczbowych, Xktóre są albo manekinami, albo rzeczywistymi danymi liczbowymi (wysokość, temperatura). Zakładamy, że czyszczenie zostało wykonane wcześniej. Czy istnieje algorytm, który może pobierać takie dane i generować prognozy? (testując wiele algorytmów, dostosowując je, wzmacniając itp.) Jeśli tak, to czy jest on wydajny obliczeniowo (czy obliczenia są wykonywane w rozsądnym czasie, jeśli porównamy go z normalnym algorytmem) i czy masz przykład kodu?

Pholochtairze
źródło
1
Prawdopodobnie nie, dopóki nie będzie silnego AI.
Gung - Przywróć Monikę
1
Jeśli chodzi o automatyczne dostrajanie, możesz być zainteresowany czytaniem o wyszukiwaniu hiperparametrów w uczeniu maszynowym . Wyszukiwanie w sieci to straszny sposób na optymalizację hiperparametrów.
Marc Claesen,
2
Czy ty masz używać tyle formatowanie ?
Sycorax mówi Przywróć Monikę
2
Są produkty, które twierdzą, że robią to, co opisujesz, np. Kryształowa Kula . Osobiście im nie ufam, ale jak napisałeś: wykonują robotę lepiej niż ktoś, kto nie ma pojęcia o statystykach
Aksakal
1
Prognozy auto.arima(z forecastbiblioteki) mogą być lepsze niż ludzie - Rob Hyndman kilkakrotnie wspominał w swoich prezentacjach. Są więc obszary, w których z powodzeniem stosuje się pewnego rodzaju „automatyczne uczenie się”.
Tim

Odpowiedzi:

7

Jeśli wiesz z góry, jakie dane będziesz wprowadzać („to miesięczna sprzedaż CPG, z cenami i znacznikami promocji, a ja chcę prognozę punktową”), więc możesz z wyprzedzeniem dostroić konfigurację, prawdopodobnie będzie to możliwe i już zrobione, zobacz różne „systemy ekspertów” dla niektórych konkretnych zadań.

Jeśli szukasz czegoś, co może zabrać dowolny rodzaj danych i zrobić z nim „coś pożytecznego” („och, tutaj mam rozpoznać pismo odręczne i wyprowadzić kody pocztowe, i tam powinienem wykryć oszustwo, a ten plik wejściowy oczywiście to zadanie oceniania zdolności kredytowej ”), nie, nie sądzę, że wydarzy się to za długo.

Przepraszamy za odpowiedź opartą na opiniach na pytanie, które może zostać zamknięte jako pytanie oparte na opinii.


EDYCJA, aby odpowiedzieć na edytowane pytanie:

mamy jedną kolumnę z danymi kategorycznymi, nazwijmy to i chcemy przewidzieć na podstawie danych liczbowych które są albo manekinami, albo rzeczywistymi danymi liczbowymiXyX

To brzmi jak coś, w czym Losowe Lasy są naprawdę całkiem dobre. Potem znowu, „ogólnego przeznaczenia” algorytm jak terminali, prawdopodobnie nigdy nie pokazał algorytm, który został dostrojony do określonego typu znany wcześniej, ryzyko np odręczny cyfry lub domyślnych kredytowej.y

Stephan Kolassa
źródło
Dzięki tobie zredagowałem moje pytanie, jest pierwsza część „weź dowolny wkład i rzuć mi wynik”, a twoja odpowiedź jest naprawdę wnikliwa, a druga część „dla określonego rodzaju pytań i formatowania danych, znajdź mnie wynik".
Pholochtairze
Nie jestem pewien, czy ostatni akapit nadal obowiązuje, biorąc pod uwagę ogromny sukces głębokiego uczenia się na wiele różnych problemów. Metody te mają zdecydowanie ogólny cel, ale prowadzą zapisy w kilku domenach aplikacji, takich jak widzenie komputerowe i NLP. Można argumentować, że architektury różnią się między zadaniami, ale na poziomie teoretycznym w pełni połączona głęboka sieć działałaby co najmniej tak dobrze, jak, powiedzmy, sieci splotowe, po prostu właściwe metody szkolenia pozostają nieuchwytne.
Marc Claesen,
@MarcClaesen: Powiedziałbym, że „po prostu właściwe metody szkolenia pozostają nieuchwytne” to punkt, w którym nadal będziesz potrzebować specjalistycznej wiedzy w danej dziedzinie.
Stephan Kolassa
7

To, co opisujesz , istnieje już do pewnego stopnia, na przykład w AutoWEKA , i jest aktywnie badane (np. Wyzwania takie jak AutoML Chalearna ).

Jest to zwykle uwzględniane w podpolu optymalizacji hiperparametrów. Pakiety oprogramowania, takie jak Optunity , Hyperopt i ParamILS, mogą być używane do automatycznej optymalizacji hiperparametrów dla danego podejścia i wyboru, które podejście będzie najlepsze. To powiedziawszy, takie problemy z optymalizacją nie są trywialne i zwykle zajmuje dużo czasu, aby automatycznie uzyskać najlepszy model (lub blisko niego).

Przykład użycia Optunity do automatycznego określania najlepszego algorytmu uczenia się i optymalizacji jego hiperparametrów można znaleźć na stronie http://optunity.readthedocs.org/en/latest/notebooks/notebooks/sklearn-automated-classification.html

Marc Claesen
źródło
4

Postępy w tuningu hiperparametrów i modelach zespołów zabierają wiele „sztuki” z budowania modeli. Istnieją jednak dwa ważne aspekty budowania modelu, z którymi strojenie hiperparametrów i zestawy nie radzą sobie i nie pozwalają znaleźć najlepszego możliwego modelu.

Po pierwsze, niektóre typy algorytmów lepiej modelują określone typy danych. Na przykład, jeśli występują interakcje między zmiennymi, model addytywny ich nie znajdzie, ale drzewo decyzji. Znajomość zachowania modeli w różnych zestawach danych i wybranie odpowiedniego zestawu danych może wymagać wiedzy o domenie, aby znaleźć najlepszy algorytm modelowania.

Po drugie, inżynieria obiektów i ekstrakcja obiektów to prawdziwa „sztuka” modelowania budowania. Twoje pytanie zakłada, że ​​zestaw danych jest już przygotowany. Ale nie powinieneś zakładać, że zestaw danych stanowi najlepszą możliwą reprezentację tego, co próbujesz wymodelować. To jest zawsze otwarte pytanie. W wielu przypadkach, gdy zestaw danych jest złożony, możesz opracowywać funkcje przez cały dzień, ale ryzykujesz wrzuceniem do algorytmu coraz więcej szumów. Aby wiedzieć, które funkcje dodać, musisz wiedzieć, które funkcje mają sens z perspektywy statystycznej, a które z punktu widzenia eksperta w danej dziedzinie.

Z tych dwóch powodów dochodzę do wniosku, że nie, nie będziesz w stanie znaleźć algorytmu, który automatycznie znajdzie najlepszy możliwy model. Dlatego też sceptycznie podchodzę do sprzedawców oprogramowania, które zastąpią zapotrzebowanie na naukowców zajmujących się danymi.

Jeśli jednak zawężasz ambicje znalezienia najlepszego modelu na podstawie stałego zestawu modeli o optymalnych parametrach hiperparametrów, gdzie „najlepszy” jest zdefiniowany jako najwyższa dokładność predykcyjna w zestawie treningowym, to tak, jest to możliwe.

Sprawdź caretpakiet Rjako przykład automatycznego dostrajania modeli. caretwykorzystuje wyszukiwanie siatki, które ma wady i buduje tylko jeden model na raz. Istnieją jednak funkcje umożliwiające porównywanie modeli i wygodne opakowania dla długiej listy modeli z wielu różnych Rpakietów.

brandco
źródło
Zgadzam się, że wciąż jesteśmy daleko od w pełni zautomatyzowanego uczenia maszynowego, ale nie z podanych przez ciebie powodów. Dwie rzeczy: (i) znalezienie najlepszego modelu (+ optymalizacja jego hiperparametrów) z danego zestawu jest już możliwe i (ii) inżynieria cech i ekstrakcja cech tracą na znaczeniu z powodu postępu w głębokim uczeniu się. Najważniejsze, czego nam obecnie brakuje, to zautomatyzowane sposoby uwzględnienia wcześniejszej wiedzy i zdrowego rozsądku.
Marc Claesen,
Chyba nie rozumiem, w jaki sposób „wcześniejsza wiedza i zdrowy rozsądek specyficzny dla danej dziedziny” może usprawnić proces ML, oprócz pomocy (i) w znalezieniu najlepszego modelu i (ii) w znalezieniu najlepszych funkcji. Próbowałem rozróżnić modele rzeczywiste od modeli optymalnych (maksymalna dokładność) za pomocą akapitu od drugiego do ostatniego.
brandco,
aby odkryć oczywiste wady w procesie modelowania, takie jak błędne etykiety i / lub wycieki informacji, jak radzić sobie z brakującymi danymi, identyfikować faktyczne zadanie uczenia się (+ odpowiednia funkcja score / loss) i ogólnie wykonać pełne czyszczenie danych (co zawsze był głównym wysiłkiem we wszystkich praktycznych problemach, w które byłem zaangażowany).
Marc Claesen,
2

Zależy od kogo zapytasz.

Niedawno usłyszałem przemówienie Scotta Goldera w Context Relevant . Ich produkt jest zasadniczo robotem do wybierania cech i modeli. Podstawowym modelem bazowym jest regresja logistyczna, ale system zasadniczo korzysta z uczenia maszynowego, aby ustalić właściwą kombinację wyboru funkcji, redukcji wymiarów, regularyzacji itp. W celu wygenerowania dokładnych prognoz. To była bardzo imponująca rozmowa, a wszystkie szczegóły są bardzo zastrzeżone. Najwyraźniej ich klientami są duże firmy finansowe, a system może obsługiwać dowolnie ogromne zbiory danych.

Wydaje się, że przynajmniej kilka osób uważa, że ​​zautomatyzowana nauka danych już tu jest, przynajmniej w przypadku niektórych aplikacji. A niektóre z tych osób (klienci Kontekstu Odnośnego) najwyraźniej płacą przez nos za dostęp do nich.

Shadowtalker
źródło
1

Nie, to nie sen. Wdrożyliśmy to (połączenie wszystkich wymienionych przez ciebie technik, w tym zestawionych zestawów) w bibliotece uczenia maszynowego H2O . Możesz przeczytać więcej na ten temat i znaleźć przykłady kodu w R i Python tutaj .

Erin LeDell
źródło