Udostępnij za pośrednictwem


Regresja liniowa

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 model regresji liniowej

Kategoria: Machine Learning / Inicjowanie modelu / Regresja

Uwaga

Dotyczy: tylko Machine Learning Studio (klasyczne)

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 regresji liniowej w programie Machine Learning Studio (wersja klasyczna) w celu utworzenia modelu regresji liniowej do użycia w eksperymencie. Regresja liniowa próbuje ustanowić relację liniową między co najmniej jedną zmienną niezależną a wynikiem liczbowym lub zmienną zależną.

Ten moduł służy do definiowania metody regresji liniowej, a następnie trenowania modelu przy użyciu zestawu danych z etykietami. Wytrenowany model może być następnie używany do przewidywania. Alternatywnie nieprzeszkolony model może zostać przekazany do modelu krzyżowego w celu krzyżowego sprawdzania poprawności zestawu danych z etykietami.

Więcej informacji na temat regresji liniowej

Regresja liniowa to powszechna metoda statystyczna, która została przyjęta w uczeniu maszynowym i rozszerzona o wiele nowych metod dopasowywania linii i mierzenia błędów. W najbardziej podstawowym sensie regresja odnosi się do przewidywania liczbowego celu. Regresja liniowa jest nadal dobrym wyborem, jeśli potrzebujesz bardzo prostego modelu dla podstawowego zadania predykcyjnego. Regresja liniowa zwykle działa również dobrze w przypadku wielowymiarowych, rozrzednych zestawów danych, które nie mają złożoności.

Machine Learning Studio (klasyczne) obsługuje różne modele regresji, oprócz regresji liniowej. Termin "regresja" można jednak interpretować luźno, a niektóre typy regresji dostępne w innych narzędziach nie są obsługiwane w programie Studio (wersja klasyczna).

  • Klasyczny problem regresji obejmuje jedną zmienną niezależną i zmienną zależną. Jest to nazywane regresją prostą. Ten moduł obsługuje regresję prostą.

  • Regresja liniowa wielokrotna obejmuje co najmniej dwie zmienne niezależne, które przyczyniają się do pojedynczej zmiennej zależnej. Problemy, w których wiele danych wejściowych jest używanych do przewidywania pojedynczego wyniku liczbowego, są również nazywane wielozmianową regresją liniową.

    Moduł Regresja liniowa może rozwiązać te problemy, podobnie jak większość innych modułów regresji w programie Studio (wersja klasyczna).

  • Regresja z wieloma etykietami to zadanie przewidywania wielu zmiennych zależnych w ramach jednego modelu. Na przykład w przypadku regresji logistycznej z wieloma etykietami przykład można przypisać do wielu różnych etykiet. (Różni się to od zadania przewidywania wielu poziomów w ramach pojedynczej zmiennej klasy).

    Ten typ regresji nie jest obsługiwany w Machine Learning. Aby przewidzieć wiele zmiennych, utwórz oddzielnego uczących się dla każdego wyniku, który chcesz przewidzieć.

Od lat statystyka opracowuje coraz bardziej zaawansowane metody regresji. Jest to prawdziwe nawet w przypadku regresji liniowej. Ten moduł obsługuje dwie metody mierzenia błędów i dopasowania linii regresji: zwykłą metodę najmniejszych kwadratów i spadek gradientu.

  • Spadek gradientu to metoda, która minimalizuje liczbę błędów na każdym etapie procesu trenowania modelu. Istnieje wiele odmian spadku gradientu, a jego optymalizacja pod kątem różnych problemów z uczeniem się została szeroko zbadana. Jeśli wybierzesz tę opcję dla opcji Metoda rozwiązania, możesz ustawić różne parametry, aby kontrolować rozmiar kroku, szybkość nauki itd. Ta opcja obsługuje również korzystanie ze zintegrowanego czyszczenie parametrów.

  • Zwykłe najmniejsze kwadraty to jedna z najczęściej używanych technik regresji liniowej. Na przykład metoda najmniejszych kwadratów jest używana w narzędziu Analysis Toolpak dla Microsoft Excel.

    Zwykłe najmniejsze kwadraty odnoszą się do funkcji straty, która oblicza błąd jako sumę kwadratu odległości od wartości rzeczywistej do przewidywanej linii i dopasowuje model przez zminimalizowanie błędu kwadratowego. Ta metoda zakłada silną liniową relację między wejściami i zmienną zależną.

