11

Musimy zdecydować między wektorami wspomagającymi a szybką sztuczną siecią neuronową dla jakiegoś projektu przetwarzania tekstu.Maszyna wektor wsparcia lub sztuczne sieci neuronowe do przetwarzania tekstu?

Obejmuje korektę tekstu kontekstowego, a następnie tagowanie tekstu do niektórych fraz i ich synonimów.

Które podejście będzie odpowiednie? Czy jest alternatywa dla obu tych ... Coś bardziej odpowiedniego niż FANN, a także SVM?

Odpowiedz

12

Myślę, że uzyskasz konkurencyjne wyniki z obu algorytmów, więc powinieneś zebrać wyniki ... pomyśl o nauce zespołowej.

Aktualizacja:
Nie wiem, czy to jest na tyle specyficzny: Optymalny klasyfikator Bayesa używać połączyć prognozy z każdego algorytmu. Musisz wyszkolić oba swoje algorytmy, następnie musisz wyszkolić optymalizator Bayesa, aby używał twoich algorytmów i optymalnie prognozował na podstawie danych wejściowych algorytmów.

jednostkowe dane treningowe w 3:

  • 1. set dane zostaną wykorzystane do szkolenia (sztuczne) Neural Network and Support Vector Machines.
  • Drugi zestaw danych zostanie użyty do szkolenia optymalizatora Bayesa, biorąc surowe prognozy z SSN i ​​SSN.
  • Trzeci zestaw danych będzie Twoim zestawem danych kwalifikacyjnych, w którym przetestujesz swój wyszkolony optymalizator Bayesa.

Aktualizacja 2,0:
Inny sposób, aby utworzyć zespół algorytmów jest użycie 10-fold (or more generally, k-fold) cross-validation:

  • danych Przerwa w 10 zestawów wielkości N/10.
  • Trenuj na 9 zestawach danych i przetestuj na 1.
  • Powtórz 10 razy i zrób średnią dokładność.

Pamiętaj, że możesz ogólnie połączyć wiele klasyfikatorów i metod sprawdzania poprawności w celu uzyskania lepszych wyników. To tylko kwestia znalezienia najlepszego rozwiązania dla Twojej domeny.

+0

Czy możesz mi pomóc trochę więcej na temat tego, czego dokładnie użyć? – Arc

+0

@Akrid Zaktualizowałem mój komentarz ... czy to pomaga, czy potrzebujesz więcej informacji? – Kiril

+0

Wielkie dzięki Lirik – Arc

8

Możesz również rzucić okiem na maxent classifiers (/log linear models).

Są bardzo popularne z powodu problemów z NLP. Nowoczesne implementacje, które wykorzystują metody quasi-newtona do optymalizacji, a nie wolniejsze iteracyjne algorytmy skalowania, trenują szybciej niż maszyny SVM. Wydają się również być less sensitive do dokładnej wartości hiperparametru regularyzacji. Powinieneś raczej preferować SVM ponad maxent, jeśli chcesz użyć jądra, aby uzyskać spójność funkcji za darmo.

Jeśli chodzi o SVM w porównaniu do sieci neuronowych, korzystanie z maszyn SVM byłoby prawdopodobnie lepsze niż używanie SSN. Podobnie jak w przypadku modeli maksymalnych, trening SVM jest problemem optymalizacji wypukłej. Oznacza to, że przy użyciu zestawu danych i określonej konfiguracji klasyfikatora, maszyny SVM będą konsekwentnie znajdować to samo rozwiązanie. Podczas szkolenia wielowarstwowych sieci neuronowych system może zbiegać się do różnych lokalnych minimów. Otrzymasz lepsze lub gorsze rozwiązania w zależności od wagi używanej do inicjalizacji modelu.W przypadku SSN musisz przeprowadzić wiele treningów, aby ocenić, jak dobra lub zła jest dana konfiguracja modelu.

+1

Podczas gdy ja kocham bloga Hala, rysunek wykonany w MS Paint nie jest dowodem, że regresja logistyczna jest mniej wrażliwa na selekcje hiperparametryczne niż SVM. Jednak bardzo dobra odpowiedź. – Stompchicken

0

Możesz użyć programu Convolution Neural Network (CNN) lub sieci rekurencyjnej neuronowej (RNN) do szkolenia NLP. Myślę, że CNN osiągnęła teraz stan zaawansowania.

Powiązane problemy