Udostępnij za pośrednictwem


Dwuklasowa regresja logistyczna

Ważne

Obsługa programu Machine Learning Studio (wersja klasyczna) zakończy się 31 sierpnia 2024 r. Zalecamy przejście do usługi Azure Machine Learning przed tym terminem.

Od 1 grudnia 2021 r. nie będzie można tworzyć nowych zasobów programu Machine Learning Studio (wersja klasyczna). Do 31 sierpnia 2024 r. można będzie nadal korzystać z istniejących zasobów programu Machine Learning Studio (wersja klasyczna).

Dokumentacja programu ML Studio (wersja klasyczna) jest wycofywana i może nie być aktualizowana w przyszłości.

Tworzy dwuklasowy model regresji logistycznej

Kategoria: Machine Learning / Inicjowanie modelu / klasyfikacji

Uwaga

Dotyczy: Machine Learning Studio (wersja klasyczna)

Podobne moduły przeciągania i upuszczania są dostępne w Azure Machine Learning projektanta.

Omówienie modułu

W tym artykule opisano sposób użycia modułu Two-Class Logistic Regression (Dwuklasowa regresja logistyczna) w programie Machine Learning Studio (klasycznej) w celu utworzenia modelu regresji logistycznej, który może służyć do przewidywania dwóch (i tylko dwóch) wyników.

Regresja logistyczna to dobrze znana technika statystyczna używana do modelowania wielu rodzajów problemów. Ten algorytm jest metodą uczenia nadzorowanego . w związku z tym należy podać zestaw danych, który zawiera już wyniki trenowania modelu.

Więcej informacji na temat regresji logistycznej

Regresja logistyczna to dobrze znana metoda w statystyce, która jest używana do przewidywania prawdopodobieństwa wyniku i jest szczególnie popularna w przypadku zadań klasyfikacji. Algorytm przewiduje prawdopodobieństwo wystąpienia zdarzenia przez dopasowanie danych do funkcji logistycznej. Aby uzyskać szczegółowe informacje o tej implementacji, zobacz sekcję Uwagi techniczne.

W tym module algorytm klasyfikacji jest zoptymalizowany pod kątem zmiennych dwuchotomowych lub binarnych. Jeśli chcesz sklasyfikować wiele wyników, użyj modułu Multiclass Logistic Regression (Wieloklasowa regresja logistyczna ).

Jak skonfigurować Two-Class logistycznej

Aby wytszkolić ten model, musisz podać zestaw danych, który zawiera etykietę lub kolumnę klasy. Ponieważ ten moduł jest przeznaczony dla problemów dwuklasowych, etykieta lub kolumna klasy musi zawierać dokładnie dwie wartości.

