Udostępnij za pośrednictwem


Jak wybrać algorytmy dla usługi Azure Machine Learning

Jeśli zastanawiasz się, który algorytm uczenia maszynowego ma być używany, odpowiedź zależy przede wszystkim od dwóch aspektów scenariusza nauki o danych:

  • Co chcesz zrobić z danymi? W szczególności jakie jest pytanie biznesowe, na które chcesz odpowiedzieć, ucząc się z poprzednich danych?

  • Jakie są wymagania scenariusza nauki o danych? Jakie są funkcje, dokładność, czas trenowania, liniowość i parametry obsługiwane przez rozwiązanie?

Diagram przedstawiający zagadnienia dotyczące wybierania algorytmów uczenia maszynowego.

Uwaga

Projektant usługi Azure Machine Learning obsługuje dwa typy składników: klasyczne wstępnie utworzone składniki (wersja 1) i składniki niestandardowe (wersja 2). Te dwa typy składników nie są zgodne.

Klasyczne wstępnie utworzone składniki są przeznaczone głównie do przetwarzania danych i tradycyjnych zadań uczenia maszynowego, takich jak regresja i klasyfikacja. Ten typ składników nadal jest obsługiwany, ale nie będą do niego dodawane żadne nowego składniki.

Składniki niestandardowe umożliwiają opakowywanie własnego kodu jako składnika. Obsługują udostępnianie składników między obszarami roboczymi i bezproblemowe tworzenie w interfejsach programu Studio, interfejsu wiersza polecenia w wersji 2 i zestawu SDK w wersji 2.

W przypadku nowych projektów zdecydowanie zalecamy używanie składników niestandardowych, które są zgodne z usługą AzureML w wersji 2 i będą otrzymywać nowe aktualizacje.

Ten artykuł dotyczy klasycznych wstępnie utworzonych składników i nie jest zgodny z interfejsem wiersza polecenia w wersji 2 i zestawem SDK w wersji 2.

Ściągawka dotycząca algorytmów usługi Azure Machine Learning

Ściągawka dotycząca algorytmów usługi Azure Machine Learning pomaga w pierwszej kwestii: Co chcesz zrobić z danymi? W ściągawce poszukaj zadania, które chcesz wykonać, a następnie znajdź algorytm projektanta usługi Azure Machine Learning dla rozwiązania do analizy predykcyjnej.

Uwaga

Możesz pobrać ściągawkę dotycząca algorytmów uczenia maszynowego.

Projektant udostępnia kompleksowe portfolio algorytmów, takich jak wieloklasowy las decyzyjny, systemy rekomendacji, regresja sieci neuronowej, wieloklasowa sieć neuronowa i klastrowanie metodą K-Średnich. Każdy algorytm został zaprojektowany w celu rozwiązania innego typu problemu z uczeniem maszynowym. Zapoznaj się z dokumentacją dotyczącą algorytmu i składnika , aby uzyskać pełną listę wraz z dokumentacją dotyczącą działania poszczególnych algorytmów i dostrajania parametrów w celu optymalizacji algorytmu.

Oprócz tych wskazówek należy pamiętać o innych wymaganiach podczas wybierania algorytmu uczenia maszynowego. Poniżej przedstawiono dodatkowe czynniki, które należy wziąć pod uwagę, takie jak dokładność, czas trenowania, liniowość, liczba parametrów i liczba funkcji.

Porównanie algorytmów uczenia maszynowego

Niektóre algorytmy tworzą konkretne założenia dotyczące struktury danych lub żądanych wyników. Jeśli możesz znaleźć taki, który odpowiada Twoim potrzebom, może dać ci bardziej przydatne wyniki, dokładniejsze przewidywania lub szybsze czasy trenowania.

Poniższa tabela zawiera podsumowanie najważniejszych cech algorytmów klasyfikacji, regresji i rodzin klastrowania:

