Klasyfikacja za pomocą regresji logistycznej
Marcin Orchel
1 Wstęp
1.1 Regresja logistyczna
Bierzemy pod uwagę estymację funkcji regresji r (~x) = E (Y |X = ~x). Nas będzie intere- sowała zmienna losowa Y = {0, 1}. Dlatego regresję możemy zapisać jako
r (~x) = 1 · P (Y = 1|X = ~x) + 0 · P (Y = 0|X = ~x) = P (Y = 1|X = ~x) (1) Mając daną taką funkcję regresji, możemy zapisać klasyfikator jako
d (~x) = 1, gdy r (~x) > 0.5, 0 poza tym (2) Chcemy zamodelować funkcję r (~x). Możemy to zrobić np. za pomocą modelu regresji liniowej
Y = r (~x) + ε = β0+
m
X
j=1
βjxj+ ε (3)
w którym E (ε) = 0. Model ten nie jest poprawny, bo Y może mieć inne wartości niż 0 i 1, ale często daje dobre wyniki. Aby znaleźć ~β minimalizuje się resztową sumę kwadratów
n
X
i=1
yi− β0−
m
X
j=1
βjxij
2
(4)
W regresji logistycznej znajdujemy funkcję
r (~x) = eβ0+~β·~x 1 + eβ0+~β·~x
(5)
Funkcja ta przyjmuje wartości z przedziału od 0 do 1. Dlatego też możemy traktować wartość tej funkcji jako prawd. tego, że klasa będzie równa 1, a 1 − r (~x), że klasa będzie 0.
1
1.2 Estymator największej wiarygodności
Problem jest następujący, mamy kilka rozkładów, oraz wygenerowane punkty, musimy wskazać ten rozkład, wg. którego punkty zostały wygenerowane z większym prawdopo- dobieństwem. Przykładowo mamy dwa rozkłady dyskretne r1 i r2:
r1 : (0, 3/6) , (1, 1/6) , (2, 2/6) (6) r2 : (0, 1/6) , (1, 2/6) , (2, 3/6) (7) Otrzymujemy punkt x = 0, z którego rozkładu został wygenerowany? Jest większe prawd., że został wygenerowany z rozkładu 1, dla każdego możliwego punktu możemy wskazać rozkład bardziej prawdopodobny, a więc dla x = 0, r1, dla x = 1, r2, dla x = 4, r2. W tym celu wystarczy porównać odpowiednie prawd. Następnie mamy wygenerowane niezależnie dwa punkty, np. x = 0 oraz x = 1, z którego rozkładu prawd.
pochodzą? Mnożymy prawd. dla tych punktów dla obu rozkładów i porównujemy, a więc dla r1 mamy 3/36, a dla r2 mamy 2/36, a więc bardziej prawd., że te punkty pochodzą z rozkładu r1, i tak możemy wypisać bardziej prawdopodobne rozkłady dla wszystkich możliwych wartości dwóch punktów: dla x = 0 oraz x = 1 jest r1, x = 0 oraz x = 2 jest r1, x = 1 oraz x = 2 jest r2. Procedurę tą możemy powtórzyć dla n punktów. Ogólnie aby stwierdzić z jakiego rozkładu dyskretnego dane punkty zostały wygenerowane ze zbioru danego rozkładów musimy dla każdego rozkładu wymnożyć prawd. Różne rozkłady oznaczamy, za pomocą parametru ~θ. Wyznaczamy więc dla każdego rozkładu tzw. funkcję wiarygodności
L~θ; ~x1, . . . , ~xn (8) Mając punkty, chcemy znaleźć ~θ, a więc rozkład najbardziej prawd. Obliczamy
L~θ; ~x1, . . . , ~xn=
n
Y
i=1
pθ; ~~ xi (9)
i chcemy maksymalizować L po ~θ. Metoda ta nazywa się metodą największej wiarygod- ności.
Dla przypadku ciągłego
L~θ; ~x1, . . . , ~xn=
n
Y
i=1
f~θ; ~xi (10)
W praktyce bierze się pod uwagę ln L
ln L~θ; ~x1, . . . , ~xn
=
n
X
i=1
ln f~θ; ~xi
(11)
Teraz użyjemy metody największej wiarygodności do znalezienia parametrów regre- sji logistycznej. Poszukujemy zmiennej β (odpowiada zmiennej θ). Wektory ~xi wyżej
2
odpowiadają wektorom treningowym wraz z przyporządkowaną klasą. Dla wylosowanej zmiennej ~xi wraz z klasą, gdy ta klasa jest 1 to prawd. jest równe r (~x), a gdy ta klasa jest równa 0, to prawd. jest równe 1 − r (~x). Czyli jest to rozkład dwumianowy z jedną próbą, gdzie wylosowanie klasy 1 jest sukcesem, parametr k rozkładu opisuje liczbę suk- cesów, a więc gdy jest klasa 1, to jest jeden sukces, a gdy klasa 0 to zero sukcesów, a więc tutaj k = yi. Dla rozkładu dwumianowego mamy funkcję prawd. określoną wzorem
p (k) = n k
!
pk(1 − p)n−k (12)
A więc podstawiając n = 1 i k = yi otrzymujemy
ln Lβ~=
n
X
i=1
yiln r ( ~xi) + (1 − yi) ln (1 − r ( ~xi)) (13)
Zadanie polega na maksymalizacji powyższej funkcji po ~β. W tym celu przyrównujemy pochodne po ~β do zera, ...
1.3 Postać klasyfikatora Granica decyzyjna to
β0+ β~x = 0 (14)
Co możemy wyznaczyć z
r (~x) = 1
2 (15)
lub też z faktu, iż
g (~x) = ln r (~x)
1 − r (~x) = β0+ β~x (16)
Dowód.
g (~x) = ln r (~x)
1 − r (~x) = lneβ0+β·~x1 + eβ0+β·~x
1 + eβ0+β·~x = β0+ β · ~x (17)
Granica decyzyjna to
P (Y = 1|X = ~x)
P (Y = −1|X = ~x) = 1 (18)
A zatem
g (~x) = 0 (19)
Funkcja
ln
p 1 − p
(20) dla p ∈ (0, 1) jest nazywana logit.
3
1.4 Przydatne polecenia Matlaba
• glmfit, mamy dane n obserwacji, p to liczba wymiarów, podajemy macierz X z danymi treningowymi, parametr distr jest ustawiany na binomial, y to są wartości klasyfikacji dla danych treningowych (0 lub 1)
2 Zadania
2.1 Zadania na 3.0
• dla wygenerowanych danych jednowymiarowych dwóch klas z rozkładów normal- nych zaznacz na wykresie dwuwymiarowym funkcję regresji logistycznej wraz z danymi treningowymi (pierwsza klasa na poziomie 0, druga na poziomie 1), oraz klasyfikator oparty na regresji logistycznej (klasyfikator zaznaczony na poziomie 0)
• powtórzyć poprzedni punkt dla danych dwuwymiarowych 2.2 Zadania na 4.0
• dla wygenerowanych danych trójwymiarowych dwóch klas z rozkładów normalnych zaznacz na wykresie trójwymiarowym dane treningowe oraz klasyfikator oparty na regresji logistycznej, oraz klasyfikator Fishera
2.3 Zadania na 5.0
• wykonać klasyfikację dla wybranych danych wielowymiarowych ze strony uci, po- równać jakość klasyfikacji z klasyfikatorem Fishera na danych testowych
4