Wykład 4 Dyskryminacja oparta na regresji liniowej i logistycznej. Perceptron Rosenblatta.
Dyskryminacja oparta na regresji liniowej i logistycznej
Wprowadzenie Problem analizy dyskryminacyjnej jest ściśle związany z zagadnieniem analizy regresji: Analiza dyskryminacyjna jest zadaniem estymacji funkcji, będącej w tym przypadku funkcją o kilku wartościach liczbowych (będących indeksami klas) W przypadku tylko dwóch klas (g = 2) zakodowanych jako {0, 1} E(Y x) = 0 P(Y = 0 x) + 1 P(Y = 1 x) = P(Y = 1 x) Zatem zadanie analizy dyskryminacyjnej można przedstawić jako zadanie analizy regresji z funkcją regresji równą P(Y = 1 x). Podobnie dla większej liczby klas (g > 2) analizę dyskryminacyjną można przedstawić jako zadanie wielowymiarowej analizy regresji, czyli analizy regresji z wektorową zmienną objaśnianą.
Dyskryminacja jako zadanie regresji liniowej Zadanie analizy dyskryminacyjnej można zatem rozwiązywać metodami stosowanymi w analizie regresji. Funkcję E(Y x) można estymować za pomocą liniowej funkcji zmiennych x (j), j = 1, 2,..., p. Klasyfikacja do klas odbywa się na podstawie wartości prawdopodobieństw P(Y = 1 x), tzn.: Jeśli dla danej obserwacji x, P(Y = 1 x) > 1, obserwacja jest 2 klasyfikowana jako należąca do klasy 1 Jeśli P(Y = 1 x) < 1, obserwacja jest klasyfikowana jako należąca 2 do klasy 0 Jeśli P(Y = 1 x) = 1, to decyzja o klasyfikacji należy do 2 eksperymentatora.
Dyskryminacja jako zadanie regresji liniowej Badamy przypadek z g 2 klasami. Etykiety klas: za pomocą wektora wskaźnikowego Etykieta ma postać Y = (y (1), y (2),..., y (g) ) i dla k-tej klasy jest równa Y = (0, 0,..., 0, 1, 0,..., 0) tzn. k-ta współrzędna wektora wskaźnikowego jest równa 1. Próbę (x 1, y 1 ), (x 2, y 2 ),..., (x n, y n ) można zapisać za pomocą dwóch macierzy: Macierzy planu (doświadczenia) : X (n,p+1) = 1 x (1) 1 x (2) 1... x (p) 1 1 x (1) 2 x (2) 2... x (p)..... 1 x n (1) x n (2)... x n (p) 2.
Macierzy wektorów odpowiedzi: Y (n,g) = y (1) 1 y (2) 1... y (g) 1 y (1) 2 y (2) 2... y (g) 2..... y n (1) y n (2)... y n (g) Zadanie polega na skonstruowaniu na podstawie próby uczącej modelu liniowego określającego relację pomiędzy wektorem zmiennych objaśniających x = (x (1), x (2),..., x (p) ) a wektorem zmiennych objaśnianych y = (y (1), y (2),..., y (g) ).
Jest to uogólnienie modelu regresji wielokrotnej na przypadek, gdy zmienna objaśniana jest wektorem - tzn regresja wielowymiarowa. Estymacja parametrów równania regresji odbywa się za pomocą uogólnionej metody najmniejszych kwadratów : Mamy do estymacji g (p + 1) parametrów. Rozwiązaniem zadania estymacji jest zatem pewna macierz ˆB wymiarów (p + 1) g. Uogólniona metoda najmniejszych kwadratów polega na wyznaczeniu macierzy ˆB spełniającej warunek n min y i [1, x i ]B 2, B i=1 gdzie dla α = (α 1, α 2,..., α g ) α 2 = g j=1 α 2 j Jest to zatem g niezależnych zadań regresji wielokrotnej W każdym z nich występuje ta sama macierz obserwacji X ale za każdym razem inna kolumna macierzy Y.
Rozwiązania każdego z g zagadnień jest znane (MNK). Ich wspólny zapis : Ŷ = X ˆB, gdzie ˆB = (X T X ) 1 X T Y. nowej obserwacji x odpowiada wektor g-wymiarowy odpowiedzi ŷ: ŷ(x) = [1, x] ˆB. Przy przyjętej notacji możemy napisać p(k x) = E(y (k) x) a zatem [1, x] ˆB jest liniowym estymatorem prawdopodobieństw a posteriori p(k x) dla k = 1, 2,..., g.
Budowany klasyfikator opiera się na regule Bayesa, z tą różnicą, że zamiast prawdziwych wartości prawdopodobieństw a posteriori stosuje się ich liniowe estymatory (ponieważ są nieznane). Dla każdej wartości x g ŷ (k) (x) = 1. k=1 Reguła dyskryminacyjna bazująca na regule Bayesa dla obserwacji x polega na wyborze klasy odpowiadającej największej wartości współrzędnych wektora odpowiedzi ŷ(x), tj. ĉ(x) = argmax k {1,2,...,g} ŷ (k) (x). Uwaga: estymator prawdopodobieństwa p(k x) postaci ŷ (k) (x) może przyjmować wartości ujemne lub większe od 1.
W przypadku dwóch klas (g = 2) rozwiązanie regresyjne jest bardzo bliskie rozwiązaniu otrzymanemu metodą LDA. W wynikowym modelu regresji liniowej ŷ(x) = β 0 + p β i x (i) wektor współczynników (β 1, β 2,..., β p ) T maksymalizuje iloraz i=1 (a T (x 1 x 2 )) 2 a T W a A zatem model regresji liniowej wyznacza kierunek najlepiej rozdzielający klasy według zasady LDA. Otrzymana w ten sposób reguła dyskryminacyjna pokrywa się z regułą LDA tylko jeśli obie próby uczące są równoliczne.
Maskowanie klas W przypadku więcej niż dwóch klas (g > 2) pojawia się problem tzw. maskowania klas: klasyfikator nie widzi"pewnych obserwacji w drastycznych przypadkach klasyfikator całkowicie pomija jedną z klas, tzn. nigdy na nią nie wskazuje (Przykład od Koronacki, Ćwik)
Przykład c.d. Trzy funkcje regresji na jednym wykresie - klasa 2. (linia najbliższa poziomej) jest maskowana przez dwie pozostałe
Dyskryminacja logistyczna
Dyskryminacja logistyczna Model dyskryminacji opartej na regresji liniowej dopuszcza uogólnienia nieliniowe. Takim uogólnieniem jest przykład dyskryminacji logistycznej. Rozważmy przypadek dwóch klas (g = 2). Klasy kodujemy za pomocą ich numerów (tzn. 1, 2). Modelem regresyjnym zapewniającym, że wartości estymatora ˆp(2 x) znajdą się w przedziale [0, 1] jest następujący model logistyczny ( ) ˆp(2 x) ln = α + β T x. 1 ˆp(2 x) ( Funkcję ln u 1 u ) nazywa się funkcją logitową i oznacza się logit(u) Model ( ) ˆp(2 x) ln = α + β T x. 1 ˆp(2 x) można zapisać jako logit(ˆp(2 x)) = α + β T x.
Stąd możemy wyznaczyć: oraz ˆp(2 x) = exp(α + βt x) 1 + exp(α + β T x) ˆp(1 x) = 1 1 + exp(α + β T x). Estymatory ˆp(2 x) i ˆp(1 x) spełniają warunki: ˆp(2 x) (0, 1), ˆp(1 x) (0, 1) Dla każdego x ˆp(1 x) + ˆp(2 x) = 1. Wskazują kierunek, wzdłuż którego jedno z prawdopodobieństw rośnie do 1, a drugie maleje do 0. Obserwacja zostanie zaklasyfikowana do klasy 2 jeśli ˆp(2 x) > ˆp(1 x), czyli gdy ( ) ( ) ˆp(2 x) ˆp(2 x) ln = ln > 0 1 ˆp(2 x) ˆp(1 x)
Estymacja parametrów modelu Parametry modelu logit(ˆp(2 x)) = α + β T x estymujemy na podstawie próby, stosując metodę największej wiarogodności. Mając te estymatory regułę dyskryminacyjną formułujemy jako: Wybierz większą z wartości ˆp(1 x), ˆp(2 x), a następnie obserwację x zaklasyfikuj do klasy na którą wskazuje wybrane prawdopobieństwo Analizowany model można uogólnić na przypadek większej liczby klas g 2: ln ˆp(1 x) ˆp(g x) = β 10 + β T 1 x ln ln ˆp(2 x) ˆp(g x) = β 20 + β T 2 x ˆp(g 1 x) ˆp(g x). = β (g 1)0 + β T g 1x
Uogólnienie na liczbę klas g 2 Wybór klasy umieszczonej w mianowniku powyższych wyrażeń jest dowolny, ale musi to być ta sama klasa dla wszystkich wyrażeń. Prowadzi to do uzyskania, dla k = 1, 2,..., g 1 wyrażeń oraz Oczywiście ˆp(k x) = ˆp(g x) = exp(β k0 + β T k x) 1 + g 1 l=1 exp(β l0 + β T l x) 1 1 + g 1 l=1 exp(β l0 + β T l x) g p(l x) = 1. l=1
Uogólnienie na liczbę klas g 2 Niech ˆp(k x) = ˆp k (x; θ), gdzie θ = (β 10, β 1,..., β (g 1)0, β g 1 ) Wówczas logarytm funkcji wiarogodności ma postać ( n ) n ln ˆp ki (x i ; θ) = ln(ˆp ki (x i ; θ)), i=1 i=1 gdzie k i jest klasą dla i-tego elementu próby. Maksymalizacja tej funkcji względem parametru θ prowadzi do uzyskania estymatora największej wiarogodności dla tego parametru. Tym samym uzyskujemy estymatory wszystkich prawdopodobieństw a posteriori. Reguła dyskryminacyjna bazuje na regule bayesowskiej, tj. wybiera klasę o największym prawdopodobieństwie a posteriori.
Uwaga: Dla g = 2 i jeżeli klasy mają rozkłady normalne o takiej samej macierzy kowariancji Σ oraz prawdopodobieństwa a priori przynależności do klas są równe, tzn. π 1 = π 2, to otrzymane rozwiązanie jest identyczne z rozwiązaniem LDA.
Przykład: Dane Pima Indians Diabetes Database Zbiór ten zawiera dane statystyczne dotyczące kobiet pod kątem klasyfikacji czy chorują na cukrzycę czy też nie. Zbiór zawiera 768 elementów. Zmienne w zbiorze danych: pregnant Liczba przebytych ciąż glucose Koncentracja glukozy w osoczu pressure Ciśnienie krwi (mm Hg) triceps Grubość fałdu skórnego na tricepsie (mm) insulin Dwugodzinna surowica insuliny (mu U/ml) mass Indeks masy ciała (waga w kg/(wzrost w m) 2 ) pedigree Pochodzenie cukrzycy age Wiek w latach diabetes Obecność cukrzycy (0-1)
Przykład: Dane Pima Indians Diabetes Database 1 PID <- read. table (" dane _ diabetycy. txt ", header =TRUE, sep=",", dec=".") 2 head ( PID ) pregnant glucose pressure triceps insulin mass... 6 148 72 35 0... 1 85 66 29 0... 8 183 64 0 0... 1 89 66 23 94... 0 137 40 35 168... 5 116 74 0 0...
Przykład: Dane Pima Indians Diabetes Database Regresja logistyczna może być przeprowadzona w R poprzez użycie funkcji glm() z parametrem family=binomial. 1 modelglm <- glm ( diabetes ~., data = PID, family = binomial ) 2 summary ( modelglm ) Coefficients: Estimate Std. Error z value Pr(> z ) (Intercept) -8.4046964 0.7166359-11.728 < 2e-16 *** pregnant 0.1231823 0.0320776 3.840 0.000123 *** glucose 0.0351637 0.0037087 9.481 < 2e-16 *** pressure -0.0132955 0.0052336-2.540 0.011072 * triceps 0.0006190 0.0068994 0.090 0.928515 insulin -0.0011917 0.0009012-1.322 0.186065 mass 0.0897010 0.0150876 5.945 2.76e-09 *** pedigree 0.9451797 0.2991475 3.160 0.001580 ** age 0.0148690 0.0093348 1.593 0.111192
Przykład: Dane Pima Indians Diabetes Database 1 predictglm <- predict ( mod.glm, newdata = PID ) 2 plot ( predictglm, pch = as. numeric ( PID$ diabetes ) + 1)
Przykład: Dane Pima Indians Diabetes Database Predykcja przynależności do klas: 1 train <- sample (1: nrow ( PID ), 300) 2 predictlr <- predict ( mod.glm, newdata = PID [- train, ]) 3 TAB <- table ( PID$ diabetes [- train ], predictlr > 0) > TAB FALSE TRUE 0 270 33 1 75 90 Błąd klasyfikacji: 1 mcrlr <- 1 - sum ( diag ( TAB ))/ sum ( TAB ) 2 mcrlr > mcrlr [1] 0.2307692
Przykład: Dane Pima Indians Diabetes Database Porównanie z metodą LDA: 1 library ( MASS ) 2 pid. lda = lda ( diabetes ~., data = PID ) 3 pid. lda Prior probabilities of groups: 0 1 0.6510417 0.3489583... Coefficients of linear discriminants: LD1 pregnant 0.0938638298 glucose 0.0269863520 pressure -0.0106293929 triceps 0.0007043468 insulin -0.0008229296 mass 0.0603702056 pedigree 0.6711517147 age 0.0119490869
Przykład: Dane Pima Indians Diabetes Database Porównanie z metodą LDA: 1 ## Predykcja przynależności do klasy : 2 pid. predict <- predict ( pid.lda, PID [,1:8]) > head(pid.predict$class) [1] 1 0 1 0 1 0 Levels: 0 1 > head(pid.predict$posterior) 0 1 1 0.2697862 0.73021378 2 0.9558454 0.04415456 3 0.1781113 0.82188870 4 0.9626429 0.03735709 5 0.1053718 0.89462817 6 0.8562390 0.14376095
Przykład: Dane Pima Indians Diabetes Database Porównanie z metodą LDA: 1 ## Procent właściwie zaklasyfikowanych obiektów : 2 pid. classperc <-sum ( pid. classify == PID [,9]) / nrow ( PID ) > pid.classperc [1] 0.7838542 1 ## Proporcja błędnych klasyfikacji 2 1- pid. classperc > 1-pid.classperc [1] 0.2161458 Wniosek: Dla tego zbioru danych metoda LDA prowadzi do uzyskania mniejszego błędu klasyfikacji.
Diagnostyka modelu
Odchylenie modelu Rozważamy przypadek z dwoma klasami g = 2 w modelu regresji logistycznej. W przypadku estymacji opartej na metodzie NW, podstawowym wskaźnikiem dopasowania modelu do danych jest tzw. odchylenie modelu (ang. model deviance). NIech ω oznacza pewien dowolny, ustalony model oraz niech ω nas oznacza model nasycony, tj. model idealnie dopasowany do danych, z liczbą parametrów równą liczbie obserwacji w próbie. W modelu nasyconym zakładamy, że dla n obserwacji jest on opisany przez n prawdopodobieństw P(y 1 = 1 x 1 ),..., P(y n = 1 x n ), które możemy szacować dowolnie. Odchylenie modelu ω oznaczamy dev ω i definiujemy jako dev ω = 2 ln L ω nas (ˆθ NW ) L ω (ˆθ NW ), gdzie L ω oznacza funkcję wiarogodności w modelu ω, ˆθ NW - estymator największej wiarogodności w odpowiednim modelu.
Odchylenie modelu Odchylenie modelu jest wyrażeniem zawsze nieujemnym. Dla modelu logistycznego ma postać n dev ω = 2 y i ln ˆp i (1 y i ) ln(1 ˆp i ), i=1 gdzie ˆp i = ˆP(y = 1 x i ) jest estymatorem NW dla P(y = 1 x i ), takim, że ( ) ˆP(y = 1 x i ) ln = ˆα + ˆβ 1 ˆP(y T x i = 1 x i ) ˆα, ˆβ są wartościami maksymalizującymi funkcję wiarogodności.
Odchylenie modelu Jeśli estymator ˆp i dobrze prognozuje wartość P(y = 1 x i ), tzn ˆpi jest bliska 1 gdy y i = 1 oraz ˆp i jest bliska 0 gdy y i = 0, to odchylenie jest małe. Duże wartości odchylenia wskazują na złe dopasowanie modelu. Odchylenie modelu jest miarą uniwersalną którą możemy stosować do analizy dowolnych modeli. Stosowane jest do analizy problemu istotności jednej lub większej liczby zmiennych objaśniających w modelu. Taka analiza polega na porównaniu odchyleń modelu w przypadku użycia oraz nieużycia analizowanych zmiennych w modelu. Obecność zmiennych nieistotnych w modelu zwiększa błędy oszacowania współczynników istotnych zmiennych i pogarsza dopasowanie modelu.
Odchylenie modelu Załóżmy, że ω jest modelem regresji logistycznej o q zmiennych x 1, x 2,..., x q, Ω jest modelem zawierającym zmienne x 1, x 2,..., x q, x q+1,..., x p symbolicznie : ω Ω Rozważamy problem, czy któraś ze zmiennych x q+1,..., x p (jedna, kilka z nich lub wszystkie) wnosi istotną informację do modelu. Można to analizować jako problem testowania hipotezy : H0 : ω przy alternatywie H A : Ω tzn. model ω jest właściwy przeciwko model Ω jest właściwy Za statystykę testową przyjmuje się różnicę odchyleń dla mniejszego i większego modelu: D = dev ω dev Ω.
Twierdzenie Przy spełnieniu hipotezy H 0 zmienna D = dev ω dev Ω ma dla dużych liczności próby rozkład χ 2 z p q stopniami swobody. To twierdzenie pozwala odpowiedzieć na pytania: Czy postulowany model zawiera istotną informację na temat problemu klasyfikacji? Na przykład za model ω możemy przyjąć model w którym występuje tylko stała, a za Ω - model zawierający pewną grupę p zmiennych. Wówczas statystyka D przy spełnionej hipotezie H0 będzie miała rozkład χ 2 z p stopniami swobody. Odrzucenie H0 oznacza, że pewna grupa zmiennych spośród x 1, x 2,... x p ( jedna, kilka lub wszystkie) ma istotny wpływ na zmienną y.
Czy konkretna zmienna objaśniająca niesie nową informację, gdy uwzględniliśmy wpływ pozostałych zmiennych objaśniających? Aby zbadać czy zmienna xp wnosi istotną informację do modelu w którym są już zmienne x 1, x 2,..., x p 1, przyjmujemy że model ω jest modelem ze zmiennymi x 1, x 2,..., x p 1, a model Ω - modelem ze zmiennymi x 1, x 2,..., x p. Testujemy H0 : ω przy alternatywie H A : Ω Odrzucenie hipotezy H0 sugeruje, że zmienna x p powinna być włączona do modelu.
Problem adekwatności modelu logistycznego W zwykłym modelu liniowym podstawowym narzędziem do badania adekwatności modelu są wartości resztowe e i = y i ŷ i, i {1, 2,..., n}. Wykres reszt względem ich indeksów w przypadku adekwatności modelu nie powinien wykazywać żadnej wewnętrznej struktury zależności i skupiać się wokół prostej y = 0. W przypadku modelu logistycznego ω, reszty modelu modyfikuje się tak, aby suma ich kwadratów była równa odchyleniu modelu: n i=1 d 2 i = dev ω. Uzyskuje się to przyjmując, że d i = { 2 log(1 ˆpi ), gdy y i = 0 2 log(ˆpi ), gdy y i = 1.
Reszty modelu logistycznego Reszty d i są ujemne gdy y i = 0, oraz dodatnie, gdy y i = 1. Wykres może mieć pewną strukturę zależności. Wykres reszt użyteczny do wyznaczenia obserwacji odstających. Do wykrycia obserwacji odstających także normalny wykres kwantylowy. W przypadku wykrycia obserwacji odstających usuwa się je ze zbioru danych i ponownie dopasowuje model.
Miara dopasowania modelu logistycznego W przypadku modelu liniowego miarą dopasowania modelu jest współczynnik R 2 oznaczający proporcję wariancji wyjaśnianej przez model: n R 2 i=1 = 1 (y i ŷ i ) 2 n i=1 (y i y). 2 W modelu logistycznym analogiczną miarą jest 1 dev ω dev ω0, gdzie dev ω0 jest odchyleniem modelu ω 0, zawierającego tylko stałą.
Diagnostyka modelu logistycznego- podsumowanie Taka diagnostyka umożliwia zaproponowanie dobrego modelu na podstawie próby uczącej. Nie daje pełnej oceny jakości wybranego modelu. Taka ocena wymaga zbadania działania klasyfikatora na nowych danych a nie na danych na których został on skonstruowany.
Perceptron Rosenblatta
Perceptron Rosenblatta Perceptron Rosenblatta jest algorytmem uczenia pojedynczego sztucznego neuronu, czyli algorytmem nawiązującym do idei sztucznych neuronów. Zadaniem algorytmu jest konstrukcja prostej (hiperpłaszczyzny) rozdzielającej klasy. Jest to zadanie analizy dyskryminacyjnej, z rozwiązaniem będącym klasyfikatorem liniowym. Niech n -liczność próby uczącej, x i, i = 1, 2,..., n są obserwacjami p-wymiarowymi, tzn g = 2, tzn, rozważamy dwie klasy. x i = (x (1) i, x (2) i,..., x (p) i ).
Perceptron Rosenblatta Algorytm uczenia perceptronu zakłada liniową rozdzielność klas. Oznacza to, że dla wektora obserwacji x R p, wektora współczynników (wag) w stałej b, istnieje funkcja w T x + b, dodatnia dla wszystkich obserwacji z jednej klasy i ujemna, dla wsystkich obserwacji z drugiej klasy. Hiperpłaszczyzna idealnie rozdzielająca klasy ma postać w T x + b = 0. Uczenie perceptronu polega na wyznaczeniu wektora wag (w (0), w (1),..., w (p) ), gdzie przyjmujemy w (0) = b.
Perceptron Rosenblatta Zadanie dyskryminacji polega na znalezieniu właściwych wag w spełniających w T x = 0. Przy przyjętych oznaczeniach wyznaczenie klasyfikatora polega więc na rozwiązaniu równania p w (k) x(k) = 0. k=0 Wprowadzamy nowe wektory z i, i = 1, 2,..., n postaci { x z i = i, gdy i-ta obserwacja należy do klasy 1, x i, gdy i-ta obserwacja należy do klasy 2.. W przypadku bezbłędnej klasyfikacji wektora z klasy 1 w T x i > 0. W przypadku bezbłędnej klasyfikacji wektora z klasy 2 w T x i < 0.
Wówczas bezbłędne zaklasyfikowanie wszystkich obserwacji z próby uczącej oznacza, że w T z i > 0, dla wszystkich i {1, 2,..., n}. Załóżmy, że przyjęte wagi w nie dają idealnej klasyfikacji. Niech M oznacza zbiór indeksów obserwacji, dla których klasyfikacja była błędna. Wówczas sumę w T z i i M nazywa się kryterium perceptronowym. Zatem problem wyznaczenia wag można sprowadzić do następującego kryterium : Zminimalizuj ze względu na w wartość kryterium perceptronowego, gdzie sumowanie przebiega przez wszystkie źle zaklasyfikowane obserwacje.
Optymalizacja wag metodą MNK Zdefiniujmy oraz HL(t) = I (w T z i < 0) = { 1, gdy t > 0 1, gdy t 0 { 1, gdy w T z i < 0 0, gdy w T z i 0 Wówczas kryterium perceptronowe można zapisać w postaci: n w T z i = w T z i I (w T z i < 0) i M i=1 Zauważmy następnie, że { 1 HL(w T 1, gdy w z i ) = 1 T z i > 0 1, gdy w T z i 0 = = 2 I (w T z i 0) { 0, gdy w T z i > 0 2, gdy w T z i 0 =
Optymalizacja wag metodą MNK A zatem kryterium perceptronowe możemy zapisać jako = 1 2 gdzie ỹ i = w T z i = i M n w T z i I (w T z i < 0) i=1 n (1 HL(w T z i ))w T z i = 1 2 i=1 n (ỹ i HL(w T x i ))w T z i, i=1 { 1, gdy x i pochodzi z klasy 1. 1, gdy x i pochodzi z klasy 2. Zatem kryterium przyjmuje wartość 0, gdy ỹ = (HL(w T x 1 ),..., HL(w T x n )) T Jest więc miarą różnicy pomiędzy wektorami ỹ a (w T x 1,..., w T x n ) T, czyli miarą różnicy ỹ X w.
Optymalizacja wag metodą MNK W metodzie najmniejszych kwadratów minimalizacji ulega wielkość (ỹ X w) T (ỹ X w). Rozwiązaniem zagadnienia minimalizacji jest wektor w = (X T X ) 1 X T ỹ. Modyfikacją tej metody jest reguła Widrowa-Hoffa (reguła delta), w której rozwiązanie jest wyznaczane iteracyjnie z zależności w l+1 = w l + ρ l (ỹ i w T x i )x i.