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 \( (\mathbf{x}_i, d(\mathbf{x})) \) w dziedzinie liczb rzeczywistych. W odróżnieniu od zadania klasyfikacji wielkości zadane \( d_i \) mogą przyjmować dowolne wartości rzeczywiste, a nie tylko binarne \( \pm 1 \), 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ą \( \varepsilon \), definiowaną w postaci [68]


\( L_{\varepsilon}(d, y(\mathbf{x}))=\left\{\begin{array}{ccl} |d-y(\mathbf{x})|-\varepsilon & \text { dla } & |d-y(\mathbf{x})| \geq \varepsilon \\ 0 & \text { dla } & |d-y(\mathbf{x})| < \varepsilon \end{array}\right. \) (5.34)

Przyjmiemy podobnie jak w zadaniu klasyfikacji, że dane uczące \( (\mathbf{x}_i, d(\mathbf{x})) \) są aproksymowane przez funkcję


\( y(\mathbf{x})=\mathbf{w}^T \boldsymbol{\varphi}(\mathbf{x})+b \)
(5.35)


Zadaniem uczenia jest taki dobór wektora wagowego \( \mathbf{w} \), liczby neuronów ukrytych (funkcji jąder) oraz parametrów tych funkcji, aby zminimalizować wartość funkcji błędu


\( \min E=\frac{1}{2} \sum_{i=1}^p L_{\varepsilon}\left(d_i, y\left(\mathbf{x}_i\right)\right) \)
(5.36)

przy możliwie największym ograniczeniu wartości wag \( w_i \) sieci. Wprowadzając zmienne dopełniające \( \xi_i \), \(\xi_i^{'} \) 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 \( \xi_i \), \(\xi_i^{'} \)  i zapisać w postaci [59]


\( \min \limits_{\mathbf{w}} \frac{1}{2} \mathbf{w}^T \mathbf{w}+C\left[\sum_{i=1}^p (\xi_i+\xi_i^{\prime})\right] \)
(5.37)


przy liniowych ograniczeniach funkcyjnych zapisanych dla \( i=1,2,\ldots,p \) w postaci


\( \begin{aligned} & d_i-\left(\mathbf{w}^T \boldsymbol{\varphi}\left(\mathbf{x}_i\right)+b\right) \leq \varepsilon+\xi_i \\ & \left(\mathbf{w}^T \boldsymbol{\varphi}\left(\mathbf{x}_i\right)+b\right)-d_i \leq \varepsilon+\xi_i \\ & \xi_{\mathrm{i}} \geq 0 \\ & \xi_{\mathrm{i}}^{\prime} \geq 0 \end{aligned} \) (5.38)

Zauważmy, że dobór wartości zmiennych dopełniających \( \xi_i \), \(\xi_i^{'} \) taki, że spełniony jest warunek \( \left| d_i-\left(\mathbf{w}^T \varphi\left(\mathbf{x}_i\right)+b\right)\right| \leq\left(\varepsilon+\xi_i\right) \) zapewnia wartość \( L_{\varepsilon+\xi_i}\left(d_i, y\left(\mathbf{x}_i\right)\right)=0 \), co automatycznie minimalizuje wartość funkcji błędu \( E \) wyrażonego wzorem (5.36). W sformułowaniu zadania pierwotnego występuje stała \( C \) 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 \( \varepsilon \) oraz uzyskanych w wyniku procesu optymalizacyjnego wartości \( \xi_i \), \(\xi_i^{'} \).

Dla tak postawionego problemu pierwotnego można zdefiniować funkcję Lagrange'a, w której \( \alpha_i \) oraz \( \alpha_i ^{'}\) są mnożnikami o wartościach większych lub równych zeru w zależności od spełnienia ograniczeń funkcyjnych a \( \mu_i \) oraz \( \mu_i ^{'}\) nieujemnymi mnożnikami odpowiadającymi za ograniczenia nakładane na zmienne dopełniające \( \xi_i \), \(\xi_i^{'} \)  w zależności (5.38). Zadanie optymalizacji rozwiązuje się minimalizując funkcję Lagrange’a względem wag \( \mathbf{w} \) i zmiennych dopełniających \( \xi_i \), \(\xi_i^{'} \)  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]


\( \left.\max _{\boldsymbol{\alpha}} {Q}(\boldsymbol{\alpha})=\sum_{{i}=1}^{{p}} d_i\left(\alpha_{{i}}-\alpha_{{i}}^{\prime}\right)-\varepsilon \sum_{{i}=1}^{{p}} d_i\left(\alpha_{{i}}+\alpha_{{i}}^{\prime}\right)-\frac{1}{2} \sum_{{i}=1}^{{p}} \sum_{{j}=1}^{{p}}\left(\alpha_{{i}}-\alpha_{{i}}^{\prime}\right)\left(\alpha_{{j}}-\alpha_{{j}}^{\prime}\right)\right)K\left(\mathbf{x}_i, \mathbf{x}_j\right) \) (5.39)


przy ograniczeniach dla \( i=1,2,\ldots,p \) 


\( \begin{aligned} & 0 \leq \alpha_i \leq C \\ & 0 \leq \alpha_i^{\prime} \leq C \\ & \sum_{i=1}^p\left(\alpha_i-\alpha_i^{\prime}\right)=0 \end{aligned} \) (5.40)


W zależnościach tych \( C \) jest stałą regularyzacji dobieraną przez użytkownika a \( K\left(\mathbf{x}_i, \mathbf{x}_j\right) =\varphi^T(\mathbf{x}_i)\varphi(\mathbf{x}_j) \). Zmienne dopełniające \( \xi_i \), \(\xi_i^{'} \)  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 \( \xi_i \), \(\xi_i^{'} \)  spełniając przy tym zależności \( \mu_i=C-\alpha_i \),  \( \mu_i^{\prime}=C-\alpha_i^{\prime} \)\( \xi_i \mu_i=0 \) oraz \( \xi_i^{'} \mu_i^{'}=0 \).

Po wyznaczeniu optymalnego rozwiązania problemu dualnego względem mnożników Lagrange'a obliczane są wagi \( \mathbf{w} \) sieci na podstawie zależności


\( \mathbf{w}=\sum_{i=1}^{N_{sv}}\left(\alpha_i-\alpha_i^{\prime}\right) \boldsymbol{\varphi}\left(\mathbf{x}_i\right) \)
(5.41)

w której \( N_{sv} \) oznacza liczbę wektorów nośnych, równą liczbie niezerowych mnożników Lagrange'a. Sygnał wyjściowy \( y(\mathbf{x}) \) sieci opisuje się zatem zależnością


\( y(\mathbf{x})=\sum_{i=1}^{N_{sv}}\left(\alpha_i-\alpha_i^{\prime}\right) K\left(\mathbf{x}, \mathbf{x}_i\right)+b \) (5.42)


Wybór wartości hiperparametrów \( C \)\( \varepsilon \) 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.

Rys. 5.7 Przykład dopasowania krzywej aproksymującej (linia ciągła) realizowanej przez sieć SVM do danych pomiarowych zaznaczonych znakiem +

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ść \( \varepsilon \) równą w eksperymencie \( \varepsilon = 0.1 \)  i nie wpływają na dobór parametrów sieci.