Na przykład kolumną etykiety może być [Wyklucz] z możliwymi wartościami "Tak" lub "Nie". Może to być również [ryzyko kredytowe] z możliwymi wartościami "Wysoki" lub "Niski".

  1. Dodaj moduł Two-Class Logistic Regression ( Dwuklasowa regresja logistyczna) do eksperymentu w programie Studio (wersja klasyczna).

  2. Określ sposób trenowania modelu, ustawiając opcję Utwórz tryb szkoleniowy .

    • Pojedynczy parametr: jeśli wiesz, jak chcesz skonfigurować model, możesz podać określony zestaw wartości jako argumenty.

    • Zakres parametrów: jeśli nie masz pewności co do najlepszych parametrów, możesz znaleźć optymalne parametry, określając wiele wartości i korzystając z modułu Hiperparametry modelu dostrajania, aby znaleźć optymalną konfigurację. Instruktor iteruje po wielu kombinacjach ustawień i określa kombinację wartości, która tworzy najlepszy model.

  3. W przypadku tolerancji optymalizacji określ wartość progową do użycia podczas optymalizacji modelu. Jeśli ulepszenia między iteracjami spadnie poniżej określonego progu, algorytm jest uznawany za zbieżny w rozwiązaniu, a szkolenie zatrzymuje się.

  4. W przypadku wagi regularyzacji L1 i wagi regularyzacji L2 wpisz wartość do użycia dla parametrów regularyzacji L1 i L2. Wartość niezerowa jest zalecana dla obu tych wartości.

    Regularyzacja to metoda zapobiegania overfitingu przez penalizowanie modeli z skrajnymi wartościami współczynników. Regularyzacja działa przez dodanie kar, która jest skojarzona z wartościami współczynników, do błędu hipotezy. W związku z tym dokładny model z skrajnymi wartościami współczynników będzie bardziej penalizowany, ale mniej dokładny model z bardziej zachowawczymi wartościami będzie mniej penalizowany.

    Regularyzacja L1 i L2 ma różne efekty i zastosowania.

    • L1 można zastosować do modeli rozrzedziowych, co jest przydatne podczas pracy z danymi wielowymiarowymi.

    • Z kolei regularyzacja L2 jest preferowana w przypadku danych, które nie są rozrzedzine.

    Ten algorytm obsługuje liniową kombinację wartości regularyzacji L1 i L2: to jest, jeśli x = L1y = L2i , ax + by = c definiuje liniowy zakres terminów regularyzacji.

    Uwaga

    Chcesz dowiedzieć się więcej o regularyzacji L1 i L2? Poniższy artykuł zawiera omówienie tego, czym różnią się regularyzacja L1 i L2 oraz jak wpływają na dopasowanie modelu, z przykładami kodu dla regresji logistycznej i modeli sieci neuronowych: L1 i L2 Regularization for Machine Learning

    Dla modeli regresji logistycznej opracowano różne kombinacje liniowe terminów L1 i L2: na przykład elastyczną regularizację netto. Zalecamy odwołanie się do tych kombinacji w celu zdefiniowania kombinacji liniowej, która jest skuteczna w modelu.

  5. W przypadku rozmiaru pamięci dla L-BFGS określ ilość pamięci do użycia na użytek optymalizacji L-BFGS .

    L-BFGS to skrót od "limited memory Broyden-Zietcher-Goldfarb-Shanno". Jest to algorytm optymalizacji, który jest popularny do szacowania parametrów. Ten parametr wskazuje liczbę przeszłych pozycji i gradientów do przechwycenia do obliczenia w następnym kroku.

    Ten parametr optymalizacji ogranicza ilość pamięci używanej do obliczania następnego kroku i kierunku. W przypadku określenia mniejszej ilości pamięci trenowania jest szybsze, ale mniej dokładne.

  6. W przypadku inieksji liczb losowych wpisz wartość całkowitą. Definiowanie wartości iniekcyjnej jest ważne, jeśli chcesz, aby wyniki były powtarzalne w wielu przebiegach tego samego eksperymentu.

  7. Wybierz opcję Zezwalaj na nieznane poziomy kategorii, aby utworzyć dodatkowy poziom "nieznany" w każdej kolumnie kategorii. Jeśli to zrobisz, wszystkie wartości (poziomy) w testowym zestawie danych, które nie są dostępne w zestawie danych treningowych, zostaną zamapowane na ten "nieznany".

  8. Dodaj otagowany zestaw danych do eksperymentu i połącz jeden z modułów szkoleniowych.

    • Jeśli ustawisz dla ustawienia Utwórz tryb szkoleniowy wartość Pojedynczy parametr, użyj modułu Train Model (Trenowanie modelu).

    • Jeśli ustawisz dla ustawienia Utwórz tryb szkoleniowy wartość Zakres parametrów, użyj modułu Hiperparametry modelu dostrajania.

    Uwaga

    Jeśli przekażemy zakres parametrów do funkcji Train Model, będzie on używać tylko pierwszej wartości z listy zakresów parametrów.

    Jeśli przekażemy pojedynczy zestaw wartości parametrów do modułu Dostrajanie hiperparametrów modelu, jeśli oczekuje on zakresu ustawień dla każdego parametru, zignoruje wartości i będzie używać wartości domyślnych dla uczących się.

    Jeśli wybierzesz opcję Zakres parametrów i wpiszesz pojedynczą wartość dowolnego parametru, ta pojedyncza wartość, która zostanie określona, będzie używana podczas całego czyszczenie, nawet jeśli inne parametry zmienią się w zakresie wartości.

  9. Uruchom eksperyment.

