Poradniki
Poradniki · 12 min czytania · 23 maja 2026

Jak zrozumieć regresję lokalnie ważoną i logistyczną - przewodnik

Grafika ilustrująca: Jak zrozumieć regresję lokalnie ważoną i logistyczną - przewodnik

Źródło: Link

Kurs AI Evolution — od zera do eksperta

118 lekcji bez kodowania. ChatGPT, Claude, Gemini, automatyzacje. Notatnik AI i AI Coach w cenie.

Zacznij od zera →

Regresja liniowa to fundament uczenia maszynowego. Dopasowujesz prostą do danych, minimalizujesz błąd, gotowe. Tylko że większość prawdziwych problemów nie układa się w linię prostą. Ceny domów nie rosną proporcjonalnie do metrażu. Prawdopodobieństwo, że klient kliknie w reklamę, nie zmienia się liniowo z czasem spędzonym na stronie.

Wtedy potrzebujesz czegoś więcej. Andrew Ng w trzecim wykładzie kursu CS229 na Stanfordzie omawia dwa rozszerzenia: regresję lokalnie ważoną (która pozwala dopasować krzywą zamiast linii) i regresję logistyczną (która pozwala przewidywać kategorie, nie liczby).

Ten przewodnik przeprowadzi Cię przez obie metody krok po kroku - bez zaawansowanej matematyki, za to z konkretnymi przykładami.

Różnica między regresją liniową a lokalnie ważoną - ta sama prosta vs krzywa dopasowana do danych
Różnica między regresją liniową a lokalnie ważoną - ta sama prosta vs krzywa dopasowana do danych

Zanim zaczniesz - co musisz wiedzieć

Ten przewodnik zakłada, że rozumiesz podstawy regresji liniowej. Jeśli nie - najpierw przejdź przez materiał o gradiencie prostym i równaniach normalnych. Potrzebujesz wiedzieć:

  • Czym jest hipoteza h(x) = θ₀ + θ₁x₁ + θ₂x₂ + ...
  • Jak działa funkcja kosztu (suma kwadratów błędów)
  • Co to są parametry θ (theta) i jak je optymalizujesz
  • Notację: x⁽ⁱ⁾ to i-ty przykład treningowy, y⁽ⁱ⁾ to jego wartość docelowa

Jeśli te pojęcia brzmią obco, wróć do podstaw uczenia maszynowego i dopiero potem wracaj tutaj.

Problem z prostą linią - kiedy regresja liniowa nie wystarcza

Masz dane o cenach domów. Na osi X: metraż. Na osi Y: cena. Klasyczna regresja liniowa dopasuje prostą. I może to zadziała - jeśli zależność faktycznie jest liniowa.

Często dane wyglądają inaczej. Małe domy (50-100m²) drożeją wolno. Średnie (100-150m²) szybciej. Duże (powyżej 150m²) znowu wolniej, bo rynek się zwęża. Prosta linia nie odda tej krzywizny. Będziesz miał duży błąd.

Możesz dodać więcej cech - metraż do kwadratu, do sześcianu. Ale to wymaga ręcznego wyboru, co dodać. I łatwo o overfitting (model dopasuje się idealnie do danych treningowych, ale nie zadziała na nowych).

Regresja lokalnie ważona rozwiązuje ten problem inaczej: zamiast dopasowywać jedną globalną prostą, dopasowuje lokalną prostą dla każdego punktu, który chcesz przewidzieć.

Jak działa regresja lokalnie ważona - krok po kroku

Podstawowa idea: gdy przewidujesz cenę domu o metrażu 120m², nie patrzysz na wszystkie domy równo. Dajesz większą wagę domom o podobnym metrażu (110-130m²), a mniejszą tym odległym (50m² czy 200m²).

Krok 1: Wybierz punkt, który chcesz przewidzieć

Załóżmy, że ktoś pyta: ile kosztuje dom 120m²? To Twój punkt zapytania x.

Krok 2: Oblicz wagi dla każdego przykładu treningowego

Dla każdego domu w Twoich danych treningowych obliczasz wagę w⁽ⁱ⁾. Im bliżej metraż tego domu do 120m², tym większa waga. Im dalej - tym mniejsza.

Standardowa formuła wagi to funkcja Gaussa (dzwon):

