Klasyfikatory uczenia maszynowego duże O lub złożoność

14

Aby ocenić wydajność nowego algorytmu klasyfikatora, próbuję porównać dokładność i złożoność (duże O w treningu i klasyfikacji). Z uczenia maszynowego: recenzja Otrzymuję pełną listę nadzorowanych klasyfikatorów, tabelę dokładności między algorytmami i 44 problemy testowe z repozytorium danych UCI . Nie mogę jednak znaleźć recenzji, artykułu papierowego ani strony internetowej z dużym O dla popularnych klasyfikatorów, takich jak:

  • C4.5
  • RIPPER (Myślę, że to może nie być możliwe, ale kto wie)
  • ANN z propagacją wsteczną
  • Naiwny Bayesian
  • K-NN
  • SVM

Jeśli ktoś ma jakieś zdanie na temat tych klasyfikatorów, będzie to bardzo przydatne, dziękuję.

Dinl
źródło
2
Może Cię zainteresować następujący artykuł: thekerneltrip.com/machine/learning/... Pełna klauzula o wyłączności , to mój blog :)
RUser4512
Chcesz prześledzić miejsca, w których wskazywały już martwe linki pytania?
mat
@ RUser4512 naprawdę świetna narada na blogu! czy rozważałeś także dodanie złożoności przestrzeni?
mat.
1
@matt Dziękuję :) tak, ale prawdopodobnie w innym artykule jest wiele do powiedzenia na ten temat!
RUser4512

Odpowiedzi:

11

Niech = liczba przykładów szkoleniowych, d = wymiarowość cech ic = liczba klas.Ndc

Zatem szkolenie ma złożoność:

  1. Naiwny Bayes to , wystarczy tylko obliczyć częstotliwość każdej wartości cechy d i dla każdej klasy.O(Nd)di
  2. -NN znajduje się w O ( 1 ) (niektórzy twierdzą nawet, że nie istnieje, ale złożoność treningu w przestrzeni to O ( N d ), ponieważ trzeba przechowywać dane, co również wymaga czasu).kO(1)O(Nd)
  3. O(N2)O(N3)O(N3)O(N2.3)
  4. O(NR)

Testowanie złożoności:

  1. O(cd)dc
  2. kO(N.re) ponieważ musisz porównać punkt testowy z każdym punktem danych w bazie danych.

Źródło: „Podstawowe maszyny wektorowe: Szybkie szkolenie SVM na bardzo dużych zestawach danych” - http://machinelearning.wustl.edu/mlpapers/paper_files/TsangKC05.pdf

Przepraszam, nie wiem o innych.

samthebest
źródło
6
Nie do końca prawda: złożoność treningowa SVM jądra jest pomiędzy O(n2)) i O(n3)) w zależności od C ; Patrz np. Obsługa wektorowych solverów maszynowych Bottou i Lin (sekcja 4.2).
Marc Claesen
@MarcClaesen Link już nie działa i nie znajduje się na maszynie powrotnej. Czy to ten sam artykuł: leon.bottou.org/publications/pdf/lin-2006.pdf ?
wordsforthewise