Wyniki

Po zakończeniu trenowania:

  • Aby wyświetlić podsumowanie parametrów modelu wraz z wagami cech uczonymi ze szkolenia, kliknij prawym przyciskiem myszy dane wyjściowe hiperparametrów trenowania modelu lub dostrajania modelu, a następnie wybierz pozycję Visualize (Wizualizacja).

  • Aby przewidywać na podstawie nowych danych, użyj wytrenowany model i nowych danych jako danych wejściowych modułu Score Model (Ocena modelu).

  • Aby przeprowadzić krzyżowe sprawdzanie poprawności zestawu danych z etykietami, połącz dane i nieprzetrenowany model z modelem krzyżowej weryfikacji.

Przykłady

Przykłady sposobu, w jaki jest używany ten algorytm uczenia, można znaleźć w Azure AI Gallery:

Uwagi techniczne

Ta sekcja zawiera szczegóły implementacji, porady i odpowiedzi na często zadawane pytania.

Wskazówki dotyczące użycia

Regresja logistyczna wymaga zmiennych liczbowych. W związku z tym w przypadku używania kolumn kategorii jako Machine Learning konwertuje wartości na wewnętrzną tablicę wskaźników.

W przypadku dat i godzin jest używana reprezentacja liczbowa. (Aby uzyskać więcej informacji na temat wartości daty i godziny, zobacz DateTime Structure (.NET Framework) - Uwagi.) Jeśli chcesz inaczej obsługiwać daty i godziny, zalecamy utworzenie kolumny pochodnej.

Szczegóły implementacji

Regresja logistyczna zakłada rozkład logistyczny danych, gdzie prawdopodobieństwo, że przykład należy do klasy 1, jest formułą:

p(x;β0,…, βD-1)

Gdzie:

  • x jest wektorem D-wymiarowym zawierającym wartości wszystkich cech wystąpienia.

  • p to funkcja dystrybucji logistycznej.

  • β{0},..., β {D-1} to nieznane parametry rozkładu logistycznego.

Algorytm próbuje znaleźć optymalne wartości dla , β{0},..., β {D-1} maksymalizując prawdopodobieństwo dziennika dla parametrów podanych w danych wejściowych. Maksymalizowanie jest wykonywane przy użyciu popularnej metody szacowania parametrów, nazywanej BFGS z ograniczoną pamięcią.

Badania

Aby uzyskać więcej informacji na temat implementacji tego algorytmu, zobacz Scalable Training of L-1 Regularized Log-Linear Models (Skalowalne trenowania regularizowanych modeli maszynowych L-1) autorstwa Andrew i Gao.

Parametry modułu

Nazwa Zakres Typ Domyślny Opis
Tolerancja optymalizacji >= double. Epsilon Float 0.0000001 Określanie wartości tolerancji dla optymalizatora L-BFGS
Waga regularyzacji L1 >= 0,0 Float 1.0 Określanie wagi regularyzacji L1
Waga regularyzacji L2 >= 0,0 Float 1.0 Określanie wagi regularyzacji L2
Rozmiar pamięci dla L-BFGS >= 1 Liczba całkowita 20 Określanie ilości pamięci (w MB) do użycia dla optymalizatora L-BFGS
Iniekt liczb losowych Dowolne Liczba całkowita Wpisz wartość, aby zainicjować generator liczb losowych używany przez model. Pozostaw wartość domyślną pustą.
Zezwalaj na nieznane poziomy kategorii Dowolne Boolean Prawda Wskaż, czy dla każdej kolumny kategorii powinien zostać utworzony dodatkowy poziom. Wszystkie poziomy w testowym zestawie danych, które nie są dostępne w zestawie danych treningowych, są mapowane na ten dodatkowy poziom.

Dane wyjściowe

Nazwa Typ Opis
Nieprzetrenowany model ILearner, interfejs Nieprzetrenowany model klasyfikacji

Zobacz też

Klasyfikacja

Wieloklasowa regresja logistyczna

Lista modułów A–Z