Algorytm Dokładność Czas trenowania Liniowości Parametry Uwagi
Rodzina klasyfikacji
Regresja logistyczna dwuklasowa Dobrze Szybkie przetwarzanie Tak 100
Dwuklasowy las decyzyjny Doskonałe Umiarkowane Nie. 5 Pokazuje wolniejsze czasy oceniania. Sugerujemy, że nie współpracujemy z wieloklasą one-vs-all z powodu wolniejszych czasów oceniania spowodowanych blokowaniem wątków w przewidywaniach drzewa gromadzenia
Dwuklasowe wzmocnione drzewo decyzyjne Doskonałe Umiarkowane Nie. 6 Duże zużycie pamięci
Dwuklasowa sieć neuronowa Dobrze Umiarkowane Nie. 8
Dwuklasowa średnia perceptron Dobrze Umiarkowane Tak 100
Dwuklasowa maszyna wektorowa obsługi Dobrze Szybkie przetwarzanie Tak 5 Dobre dla dużych zestawów funkcji
Regresja logistyczna wieloklasowa Dobrze Szybkie przetwarzanie Tak 100
Wieloklasowy las decyzyjny Doskonałe Umiarkowane Nie. 5 Pokazuje wolniejsze czasy oceniania
Wieloklasowe wzmocnione drzewo decyzyjne Doskonałe Umiarkowane Nie. 6 Ma tendencję do poprawy dokładności z niewielkim ryzykiem mniejszego pokrycia
Wieloklasowa sieć neuronowa Dobrze Umiarkowane Nie. 8
Jedna i wszystkie wieloklasy - - - - Zobacz właściwości wybranej metody dwuklasowej
Rodzina regresji
Regresja liniowa Dobrze Szybkie przetwarzanie Tak 100
Regresja lasu decyzyjnego Doskonałe Umiarkowane Nie. 5
Zwiększenie regresji drzewa decyzyjnego Doskonałe Umiarkowane Nie. 6 Duże zużycie pamięci
Regresja sieci neuronowej Dobrze Umiarkowane Nie. 8
Rodzina klastrów
Klastrowanie K-średnich Doskonałe Umiarkowane Tak 8 Algorytm klastrowania

Wymagania dotyczące scenariusza nauki o danych

Gdy wiesz, co chcesz zrobić z danymi, musisz określić inne wymagania dotyczące scenariusza nauki o danych.

Dokonaj wyborów i ewentualnie kompromisów dla następujących wymagań:

  • Dokładność
  • Czas trenowania
  • Liniowości
  • Liczba parametrów
  • Liczba funkcji

Dokładność

Dokładność w uczeniu maszynowym mierzy skuteczność modelu jako proporcję rzeczywistych wyników do łącznej liczby przypadków. W projektancie składnik Evaluate Model oblicza zestaw metryk oceny standardu branżowego. Za pomocą tego składnika można zmierzyć dokładność wytrenowanego modelu.

Uzyskanie najdokładniejszej możliwej odpowiedzi nie zawsze jest konieczne. Czasami przybliżenie jest odpowiednie, w zależności od tego, do czego chcesz go użyć. Jeśli tak jest, możesz znacznie skrócić czas przetwarzania, trzymając się bardziej przybliżonych metod. Przybliżone metody również naturalnie mają tendencję do unikania nadmiernego dopasowania.

Istnieją trzy sposoby używania składnika Evaluate Model( Ocena modelu):

  • Wygeneruj wyniki na podstawie danych treningowych, aby ocenić model.
  • Wygeneruj wyniki w modelu, ale porównaj te wyniki z wynikami w zestawie testów zarezerwowanych.
  • Porównaj wyniki dla dwóch różnych, ale powiązanych modeli przy użyciu tego samego zestawu danych.

Aby uzyskać pełną listę metryk i podejść, których można użyć do oceny dokładności modeli uczenia maszynowego, zobacz Evaluate Model component (Ocena składnika modelu).

Czas trenowania

W uczeniu nadzorowanym trenowanie oznacza używanie danych historycznych do tworzenia modelu uczenia maszynowego, który minimalizuje błędy. Liczba minut lub godzin potrzebnych do wytrenowania modelu różni się znacznie między algorytmami. Czas trenowania jest często ściśle związany z dokładnością; zwykle towarzyszy drugiemu.

Ponadto niektóre algorytmy są bardziej wrażliwe na liczbę punktów danych niż inne. Możesz wybrać określony algorytm, ponieważ masz ograniczenie czasowe, zwłaszcza gdy zestaw danych jest duży.