Jak skonfigurować regresję liniową

Ten moduł obsługuje dwie metody dopasowywania modelu regresji z bardzo różnymi opcjami:

Tworzenie modelu regresji przy użyciu zwykłych najmniejszych kwadratów

  1. Dodaj moduł Model regresji liniowej do eksperymentu w programie Studio (wersja klasyczna).

    Ten moduł można znaleźć w kategorii Machine Learning kategorii. Rozwiń pozycję Initialize Model (Inicjowanie modelu), rozwiń pozycję Regression (Regresja), a następnie przeciągnij moduł Linear Regression Model (Model regresji liniowej) do eksperymentu.

  2. W okienku Właściwości na liście rozwijanej Metoda rozwiązania wybierz pozycję Zwykłe najmniejsze kwadraty. Ta opcja określa metodę obliczeniową używaną do znalezienia linii regresji.

  3. W L2 wagi regularyzacji, wpisz wartość do użycia jako waga dla L2 regularization. Zalecamy użycie wartości niezerowej w celu uniknięcia naddopasowania.

    Aby dowiedzieć się więcej o tym, jak regularyzacja wpływa na dopasowanie modelu, zobacz ten artykuł: L1 i L2 Regularization for Machine Learning

  4. Wybierz opcję Dołącz termin przecięcia, jeśli chcesz wyświetlić termin przecięcia.

    Usuń zaznaczenie tej opcji, jeśli nie musisz przeglądać formuły regresji.

  5. W przypadku funkcji Ininicjator liczb losowych możesz opcjonalnie wpisać wartość, aby zainicjować generator liczb losowych używany przez model.

    Użycie wartości iniekcyjnej jest przydatne, jeśli chcesz zachować te same wyniki w różnych przebiegach tego samego eksperymentu. W przeciwnym razie wartością domyślną jest użycie wartości z zegara systemowego.

  6. Usuń zaznaczenie opcji Zezwalaj na nieznane poziomy kategorii, jeśli chcesz, aby brakujące wartości zgłaszały błąd.

    Jeśli ta opcja jest zaznaczona, dla każdej kolumny kategorii jest tworzony dodatkowy poziom. Wszystkie poziomy w testowym zestawie danych, które nie były obecne w zestawie danych treningowych, są mapowane na ten dodatkowy poziom.

  7. Dodaj moduł Train Model (Trenowanie modelu) do eksperymentu i połącz zestaw danych z etykietami.

  8. Uruchom eksperyment.

Wyniki dla zwykłego modelu najmniejszych kwadratów

Po zakończeniu szkolenia:

  • Aby wyświetlić parametry modelu, kliknij prawym przyciskiem myszy dane wyjściowe instruktora i wybierz pozycję Visualize ( Wizualizacja).

  • Aby przewidywać, połącz wytrenowany model z modułem Score Model (Ocena modelu) wraz z zestawem danych nowych wartości.

  • Aby przeprowadzić krzyżową walidację względem zestawu danych z etykietami, połącz nieprzeszkolony model z modelem krzyżowym.

