Jak wybrać algorytmy dla usługi Azure Machine Edukacja

Typowym pytaniem jest "Którego algorytmu uczenia maszynowego należy używać?" Wybrany algorytm zależy przede wszystkim od dwóch różnych 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? W szczególności jaka jest dokładność, czas trenowania, liniowość, liczba parametrów i liczba funkcji obsługiwanych przez rozwiązanie?

Considerations for choosing algorithms: What do you want to know? What are the scenario requirements?

Uwaga

Projektant 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 zapewniają wstępnie utworzone składniki na potrzeby 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ługuje 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życie składnika niestandardowego, który jest zgodny z językiem AzureML w wersji 2 i będzie nadal 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.

Scenariusze biznesowe i ściągawka dotycząca algorytmów Edukacja maszyny

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

Projektant Edukacja maszynowy oferuje 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 projektanta maszyny Edukacja, 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 wskazówek w ściągawce dotyczącej algorytmów usługi Azure Machine Edukacja należy pamiętać o innych wymaganiach podczas wybierania algorytmu uczenia maszynowego dla rozwiązania. 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 uczenia 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 Dobre Szybkie przetwarzanie Tak 100
Dwuklasowy las decyzyjny Excellent (Doskonały) Średnio Nie. 5 Pokazuje wolniejsze czasy oceniania. Zasugeruj, aby nie pracować z wieloklasą one-vs-all z powodu wolniejszych czasów oceniania spowodowanych blokowaniem bieżnika w przewidywaniach drzewa gromadzenia
Dwuklasowe wzmocnione drzewo decyzyjne Excellent (Doskonały) Średnio Nie. 6 Duże zużycie pamięci
Dwuklasowa sieć neuronowa Dobre Średnio Nie. 8
Dwuklasowa średnia perceptron Dobre Średnio Tak 100
Dwuklasowa maszyna wektorowa obsługi Dobre Szybkie przetwarzanie Tak 5 Dobre dla dużych zestawów funkcji
Regresja logistyczna wieloklasowa Dobre Szybkie przetwarzanie Tak 100
Wieloklasowy las decyzyjny Excellent (Doskonały) Średnio Nie. 5 Pokazuje wolniejsze czasy oceniania
Wieloklasowe wzmocnione drzewo decyzyjne Excellent (Doskonały) Średnio Nie. 6 Ma tendencję do poprawy dokładności z niewielkim ryzykiem mniejszego pokrycia
Wieloklasowa sieć neuronowa Dobre Średnio Nie. 8
Jedna i wszystkie wieloklasy - - - - Zobacz właściwości wybranej metody dwuklasowej
Rodzina regresji
Regresja liniowa Dobre Szybkie przetwarzanie Tak 100
Regresja lasu decyzyjnego Excellent (Doskonały) Średnio Nie. 5
Zwiększenie regresji drzewa decyzyjnego Excellent (Doskonały) Średnio Nie. 6 Duże zużycie pamięci
Regresja sieci neuronowej Dobre Średnio Nie. 8
Rodzina klastrów
Klastrowanie K-średnich Excellent (Doskonały) Średnio Tak 8 Algorytm klastrowania

Wymagania dotyczące scenariusza nauki o danych

Gdy wiesz, co chcesz zrobić z danymi, musisz określić dodatkowe wymagania dotyczące rozwiązania.

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 usługi Machine Edukacja składnik Evaluate Model oblicza zestaw standardowych metryk oceny branżowych. 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ć. W takim przypadku 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):

  • Generowanie wyników na podstawie danych treningowych w celu oceny modelu
  • Generowanie wyników w modelu, ale porównywanie tych wyników z wynikami w zestawie testów zarezerwowanych
  • Porównanie wyników 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 Edukacja maszynowych 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łączenie zarówno dane, jak i model do Trenowanie składnika 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 Edukacja 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.

Nonlinear class boundary

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

Data with a nonlinear trend

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 Edukacja maszyny znajduje się składnik Dostrajanie hiperparametrów modelu: 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 na upewnienie 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ą szczególnie odpowiednie 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 funkcji opartych na filtrach w projektancie Edukacja maszyny 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 wykorzystać te wyniki, aby ułatwić określenie najlepszych funkcji do użycia w modelu.

Następne kroki