Klasyfikatory liniowe
Czym są klasyfikatory liniowe?
Klasyfikatory liniowe to modele uczenia maszynowego, które dokonują klasyfikacji na podstawie liniowej kombinacji cech. Decyzja modelu opiera się na hiperpłaszczyźnie (prostej w 2D, płaszczyźnie w 3D), która dzieli przestrzeń cech na obszary odpowiadające różnym klasom.
Modele liniowe są proste i efektywne, a ich zastosowanie jest szczególnie korzystne w przypadku dużych zbiorów danych o wysokiej liczbie wymiarów.
Równanie klasyfikatora liniowego
Decyzja klasyfikatora liniowego jest opisana wzorem: \[ y = w_1 x_1 + w_2 x_2 + \dots + w_n x_n + b \] Gdzie:
- \(x_1, x_2, \dots, x_n\): cechy wejściowe,
- \(w_1, w_2, \dots, w_n\): wagi cech,
- \(b\): wyraz wolny (bias),
- \(y\): wynik modelu (wartość decyzji).
Dla klasyfikacji binarnej:
- Jeśli \(y \geq 0\), obiekt jest przypisany do klasy 1.
- Jeśli \(y < 0\), obiekt jest przypisany do klasy 0.
Przykłady klasyfikatorów liniowych
1. Regresja logistyczna
- Klasyfikator oparty na funkcji logistycznej, która przekształca wynik liniowej kombinacji cech w prawdopodobieństwo klasy: \[ P(y=1 \mid x) = \frac{1}{1 + e^{-z}}, \quad \text{gdzie } z = w^T x + b \]
- Funkcja kosztu (log-loss): \[ J(w) = - \frac{1}{m} \sum_{i=1}^m \left[ y_i \log(h_\theta(x_i)) + (1 - y_i) \log(1 - h_\theta(x_i)) \right] \]
Zastosowania:
- Filtrowanie spamu: Klasyfikowanie wiadomości jako „spam” lub „nie spam”.
- Analiza medyczna: Przewidywanie obecności choroby na podstawie danych pacjenta.
2. Support Vector Machine (SVM) z liniowym jądrem
- SVM maksymalizuje margines między klasami, czyli odległość między najbliższymi punktami danych (wektorami nośnymi) a hiperpłaszczyzną decyzji: \[ \text{Funkcja decyzyjna: } f(x) = w^T x + b \]
- SVM minimalizuje funkcję kosztu: \[ J(w) = \frac{1}{2} ||w||^2 + C \sum_{i=1}^m \max(0, 1 - y_i (w^T x_i + b)) \]
Zastosowania:
- Rozpoznawanie obrazów: Klasyfikowanie obiektów, takich jak cyfry czy litery.
- Biometria: Rozpoznawanie twarzy lub odcisków palców.
3. Perceptron
- Jeden z najprostszych klasyfikatorów liniowych, który aktualizuje wagi w oparciu o błędy klasyfikacji: \[ w_{t+1} = w_t + \eta (y - \hat{y}) x \] Gdzie:
- \(\eta\): współczynnik uczenia (learning rate).
Zastosowania:
- Proste zadania klasyfikacji binarnej, np. przewidywanie odpowiedzi na ankiety.
4. Liniowa analiza dyskryminacyjna (LDA)
- Klasyfikator, który maksymalizuje separację między klasami, minimalizując jednocześnie wariancję wewnątrzklasową. W LDA zakłada się, że klasy mają rozkład normalny i tę samą macierz kowariancji.
- Funkcja decyzyjna oparta jest na estymacji prawdopodobieństw: \[ \delta_k(x) = x^T \Sigma^{-1} \mu_k - \frac{1}{2} \mu_k^T \Sigma^{-1} \mu_k + \log(\pi_k) \] Gdzie:
- \(\Sigma\): macierz kowariancji,
- \(\mu_k\): średnia dla klasy \(k\),
- \(\pi_k\): aprioryczne prawdopodobieństwo klasy \(k\).
Zastosowania:
- Rozpoznawanie mowy: Klasyfikacja sygnałów dźwiękowych na różne kategorie.
- Biomedycyna: Analiza ekspresji genów w diagnostyce chorób.
Zalety klasyfikatorów liniowych
- Prostota:
- Modele liniowe są łatwe do zrozumienia i interpretacji.
- Skalowalność:
- Dobrze działają na dużych zbiorach danych.
- Efektywność obliczeniowa:
- Trening i predykcja są szybkie, zwłaszcza dla wysokowymiarowych danych.
- Wszechstronność:
- Można je stosować do klasyfikacji binarnej, wieloklasowej i regresji.
Wady klasyfikatorów liniowych
- Założenie liniowości:
- Modele liniowe zakładają, że dane są liniowo separowalne, co nie zawsze jest prawdą.
- Wrażliwość na dane odstające:
- Punkty odstające mogą znacząco wpłynąć na hiperpłaszczyznę decyzji.
- Ograniczona wydajność przy nieliniowych zależnościach:
- Modele liniowe mogą nie uchwycić złożonych zależności między cechami.
Przykład zastosowania klasyfikatora liniowego: Regresja logistyczna
Problem:
Chcemy przewidzieć, czy klient kupi produkt (\(y = 1\)) na podstawie jego dochodu (\(x_1\)) i wieku (\(x_2\)).
Dane:
| Dochód (\(x_1\)) | Wiek (\(x_2\)) | Zakup (\(y\)) |
|---|---|---|
| 30 | 25 | 0 |
| 50 | 35 | 1 |
| 70 | 40 | 1 |
| 40 | 30 | 0 |
Model:
Funkcja decyzyjna: \[ P(y = 1 \mid x_1, x_2) = \frac{1}{1 + e^{-(w_1 x_1 + w_2 x_2 + b)}} \]
Zakładamy:
- \(w_1 = 0.05\), \(w_2 = 0.02\), \(b = -3\).
Predykcja:
Dla klienta o dochodzie \(x_1 = 60\) i wieku \(x_2 = 30\): \[ z = 0.05 \cdot 60 + 0.02 \cdot 30 - 3 = 0 \] \[ P(y = 1 \mid x_1, x_2) = \frac{1}{1 + e^{0}} = 0.5 \]
Interpretacja: Model przewiduje 50% prawdopodobieństwo zakupu.
Klasyfikatory liniowe są podstawą eksploracji danych i uczenia maszynowego, oferując szybkie i skuteczne narzędzia do klasyfikacji i analizy danych.