w⁽ⁱ⁾ = exp(-(x⁽ⁱ⁾ - x)² / (2τ²))

Gdzie τ (tau) to parametr szerokości. Mały τ = tylko najbliżsi sąsiedzi mają wagę. Duży τ = nawet odległe punkty wpływają na predykcję.

Krok 3: Dopasuj regresję liniową z wagami

Teraz rozwiązujesz standardową regresję liniową, ale zamiast minimalizować sumę kwadratów błędów, minimalizujesz ważoną sumę:

J(θ) = Σ w⁽ⁱ⁾ (h(x⁽ⁱ⁾) - y⁽ⁱ⁾)²

Przykłady bliskie 120m² (duża waga) wpływają mocno na dopasowanie. Odległe (mała waga) prawie wcale.

Krok 4: Użyj dopasowanych parametrów do predykcji

Obliczasz h(x) dla x = 120m². To Twoja predykcja.

Krok 5: Powtórz dla każdego nowego punktu

Kluczowa różnica: w regresji liniowej dopasowujesz parametry raz. W lokalnie ważonej - za każdym razem, gdy przewidujesz nowy punkt. To kosztowne obliczeniowo, ale daje elastyczność.

Regresja lokalnie ważona dopasowuje lokalną prostą dla każdego punktu zapytania
Regresja lokalnie ważona dopasowuje lokalną prostą dla każdego punktu zapytania

Parametr τ (tau) - jak wybrać szerokość okna

Tau kontroluje, jak "lokalny" jest Twój model:

  • Małe τ (np. 0.1): tylko najbliżsi sąsiedzi liczą się w predykcji. Model bardzo elastyczny, dopasowuje się do lokalnych fluktuacji. Ryzyko: overfitting - model "zapamięta" szum w danych.
  • Duże τ (np. 10): wszystkie punkty mają podobną wagę. Model zachowuje się jak zwykła regresja liniowa. Ryzyko: underfitting - nie złapiesz nieliniowych zależności.
  • Średnie τ (np. 1): balans między elastycznością a stabilnością.

Jak wybrać? Walidacja krzyżowa. Testujesz różne wartości τ na zbiorze walidacyjnym i wybierasz tę, która daje najmniejszy błąd.

Kiedy używać regresji lokalnie ważonej - praktyczne zastosowania

Regresja lokalnie ważona sprawdza się, gdy:

  1. Masz wystarczająco dużo danych - potrzebujesz gęstego pokrycia przestrzeni cech. Jeśli masz 20 przykładów, nie ma sensu dopasowywać lokalnych modeli.
  2. Zależność jest nieliniowa, ale gładka - jeśli dane tworzą krzywą bez gwałtownych skoków, lokalnie ważona złapie ten kształt.
  3. Nie musisz interpretować modelu - w regresji liniowej mówisz "każdy dodatkowy metr kwadratowy zwiększa cenę o X". W lokalnie ważonej nie masz jednego globalnego współczynnika.
  4. Predykcja w czasie rzeczywistym nie jest krytyczna - bo musisz dopasowywać model dla każdego zapytania.

Przykłady z życia: prognozowanie ruchu drogowego (natężenie zmienia się nieliniowo w ciągu dnia), modelowanie cen nieruchomości (lokalna specyfika dzielnic), analiza trendów giełdowych (krótkoterminowe fluktuacje).

Od regresji do klasyfikacji - wprowadzenie do regresji logistycznej

Regresja liniowa przewiduje liczby (cena domu: 500 000 zł). Ale co, jeśli chcesz przewidzieć kategorię? Czy klient kliknie w reklamę (tak/nie)? Czy email to spam (tak/nie)?

Możesz spróbować użyć regresji liniowej: 0 = nie, 1 = tak. To nie zadziała dobrze. Regresja liniowa może przewidzieć 1.5 albo -0.3. Co to znaczy? "Trochę tak"? "Mniej niż nie"?

Regresja logistyczna rozwiązuje ten problem, zmieniając wyjście z liczby na prawdopodobieństwo (wartość między 0 a 1).

Jak działa regresja logistyczna - mechanizm krok po kroku

Krok 1: Zacznij od regresji liniowej

Obliczasz z = θ₀ + θ₁x₁ + θ₂x₂ + ... (dokładnie jak w regresji liniowej). To Twój "surowy" wynik.

Krok 2: Przepuść przez funkcję sigmoidalną

