Podręcznik
2. Sieci wektorów nośnych SVM
2.4. Sieć SVM do zadań regresji
Zadaniem sieci SVM w tym zastosowaniu jest aproksymacja zbioru danych pomiarowych w dziedzinie liczb rzeczywistych. W odróżnieniu od zadania klasyfikacji wielkości zadane
mogą przyjmować dowolne wartości rzeczywiste, a nie tylko binarne
, jak to miało miejsce w przypadku klasyfikatorów. Jest to więc zadanie bardziej złożone niż zadanie klasyfikacji. Dla uzyskania największej efektywności działania sieci i uzyskania sformułowania problemu uczenia jako programowania kwadratowego, przyjmuje się funkcję błędu z tolerancją
, definiowaną w postaci [68]
![]() |
(5.34) |
Przyjmiemy podobnie jak w zadaniu klasyfikacji, że dane uczące są aproksymowane przez funkcję
![]() |
(5.35) |
Zadaniem uczenia jest taki dobór wektora wagowego , liczby neuronów ukrytych (funkcji jąder) oraz parametrów tych funkcji, aby zminimalizować wartość funkcji błędu
![]() |
(5.36) |
przy możliwie największym ograniczeniu wartości wag sieci. Wprowadzając zmienne dopełniające
,
o nieujemnych wartościach (każda odpowiedzialna za przekroczenie marginesu tolerancyjnego w górę lub w dół) zadanie pierwotne uczenia można sformułować bardziej ogólnie, analogicznie jak w zadaniu klasyfikacji jako minimalizację wartości wag sieci oraz zmiennych dopełniających
,
i zapisać w postaci [59]
![]() |
(5.37) |
przy liniowych ograniczeniach funkcyjnych zapisanych dla w postaci
![]() |
(5.38) |
Zauważmy, że dobór wartości zmiennych dopełniających ,
taki, że spełniony jest warunek
zapewnia wartość
, co automatycznie minimalizuje wartość funkcji błędu
wyrażonego wzorem (5.36). W sformułowaniu zadania pierwotnego występuje stała
stanowiąca wielkość regularyzacyjną, ustalającą kompromis między wartością marginesu separacji reprezentowanego przez wagi sieci i wartością funkcji błędu aproksymacji, uzależnionego od przyjętej wartości
oraz uzyskanych w wyniku procesu optymalizacyjnego wartości
,
.
Dla tak postawionego problemu pierwotnego można zdefiniować funkcję Lagrange'a, w której oraz
są mnożnikami o wartościach większych lub równych zeru w zależności od spełnienia ograniczeń funkcyjnych a
oraz
nieujemnymi mnożnikami odpowiadającymi za ograniczenia nakładane na zmienne dopełniające
,
w zależności (5.38). Zadanie optymalizacji rozwiązuje się minimalizując funkcję Lagrange’a względem wag
i zmiennych dopełniających
,
oraz maksymalizując ją względem mnożników Lagrange'a (punkt siodłowy funkcji Lagrange’a). Z rozwiązania powyższego zadania otrzymuje się sformułowanie problemu dualnego względem mnożników Lagrange'a w postaci [46,68]
![]() |
(5.39) |
![]() |
(5.40) |
W zależnościach tych jest stałą regularyzacji dobieraną przez użytkownika a
. Zmienne dopełniające
,
oraz towarzyszące im mnożniki Lagrange’a nie występują w sposób jawny w sformułowaniu zadania dualnego, ale są uzależnione od mnożników
,
spełniając przy tym zależności
,
,
oraz
.
Po wyznaczeniu optymalnego rozwiązania problemu dualnego względem mnożników Lagrange'a obliczane są wagi sieci na podstawie zależności
![]() |
(5.41) |
w której oznacza liczbę wektorów nośnych, równą liczbie niezerowych mnożników Lagrange'a. Sygnał wyjściowy
sieci opisuje się zatem zależnością
![]() |
(5.42) |
Wybór wartości hiperparametrów i
wpływa na złożoność sieci SVM. Oba parametry powinny być ustalane przez użytkownika w procesie uczenia. Zadanie aproksymacji jest zatem problemem bardziej złożonym niż klasyfikacja.

Na rys. 5.7 przedstawiono wyniki działania sieci SVM w trybie regresji uzyskane przy użyciu programu Gunna [21]. Dane pomiarowe (punkty zaznaczone znakiem +) zostały aproksymowane krzywą ciągłą realizowana przez SVM. Spośród danych pomiarowych tylko nieliczne stanowią wektory podtrzymujące (punkty oznaczone znakiem + w kółku), Pozostałe punkty danych mieszczą się wewnątrz strefy zdefiniowanej przez wartość równą w eksperymencie
i nie wpływają na dobór parametrów sieci.