Tworzenie modelu regresji przy użyciu spadku gradientu online

  1. Dodaj moduł Model regresji liniowej do eksperymentu w programie Studio (wersja klasyczna).

    Ten moduł można znaleźć w kategorii Machine Learning kategorii. Rozwiń element Initialize Model (Inicjowanie modelu), rozwiń element Regression (Regresja) i przeciągnij moduł Linear Regression Model (Model regresji liniowej) do eksperymentu

  2. W okienku Właściwości na liście rozwijanej Metoda rozwiązania wybierz pozycję Spadek gradientu online jako metodę obliczeniową używaną do wyszukiwania linii regresji.

  3. W przypadku ustawienia Utwórz tryb szkoleniowy wskaż, czy model ma być trenowany przy użyciu wstępnie zdefiniowanego zestawu parametrów, czy też chcesz zoptymalizować model za pomocą funkcji czyszczenie parametrów.

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

    • Zakres parametrów: jeśli algorytm ma znaleźć najlepsze parametry, ustaw opcję Utwórz tryb instruktora na wartość Zakres parametrów. Następnie możesz określić wiele wartości dla algorytmu do wypróbowania.

  4. Dla Edukacja określ początkowy wskaźnik nauki dla stochastycznego optymalizatora spadku gradientu.

  5. W przypadku wartości Liczba epok trenowania wpisz wartość, która wskazuje, ile razy algorytm ma iterować po przykładach. W przypadku zestawów danych z małą liczbą przykładów ta liczba powinna być duża, aby osiągnąć zbieżność.

  6. Normalizacja cech: jeśli już znormalizowano dane liczbowe używane do trenowania modelu, możesz usunąć zaznaczenie tej opcji. Domyślnie moduł normalizuje wszystkie liczbowe dane wejściowe do zakresu od 0 do 1.

    Uwaga

    Pamiętaj, aby zastosować tę samą metodę normalizacji do nowych danych używanych do oceniania.

  7. W L2 wagi regularyzacji, wpisz wartość do użycia jako waga dla L2 regularization. Zalecamy użycie wartości niezerowej w celu uniknięcia naddopasowania.

    Aby dowiedzieć się więcej o tym, jak regularyzacja wpływa na dopasowanie modelu, zobacz ten artykuł: L1 i L2 Regularization for Machine Learning

  8. Wybierz opcję Średnia hipoteza końcowa, aby uśrednić hipotezę końcową.

    W modelach regresji testowanie hipotez oznacza użycie jakiejś statystyki do oceny prawdopodobieństwa hipotezy zerowej, która stwierdza, że nie istnieje liniowa korelacja między zmienną zależną i niezależną. W wielu problemach regresji należy przetestować hipotezę obejmującą więcej niż jedną zmienną.

    Ta opcja jest domyślnie włączona, co oznacza, że algorytm testuje kombinację parametrów, w których są zaangażowane co najmniej dwa parametry.

  9. Wybierz opcję Zmniejsz tempo nauki, jeśli chcesz, aby tempo nauki zmniejszało się wraz z postępem iteracji.

  10. W przypadku funkcji Ininicjator liczb losowych możesz opcjonalnie wpisać wartość, aby zainicjować generator liczb losowych używany przez model. Użycie wartości iniekcyjnej jest przydatne, jeśli chcesz zachować te same wyniki w różnych przebiegach tego samego eksperymentu.

  11. Usuń zaznaczenie opcji Zezwalaj na nieznane poziomy kategorii, jeśli chcesz, aby brakujące wartości zgłaszały błąd.

    Po wybraniu tej opcji dla każdej kolumny kategorii jest tworzony dodatkowy poziom. Wszystkie poziomy w testowym zestawie danych, które nie są obecne w zestawie danych treningowych, są mapowane na ten dodatkowy poziom.

  12. Dodaj zestaw danych z etykietami i jeden z modułów szkoleniowych.

    Jeśli nie używasz funkcji czyszczenie parametrów, użyj modułu Train Model (Trenowanie modelu).

    Aby algorytm znalazł najlepsze parametry, wytrenuj model przy użyciu hiperparametrów modelu dostrajania.

    Uwaga

    Jeśli skonfigurujesz model z określonymi wartościami przy użyciu opcji Pojedynczy parametr, a następnie przełączysz się do opcji Zakres parametrów, model zostanie wytrenowany przy użyciu wartości minimalnej z zakresu dla każdego parametru.

    Z drugiej strony, jeśli skonfigurujesz określone ustawienia podczas tworzenia modelu, ale wybierzesz opcję Zakres parametrów, model zostanie wytrenowany przy użyciu wartości domyślnych dla uczących się jako zakresu wartości do przeoczenia.

  13. Uruchom eksperyment.

Wyniki spadku gradientu online

Po zakończeniu szkolenia:

  • Aby przewidywać, połącz wytrenowany model z modułem Score Model (Ocena modelu) wraz z nowymi danymi wejściowymi.
  • Aby przeprowadzić krzyżową walidację względem zestawu danych z etykietami, połącz nieprzeszkolony model z modelem krzyżowym.

