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:
- Liniowość — zależność między X a y jest liniowa (sprawdź wykresy reszt)
- Niezależność błędów — reszty nie są skorelowane (test Durbina-Watsona)
- Homoskedastyczność — wariancja reszt jest stała (wykres reszt vs. przewidywań)
- Normalność reszt — reszty mają rozkład normalny (wykres Q-Q)
- 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:
- Inicjalizuj β losowo
- Oblicz gradient ∇J(β) funkcji kosztu
- Aktualizuj: β ← β - α · ∇J(β), gdzie α to learning rate
- 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
- Zawsze wizualizuj dane — przed modelowaniem sprawdź rozkłady, korelacje, outliersy
- Standaryzuj cechy — szczególnie istotne przy regularyzacji (L1/L2 karają proporcjonalnie do skali)
- Sprawdzaj założenia — wykresy reszt ujawniają problemy z liniowością i homoskedastycznością
- Stosuj regularyzację — domyślnie Ridge lub Elastic Net; Lasso gdy potrzebujesz selekcji cech
- Cross-validation — do wyboru λ i porównania modeli
- 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.