Wprowadzenie do regresji

Regresja to jedna z fundamentalnych technik uczenia maszynowego i statystyki. Jej celem jest modelowanie zależności między zmiennymi wejściowymi (cechami, predyktorami) a zmienną docelową (odpowiedzią). Dwa podstawowe typy to regresja liniowa (odpowiedź ciągła) i regresja logistyczna (odpowiedź binarna lub wieloklasowa).

Mimo pozornej prostoty, te metody stanowią fundament całego uczenia maszynowego. Zrozumienie regresji liniowej jest kluczowe do zrozumienia sieci neuronowych (neuron liniowy + aktywacja), regularyzacji, gradientu i optymalizacji.

Regresja liniowa prosta

Regresja liniowa prosta modeluje zależność liniową między jedną zmienną wejściową x a zmienną docelową y:

y = β₀ + β₁x + ε

Gdzie β₀ to wyraz wolny (intercept), β₁ to współczynnik kierunkowy (slope), a ε to błąd losowy. Celem jest znalezienie β₀ i β₁ minimalizujących sumę kwadratów reszt (różnic między wartościami obserwowanymi a przewidywanymi).

Metoda najmniejszych kwadratów (OLS)

Ordinary Least Squares minimalizuje funkcję kosztu:

J(β₀, β₁) = Σ(yᵢ - β₀ - β₁xᵢ)²

Rozwiązanie analityczne istnieje i ma formę zamkniętą:

  • β₁ = Cov(x,y) / Var(x)
  • β₀ = ȳ - β₁x̄

To jedno z niewielu miejsc w ML, gdzie rozwiązanie analityczne jest dostępne — dla bardziej złożonych modeli konieczna jest optymalizacja iteracyjna.

Interpretacja współczynników

β₁ = 2.5 oznacza: „wzrost x o 1 jednostkę wiąże się ze wzrostem y o 2.5 jednostki, przy innych czynnikach bez zmian". β₀ to wartość y, gdy x = 0 (nie zawsze ma interpretację fizyczną).

R² (współczynnik determinacji) mierzy, jaki procent wariancji y wyjaśnia model. R² = 0.85 oznacza, że 85% zmienności y jest wyjaśnione przez x. R² ∈ [0, 1] — wyższe = lepsze dopasowanie.

Regresja liniowa wielokrotna

Gdy mamy wiele predyktorów x₁, x₂, ..., xₚ:

y = β₀ + β₁x₁ + β₂x₂ + ... + βₚxₚ + ε

W notacji macierzowej: y = Xβ + ε, rozwiązanie OLS: β = (XᵀX)⁻¹Xᵀy.

Założenia regresji liniowej

Model regresji liniowej opiera się na założeniach, których naruszenie prowadzi do błędnych wniosków:

  1. Liniowość — zależność między X a y jest liniowa (sprawdź wykresy reszt)
  2. Niezależność błędów — reszty nie są skorelowane (test Durbina-Watsona)
  3. Homoskedastyczność — wariancja reszt jest stała (wykres reszt vs. przewidywań)
  4. Normalność reszt — reszty mają rozkład normalny (wykres Q-Q)
  5. Brak multikolinearności — predyktory nie są silnie skorelowane (VIF < 10)

Gradient Descent

Gdy macierz XᵀX jest zbyt duża do odwrócenia lub optymalizujemy inną funkcję kosztu, stosujemy gradient descent — iteracyjny algorytm optymalizacji:

  1. Inicjalizuj β losowo
  2. Oblicz gradient ∇J(β) funkcji kosztu
  3. Aktualizuj: β ← β - α · ∇J(β), gdzie α to learning rate
  4. Powtarzaj aż do zbieżności

Warianty: Batch GD (cały zbiór), Stochastic GD (jedna próbka), Mini-batch GD (podzbiór) — kompromis między stabilnością a szybkością. Wszystkie sieci neuronowe trenowane są wariantami gradient descent.

Regularyzacja

Problem przetrenowania

Regresja z wieloma cechami może przetrenować się — idealnie dopasować do danych treningowych, ale źle generalizować. Regularyzacja dodaje karę za złożoność modelu do funkcji kosztu.

Ridge (L2)

J(β) = Σ(yᵢ - ŷᵢ)² + λ Σβⱼ²

Kara L2 zmniejsza współczynniki (shrinkage), ale nie zeruje ich. Parametr λ kontroluje siłę regularyzacji. Ridge jest preferowany, gdy wszystkie cechy mogą być istotne.

Lasso (L1)