Zamiast zwrócić z, przepuszczasz go przez funkcję sigmoidalną (logistyczną):

h(x) = 1 / (1 + e⁻ᶻ)

Ta funkcja "ściska" dowolną liczbę z do przedziału (0, 1):

  • Jeśli z = 0, sigmoid zwraca 0.5
  • Jeśli z → +∞, sigmoid → 1
  • Jeśli z → -∞, sigmoid → 0

Teraz h(x) możesz interpretować jako prawdopodobieństwo: "Model przewiduje 0.8 = 80% szans, że klient kliknie".

Krok 3: Ustal próg decyzyjny

Standardowo: jeśli h(x) ≥ 0.5, przewidujesz klasę 1 (tak). Jeśli h(x) < 0.5, przewidujesz klasę 0 (nie). Możesz przesunąć próg w zależności od problemu (np. w diagnostyce medycznej wolisz fałszywe alarmy niż przeoczone przypadki).

Funkcja sigmoidalna zamienia surowy wynik regresji liniowej na prawdopodobieństwo
Funkcja sigmoidalna zamienia surowy wynik regresji liniowej na prawdopodobieństwo

Jak trenować regresję logistyczną - gradient descent z nową funkcją kosztu

W regresji liniowej minimalizowałeś sumę kwadratów błędów. W logistycznej używasz innej funkcji kosztu - cross-entropy (entropia krzyżowa):

J(θ) = -1/m Σ [y⁽ⁱ⁾ log(h(x⁽ⁱ⁾)) + (1 - y⁽ⁱ⁾) log(1 - h(x⁽ⁱ⁾))]

Dlaczego nie suma kwadratów? Bo z sigmoidem tworzy nieliniową, wielomodalną funkcję (wiele lokalnych minimów). Gradient descent może ugrzęznąć. Cross-entropy daje wypukłą funkcję kosztu - jedno globalne minimum, łatwiej optymalizować.

Gradient descent dla regresji logistycznej

Aktualizacja parametrów wygląda identycznie jak w regresji liniowej:

θⱼ := θⱼ - α (1/m) Σ (h(x⁽ⁱ⁾) - y⁽ⁱ⁾) xⱼ⁽ⁱ⁾

Różnica: h(x) to teraz sigmoid, nie liniowa funkcja. Ale wzór aktualizacji - identyczny. To elegancka matematyka.

Metoda Newtona - szybsza optymalizacja niż gradient descent

Gradient descent działa, ale bywa wolny. Musisz dobierać learning rate α, robić wiele iteracji. Metoda Newtona (Newton-Raphson) to alternatywa, która często zbiega szybciej.

Zamiast iść w kierunku gradientu małymi krokami, metoda Newtona używa informacji o krzywiźnie funkcji (druga pochodna, macierz Hessego) i robi większe, mądrzejsze kroki.

Aktualizacja w metodzie Newtona:

θ := θ - H⁻¹ ∇J(θ)

Gdzie H to macierz Hessego (drugie pochodne), ∇J(θ) to gradient.

Zalety: zbieżność w mniejszej liczbie iteracji (czasem 10-20 zamiast tysięcy). Wady: musisz obliczać i odwracać macierz Hessego - kosztowne dla dużych danych (setki tysięcy cech).

Dla małych i średnich problemów (tysiące przykładów, dziesiątki cech) metoda Newtona wygrywa. Dla dużych (miliony przykładów) gradient descent (lub jego warianty jak Adam) są bardziej skalowalne.

Praktyczne przykłady - gdzie stosować regresję logistyczną

Regresja logistyczna to koń roboczy klasyfikacji binarnej. Używasz jej, gdy:

  1. Spam detection: cechy to słowa w emailu ("viagra", "kliknij tutaj", "darmowy"), wyjście to spam/nie-spam. Proste, szybkie, działa.
  2. Click-through rate prediction: przewidujesz, czy użytkownik kliknie w reklamę na podstawie historii przeglądania, danych demograficznych, kontekstu strony.
  3. Diagnostyka medyczna: na podstawie wyników badań (ciśnienie, cholesterol, wiek) przewidujesz ryzyko choroby serca.
  4. Credit scoring: bank przewiduje, czy klient spłaci kredyt (tak/nie) na podstawie historii kredytowej, dochodów, zatrudnienia.