W projektancie tworzenie i używanie modelu uczenia maszynowego jest zwykle procesem trzyetapowym:

  1. Skonfiguruj model, wybierając określony typ algorytmu, a następnie definiując jego parametry lub hiperparametry.

  2. Podaj zestaw danych oznaczony etykietą i ma dane zgodne z algorytmem. Połącz zarówno dane, jak i model ze składnikiem Train Model (Trenowanie modelu).

  3. Po zakończeniu trenowania użyj wytrenowanego modelu z jednym ze składników oceniania, aby przewidywać nowe dane.

Liniowości

Liniowość statystyk i uczenia maszynowego oznacza, że istnieje relacja liniowa między zmienną a stałą w zestawie danych. Na przykład algorytmy klasyfikacji liniowej zakładają, że klasy mogą być oddzielone linią prostą (lub analogią wyższą).

Wiele algorytmów uczenia maszynowego wykorzystuje liniowość. W projektancie usługi Azure Machine Learning należą do nich:

Algorytmy regresji liniowej zakładają, że trendy danych są zgodne z linią prostą. To założenie nie jest złe dla niektórych problemów, ale dla innych zmniejsza dokładność. Pomimo ich wad algorytmy liniowe są popularne jako pierwsza strategia. Zwykle są one algorytmicznie proste i szybkie do trenowania.

Wykres przedstawiający granicę klasy nieliniowej.

Granica klasy nieliniowej: poleganie na algorytmie klasyfikacji liniowej spowodowałoby niską dokładność.

Wykres przedstawiający dane z trendem nieliniowym.

Dane z trendem nieliniowym: użycie metody regresji liniowej spowodowałoby wygenerowanie znacznie większych błędów niż jest to konieczne.

Liczba parametrów

Parametry to pokrętła, które analityk danych może włączyć podczas konfigurowania algorytmu. Są to liczby wpływające na zachowanie algorytmu, takie jak tolerancja błędów lub liczba iteracji, lub opcje między wariantami zachowania algorytmu. Czas trenowania i dokładność algorytmu może czasami być wrażliwa na uzyskanie odpowiednich ustawień. Zazwyczaj algorytmy z dużą liczbą parametrów wymagają największej liczby prób i błędów, aby znaleźć dobrą kombinację.

Alternatywnie w projektancie znajduje się składnik Hiperparametry modelu dostrajania. Celem tego składnika jest określenie optymalnych hiperparametrów dla modelu uczenia maszynowego. Składnik kompiluje i testuje wiele modeli przy użyciu różnych kombinacji ustawień. Porównuje metryki we wszystkich modelach, aby uzyskać kombinacje ustawień.

Chociaż jest to doskonały sposób, aby upewnić się, że zakres przestrzeni parametrów został przekroczony, czas wymagany do wytrenowania modelu zwiększa się wykładniczo wraz z liczbą parametrów. Plusem jest to, że posiadanie wielu parametrów zwykle wskazuje, że algorytm ma większą elastyczność. Często może osiągnąć bardzo dobrą dokładność, pod warunkiem, że można znaleźć odpowiednią kombinację ustawień parametrów.

Liczba funkcji

W uczeniu maszynowym funkcja jest kwantyfikalną zmienną zjawiska, które próbujesz przeanalizować. W przypadku niektórych typów danych liczba funkcji może być bardzo duża w porównaniu z liczbą punktów danych. Jest to często przypadek genetyki lub danych tekstowych.

Duża liczba funkcji może strasić niektóre algorytmy uczenia, co sprawia, że czas trenowania jest niewyobrażająco długi. Maszyny wektorów nośnych są dobrze dopasowane do scenariuszy z dużą liczbą funkcji. Z tego powodu zostały one użyte w wielu aplikacjach z pobierania informacji do klasyfikacji tekstu i obrazów. Maszyny wektorów nośnych mogą służyć zarówno do zadań klasyfikacji, jak i regresji.

Wybór funkcji odnosi się do procesu stosowania testów statystycznych do danych wejściowych, biorąc pod uwagę określone dane wyjściowe. Celem jest określenie, które kolumny są bardziej predykcyjne danych wyjściowych. Składnik Wybór cech opartych na filtrach w projektancie udostępnia wiele algorytmów wyboru funkcji do wyboru. Składnik zawiera metody korelacji, takie jak korelacja Pearson i wartości chi kwadratu.

Możesz również użyć składnika Ważność funkcji permutacji, aby obliczyć zestaw wyników ważności funkcji dla zestawu danych. Następnie możesz użyć tych wyników, aby ułatwić określenie najlepszych funkcji do użycia w modelu.