Mam pewne dane, które istnieją na wykresie . Wierzchołki należą do jednej z dwóch klas , a ja jestem zainteresowany szkoleniem SVM do rozróżniania dwóch klas. Jeden odpowiedni jądro to jądro dyfuzji , gdzie jest Laplace'a z i \ p jest parametrem strojenia.
Strojenie SVM wymaga wyboru hiperparametrów, więc muszę nastroić Konwencjonalnie używamy weryfikacji krzyżowej dla tego problemu, ale tutaj nie wydaje się to właściwe, ponieważ pominięcie wierzchołka z zmienia cały wykres, prawdopodobnie nawet zwiększając liczbę połączonych komponentów! Jeśli liczba połączonych komponentów zmienia się, niektóre wierzchołki stają się nieosiągalne od innych, a my mamy do czynienia z zupełnie innym zestawem danych niż na początku. Oznacza to, że nie tylko brakuje nam usuniętego wierzchołka , ale również brakuje informacji o wszystkich innych wierzchołkach na wykresie, które sąsiadowały z tym wierzchołkiem.
Podstawowym pojęciem walidacji krzyżowej jest to, że chcielibyśmy oszacować, jak będzie działał model, gdy zostanie zaprezentowany z nowymi danymi. W standardowych problemach pominięcie niektórych danych do testowania nie zmienia wartości pozostałych danych treningowych. Jednak w przypadku danych graficznych nie jest jasne, co to znaczy, że model widzi „nowe” dane w ustawieniach CV. Pominięcie wierzchołków lub krawędzi może całkowicie zmienić dane. Na przykład, wyobraź sobie wykres który jest wykresem star, na którym jeden wierzchołek ma od krawędzi do wierzchołków, a wszystkie pozostałe wierzchołki mają 1 krawędź. Pominięcie centralnego wierzchołka w celu skonstruowania danych treningowych całkowicie rozłączy wykres, a macierz jądra będzie przekątna! Oczywiście możliwe będzie szkolenie modelu na podstawie danych treningowych podanych w . Mniej jasne jest to, co oznacza testowanie wydajności modelu wynikowego poza próbą. Czy ktoś ponownie oblicza macierz jądra dla i zapewnia to do prognozowania?
Czy też alternatywnie, czy zaczyna się od obliczenia macierzy jądra w całości i pomija wiersze i kolumny, jeśli jest to konieczne do wytworzenia macierzy jądra używanej do oszacowania SVM? To stwarza własne problemy koncepcyjne, ponieważ włączenie centralnego węzła do oznacza, że każdy wierzchołek jest osiągalny z każdego innego wierzchołka, a macierz jądra jest gęsta. Czy to włączenie będzie oznaczać przeciek informacji między fałdami i wpływać na wyniki weryfikacji krzyżowej? Z jednej strony dane o pominiętych węzłach centralnych są nadal obecne, ponieważ pominięty węzeł centralny powoduje połączenie wykresu. Z drugiej strony nic nie wiemy o etykietach z pominiętych węzłów, więc możemy być pewni, że otrzymujemy uzasadnione obiektywne szacunki poza próbą z wykonania CV w ten sposób.
Jak wybrać hiperparametry dla problemów tego typu? Czy CV jest niedoskonałe, ale akceptowalne, czy też potrzebujemy specjalistycznych metod? Czy w moim kontekście w ogóle możliwe jest dostrajanie hiperparametrów?
źródło
Odpowiedzi:
Oświadczenie: Nie znam się dobrze na jądrach graficznych, więc ta odpowiedź może być oparta na błędnych założeniach. Zgadzam się, że pominięcie wierzchołków podczas obliczania macierzy jądra jest nieoptymalne. To powiedziawszy, nie jestem pewien, czy walidacja krzyżowa jest z konieczności problematyczna. Czy Twój kontekst uczenia się jest transdukcją czy indukcją?
Ogólnie nie jestem przekonany, że obliczenie macierzy jądra dla danego na podstawie wszystkich danych (tj. Zarówno pociągu, jak i testu) koniecznie powoduje wyciek informacji. Jeśli obliczenie jądra na podstawie wszystkich danych okaże się być w porządku, możesz trenować modele w typowej konfiguracji cv, używając odpowiednich bloków (wstępnie obliczonej) pełnej macierzy jądra do treningu / testowania.β
źródło