Uruchomiłem maszynę SVM dla danego zestawu danych i poczyniłem następującą obserwację: Jeśli zmienię liczbę funkcji budowania klasyfikatora, liczba wynikowych wektorów pomocniczych również zostanie zmieniona.
Chciałbym wiedzieć, jak wyjaśnić tego rodzaju scenariusz.
machine-learning
classification
svm
kernel-trick
użytkownik3269
źródło
źródło
Odpowiedzi:
Jeśli spojrzysz na problem optymalizacji rozwiązany przez SVM:
st dla wszystkichyja( w ⋅ xja- b ) ≥ 1 - ξja, ξ ja≥ 0 , i = 1 , … n
wektorami pomocniczymi są te których odpowiada . Innymi słowy, są to punkty danych, które są błędnie sklasyfikowane lub znajdują się blisko granicy.xja ξja> 0
Porównajmy teraz rozwiązanie tego problemu, gdy masz pełny zestaw funkcji, z przypadkiem, gdy wyrzucisz niektóre funkcje. Wyrzucenie obiektu jest funkcjonalnie równoważne z zachowaniem obiektu, ale dodanie ograniczenia dla cechy , którą chcemy odrzucić.wjot= 0 jot
Porównując te dwa problemy optymalizacji i pracując nad matematyką, okazuje się, że nie ma ścisłego związku między liczbą funkcji a liczbą wektorów pomocniczych. Może pójść w obie strony.
Warto pomyśleć o prostej sprawie. Wyobraź sobie dwuwymiarowy przypadek, w którym cechy negatywne i pozytywne są skupione odpowiednio wokół (-1, -1) i (1,1) i można je rozdzielić za pomocą hiperpłaszczyzny oddzielającej przekątną z 3 wektorami nośnymi. Teraz wyobraź sobie, że upuszczasz element osi y, więc twoje dane są teraz rzutowane na oś x. Jeśli dane są nadal możliwe do rozdzielenia, powiedzmy przy x = 0, prawdopodobnie pozostałyby tylko 2 wektory wspierające, po jednym z każdej strony, więc dodanie funkcji y zwiększyłoby liczbę wektorów wspierających. Jeśli jednak danych nie można już rozdzielić, otrzymasz co najmniej jeden wektor wsparcia dla każdego punktu, który znajduje się po niewłaściwej stronie x = 0, w którym to przypadku dodanie funkcji y zmniejszyłoby liczbę wektorów wsparcia.
Jeśli więc intuicja jest prawidłowa, jeśli pracujesz w bardzo wymiarowych przestrzeniach cech lub używasz jądra, które odwzorowuje się na przestrzenne przestrzenie cech, to twoje dane są bardziej podatne na rozdzielenie, więc dodanie elementu będzie miało tendencję po prostu dodać kolejny wektor wsparcia. Chociaż jeśli twoich danych nie można obecnie oddzielić, a dodasz funkcję, która znacznie poprawia separowalność, to bardziej prawdopodobne jest zmniejszenie liczby wektorów pomocniczych.
źródło