Przykłady

Przykłady modeli regresji można znaleźć w tych przykładowych eksperymentach w Azure AI Gallery:

Uwagi techniczne

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

Porady dotyczące użycia

Wiele narzędzi obsługuje tworzenie regresji liniowej, od prostej do złożonej. Na przykład można łatwo wykonać regresję liniową w środowisku Excel przy użyciu zestawu narzędzi solver lub kodować własny algorytm regresji przy użyciu języka R, Python lub C#.

Jednak ze względu na to, że regresja liniowa jest dobrze ustanowioną techniką obsługiwaną przez wiele różnych narzędzi, istnieje wiele różnych interpretacji i implementacji. Nie wszystkie typy modeli są obsługiwane w równym stopniu przez wszystkie narzędzia. Istnieją również pewne różnice w zakresie nomenklatury, które należy obserwować.

  • Metody regresji są często kategoryzowane według liczby zmiennych odpowiedzi. Na przykład regresja liniowa wielokrotna oznacza model, który ma wiele zmiennych do przewidzenia.

  • W przypadku aplikacji Matlab regresja wielowariowa odnosi się do modelu, który ma wiele zmiennych odpowiedzi.

  • W Machine Learning regresji obsługują pojedynczą zmienną odpowiedzi.

  • W języku R funkcje dostępne dla regresji liniowej zależą od pakietu, który jest używany. Na przykład pakiet glm daje możliwość utworzenia modelu regresji logistycznej z wieloma niezależnymi zmiennymi. Ogólnie rzecz biorąc, Machine Learning Studio (wersja klasyczna) zapewnia taką samą funkcjonalność jak pakiet r glm.

W przypadku typowych problemów z regresją zalecamy użycie tego modułu, Linear Regression (Regresja liniowa).

Z kolei w przypadku użycia wielu zmiennych do przewidywania wartości klasy zalecamy moduły Dwuklasowa regresja logistyczna lub Wieloklasowa regresja logistyczna.

Jeśli chcesz użyć innych pakietów regresji liniowej, które są dostępne dla języka R, zalecamy użycie modułu Execute R Script (Wykonywanie skryptu R) i wywołanie pakietów lm lub glm, które są zawarte w środowisku uruchomieniowym programu Machine Learning Studio (wersja klasyczna).

Parametry modułu

Nazwa Zakres Typ Domyślny Opis
Normalizowanie cech dowolny Wartość logiczna true Wskazanie, czy wystąpienia powinny być znormalizowane
Średnia hipoteza końcowa dowolny Wartość logiczna true Wskazanie, czy końcowa hipoteza powinna być uśredniona
Tempo nauki >= double. Epsilon Float 0.1 Określanie początkowego kursu nauki dla stochastycznego optymalizatora spadku gradientu
Liczba epok trenowania >= 0 Liczba całkowita 10 Określ, ile razy algorytm ma iterować po przykładach. W przypadku zestawów danych z małą liczbą przykładów ta liczba powinna być duża, aby osiągnąć zbieżność.
Zmniejszanie szybkości nauki Dowolne Wartość logiczna true Wskazanie, czy tempo nauki powinno się zmniejszać w przypadku postępu iteracji
Waga regularyzacji L2 >= 0,0 Float 0,001 Określ wagę dla regularyzacji L2. Użyj wartości niezerowej, aby uniknąć naddopasowania.
Iniekt liczb losowych dowolny Liczba całkowita Określ wartość iniekcyjną generatora liczb losowych używanego przez model. Pozostaw wartość domyślną jako pustą.
Zezwalaj na nieznane poziomy kategorii dowolny Wartość logiczna true Wskaż, czy należy utworzyć dodatkowy poziom dla każdej kolumny kategorii. Wszystkie poziomy w testowym zestawie danych niedostępne w zestawie danych treningowych są mapowane na ten dodatkowy poziom.
Uwzględnij termin przecięcia Dowolne Boolean Prawda Wskazuje, czy należy dodać dodatkowy termin dla przecięcia

Dane wyjściowe

Nazwa Typ Opis
Nieprzetrenowany model ILearner, interfejs Nieprzetrenowany model regresji

Zobacz też

Regresja