J(β) = Σ(yᵢ - ŷᵢ)² + λ Σ|βⱼ|

Kara L1 może wyzerować współczynniki — dokonując automatycznej selekcji cech. Lasso jest preferowany, gdy podejrzewamy, że wiele cech jest nieistotnych.

Elastic Net

J(β) = Σ(yᵢ - ŷᵢ)² + λ₁ Σ|βⱼ| + λ₂ Σβⱼ²

Kombinacja L1 i L2. Zachowuje selekcję cech Lasso i stabilność Ridge. Przydatny, gdy cechy są skorelowane (Lasso wybiera jedną z grupy, Elastic Net zachowuje grupę).

Regresja logistyczna

Od regresji do klasyfikacji

Regresja logistyczna to metoda klasyfikacji, nie regresji — mimo nazwy. Przewiduje prawdopodobieństwo przynależności do klasy pozytywnej:

P(y=1|x) = σ(β₀ + β₁x₁ + ... + βₚxₚ)

Gdzie σ to funkcja sigmoidalna: σ(z) = 1 / (1 + e⁻ᶻ), mapująca wartości z (-∞, +∞) na przedział (0, 1).

Funkcja kosztu: Cross-Entropy

Regresja logistyczna minimalizuje binary cross-entropy (log loss):

J(β) = -1/N Σ[yᵢ·log(ŷᵢ) + (1-yᵢ)·log(1-ŷᵢ)]

Intuicja: wysoka kara, gdy model jest „pewny" złej odpowiedzi (np. przewiduje P=0.99 dla klasy negatywnej). Nie ma rozwiązania analitycznego — optymalizacja iteracyjna (gradient descent, Newton-Raphson, L-BFGS).

Granica decyzyjna

Regresja logistyczna tworzy liniową granicę decyzyjną: hiperpłaszczyznę dzielącą przestrzeń cech na regiony klas. Punkt x jest klasyfikowany jako klasa 1, gdy P(y=1|x) > 0.5, co odpowiada β₀ + βᵀx > 0.

Regresja logistyczna wieloklasowa

Dla K > 2 klas stosuje się:

  • One-vs-Rest (OvR) — K osobnych modeli binarnych, każdy odróżnia jedną klasę od reszty
  • Softmax (multinomial) — uogólnienie sigmoidu na K klas: P(y=k|x) = exp(βₖᵀx) / Σexp(βⱼᵀx). Funkcja kosztu: categorical cross-entropy

Interpretacja współczynników

W regresji logistycznej βⱼ interpretujemy w terminach ilorazu szans (odds ratio): exp(βⱼ) to mnożnik szans klasy pozytywnej przy wzroście xⱼ o 1 jednostkę. exp(βⱼ) = 1.5 oznacza 50% wzrost szans.

Metryki oceny

Regresja liniowa: R², MSE, MAE, RMSE — patrz metryki oceny modeli ML.

Regresja logistyczna: accuracy, precision, recall, F1-score, krzywa ROC i AUC — patrz metryki oceny modeli ML.

Regresja wielomianowa i cechy nieliniowe

Regresja liniowa może modelować nieliniowe zależności przez dodanie cech wielomianowych: x, x², x³, ... lub interakcji x₁·x₂. Model pozostaje liniowy w parametrach β, choć granica decyzyjna jest krzywoliniowa.

Przykład: y = β₀ + β₁x + β₂x² — parabola, ale nadal regresja liniowa (liniowa w β₀, β₁, β₂).

Praktyczne wskazówki

  1. Zawsze wizualizuj dane — przed modelowaniem sprawdź rozkłady, korelacje, outliersy
  2. Standaryzuj cechy — szczególnie istotne przy regularyzacji (L1/L2 karają proporcjonalnie do skali)
  3. Sprawdzaj założenia — wykresy reszt ujawniają problemy z liniowością i homoskedastycznością
  4. Stosuj regularyzację — domyślnie Ridge lub Elastic Net; Lasso gdy potrzebujesz selekcji cech
  5. Cross-validation — do wyboru λ i porównania modeli
  6. Feature engineering — dodanie interakcji, transformacji logarytmicznych czy wielomianów może radykalnie poprawić model

Podsumowanie

Regresja liniowa i logistyczna to kamienie węgielne uczenia maszynowego. Są proste, interpretowalane i stanowią baseline, od którego zaczynamy każdy projekt ML. Zrozumienie OLS, gradient descent, regularyzacji i cross-entropy pozwala płynnie przejść do bardziej złożonych modeli — od drzew decyzyjnych po sieci neuronowe.