Regresja logistyczna to nie najnowocześniejszy model (dziś mamy sieci neuronowe, gradient boosting), ale wciąż używana - bo szybka, interpretowalna (widzisz, które cechy wpływają jak mocno na decyzję) i stabilna.

Jeśli dopiero zaczynasz z uczeniem maszynowym, zacznij od regresji logistycznej. Zrozumiesz fundamenty, zanim przejdziesz do bardziej złożonych modeli.

Interpretacja probabilistyczna - dlaczego to działa

Andrew Ng w wykładzie omawia też probabilistyczną interpretację regresji liniowej i logistycznej. Dlaczego minimalizowanie sumy kwadratów błędów w regresji liniowej ma sens? Bo to równoważne maksymalizacji prawdopodobieństwa danych przy założeniu, że błędy mają rozkład Gaussa.

Dlaczego cross-entropy w regresji logistycznej? Bo to równoważne maksymalizacji prawdopodobieństwa przy założeniu rozkładu Bernoulliego (moneta - orzeł/reszka).

Ta perspektywa łączy uczenie maszynowe ze statystyką. Nie musisz tego rozumieć, żeby używać modeli. Ale jeśli chcesz głębiej - to fundament bayesowskiego podejścia do ML.

Pułapki i częste błędy - czego unikać

Kilka rzeczy, które łatwo spartaczyć:

  • Regresja lokalnie ważona na małych danych: jeśli masz 50 przykładów, lokalnie ważona nie zadziała. Potrzebujesz gęstego pokrycia przestrzeni cech.
  • Zapomnienie o normalizacji cech: jeśli jedna cecha ma zakres 0-1, a druga 0-1000, wagi w regresji lokalnie ważonej będą zdominowane przez tę drugą. Normalizuj (mean = 0, std = 1) przed treningiem.
  • Interpretowanie wyjścia regresji logistycznej jako pewności: h(x) = 0.9 to nie znaczy "model jest pewny w 90%". To prawdopodobieństwo kalibrowane na danych treningowych. Modele bywają overconfident (mówią 0.9, a faktyczna częstość to 0.7).
  • Używanie regresji logistycznej do klasyfikacji wieloklasowej bez modyfikacji: standardowa regresja logistyczna to binarna klasyfikacja (0/1). Dla wielu klas potrzebujesz softmax regression (one-vs-all lub multinomial logistic regression).

Następne kroki - co dalej po tym przewodniku

Jeśli dotarłeś tutaj, rozumiesz podstawy regresji lokalnie ważonej i logistycznej. To solidny fundament. Następne kroki:

  1. Zaimplementuj to sam: weź prosty dataset (np. Iris, Boston Housing), napisz regresję logistyczną od zera w Pythonie. Nie używaj sklearn - zrób gradient descent ręcznie. Zobaczysz, jak to działa od środka.
  2. Eksperymentuj z τ: w regresji lokalnie ważonej przetestuj różne wartości tau. Zobacz, jak zmienia się dopasowanie. Zrób wykres błędu treningowego vs walidacyjnego dla różnych τ.
  3. Porównaj z innymi modelami: weź ten sam problem, rozwiąż regresją logistyczną, drzewem decyzyjnym, SVM. Zobacz, który daje lepsze wyniki. Zrozumiesz mocne i słabe strony każdego.
  4. Przejdź do głębszych materiałów: jeśli Stanford CS229 Cię interesuje, kontynuuj cały kurs. Kolejne wykłady omawiają SVM, sieci neuronowe, unsupervised learning.

Uczenie maszynowe to umiejętność praktyczna. Czytanie o tym daje podstawy. Implementacja - zrozumienie. Eksperymentowanie - intuicję.

Chcesz opanować AI od podstaw?

Ten poradnik to dopiero początek. W naszym kursie "Praktyczna AI" nauczysz się korzystać z ChatGPT, Claude i innych narzędzi AI w sposób systematyczny - od zera do zaawansowanego poziomu.

Sprawdź kurs →

Podsumowanie - co zapamiętać

Regresja lokalnie ważona rozszerza regresję liniową, pozwalając dopasować nieliniowe zależności bez ręcznego dobierania cech. Dopasowujesz lokalny model dla każdego punktu zapytania, dając większą wagę bliskim sąsiadom. Elastyczna, ale kosztowna obliczeniowo.

Regresja logistyczna zmienia problem regresji (przewidywanie liczb) w klasyfikację (przewidywanie kategorii). Używa funkcji sigmoidalnej, żeby zamienić surowy wynik w prawdopodobieństwo. Trenowana przez gradient descent lub metodę Newtona z funkcją kosztu cross-entropy.

Oba podejścia to fundamenty uczenia maszynowego. Nie najnowocześniejsze, ale wciąż używane - i kluczowe, żeby zrozumieć bardziej zaawansowane modele.

Jeden krok na start: Otwórz Jupyter Notebook. Załaduj dataset Iris (klasyfikacja kwiatów na podstawie wymiarów płatków). Zaimplementuj regresję logistyczną od zera - gradient, sigmoid, cross-entropy. Nie używaj gotowych bibliotek. Zobaczysz, jak to działa naprawdę. I zrozumiesz, dlaczego sklearn robi to w jednej linii.

Najczęstsze pytania

Czym różni się regresja lokalnie ważona od zwykłej regresji liniowej?

Regresja liniowa dopasowuje jedną globalną prostą do wszystkich danych. Regresja lokalnie ważona dopasowuje lokalną prostą dla każdego punktu zapytania, dając większą wagę przykładom treningowym bliskim temu punktowi. Dzięki temu może modelować nieliniowe zależności bez dodawania nowych cech.

Kiedy używać regresji logistycznej zamiast liniowej?

Regresja liniowa przewiduje wartości ciągłe (cena domu, temperatura). Regresja logistyczna przewiduje kategorie binarne (spam/nie-spam, klik/brak kliku). Jeśli Twoje wyjście to 0/1, tak/nie, prawda/fałsz - używasz logistycznej. Jeśli liczba rzeczywista - liniowej.

Co to jest parametr τ (tau) w regresji lokalnie ważonej?

Tau kontroluje szerokość "okna" wag. Małe tau oznacza, że tylko najbliżsi sąsiedzi wpływają na predykcję (model bardzo elastyczny, ryzyko overfittingu). Duże tau oznacza, że wszystkie punkty mają podobną wagę (model zachowuje się jak zwykła regresja liniowa). Dobierasz tau przez walidację krzyżową.

Dlaczego w regresji logistycznej używa się funkcji sigmoidalnej?

Sigmoid zamienia dowolną liczbę rzeczywistą w wartość między 0 a 1, którą możesz interpretować jako prawdopodobieństwo. Bez sigmoida regresja liniowa mogłaby przewidzieć wartości poza zakresem [0,1], co nie ma sensu dla prawdopodobieństwa. Sigmoid też daje gładką, różniczkowalną funkcję, łatwą do optymalizacji.

Czy metoda Newtona jest zawsze lepsza od gradient descent?

Nie. Metoda Newtona zbiega szybciej (mniej iteracji), ale każda iteracja jest droższa - musisz obliczać i odwracać macierz Hessego. Dla małych problemów (tysiące przykładów, dziesiątki cech) wygrywa. Dla dużych (miliony przykładów, setki tysięcy cech) gradient descent i jego warianty (Adam, RMSprop) są bardziej skalowalne.

Na podstawie: Stanford CS229: Machine Learning - Lecture 3 (Andrew Ng)

Informacje o artykule

Podoba Ci się ten artykuł?

Co piątek wysyłam podsumowanie najlepszych artykułów tygodnia. Zapisz się!

Ten temat omawiam szerzej na webinarze

90 minut praktycznej wiedzy o AI. Pokaze Ci krok po kroku, jak zaczac oszczedzac 10 godzin tygodniowo dzieki sztucznej inteligencji.

Zapisz sie na webinar
Udostępnij:
Jan Gajos

Ekspert AI & Founder, AI Evolution

Pasjonat sztucznej inteligencji, który od 18 lat działa z sukcesem biznesowo i szkoleniowo. Wprowadzam AI do swoich firm oraz codziennego życia. Fascynują mnie nowe technologie, gry wideo i składanie klocków Lego - tam też widzę logikę i kreatywność, które AI potrafi wzmacniać. Wierzę, że dobrze użyta sztuczna inteligencja to nie ogłupiające ułatwienie, lecz prawdziwy przełom w sposobie, w jaki myślimy, tworzymy i pracujemy.