Regresja / klasyfikator liniowy może być absolutnie przełożony, jeżeli jest stosowany bez odpowiedniej opieki.
5000
set.seed(154)
N <- 5000
y <- rbinom(N, 1, .5)
5000500
N.classes <- 500
rand.class <- factor(sample(1:N.classes, N, replace=TRUE))
Nie powinno być żadnego związku między naszymi flipami y
a naszymi losowymi klasami rand.class
, zostały one ustalone całkowicie niezależnie.
Jeśli jednak spróbujemy przewidzieć losowe odwrócenie za pomocą losowej klasy za pomocą regresji logistycznej (klasyfikator liniowy), to na pewno myśli, że istnieje związek
M <- glm(y ~ rand.class, family="binomial")
hist(coef(M), breaks=50)
Prawdziwa wartość każdego z tych współczynników wynosi zero. Ale jak widać, mamy spory zasięg. Ten liniowy klasyfikator jest na pewno overfit.
−1515y == 1
y == 0
15
„nadmierne dopasowanie” nie wydaje się być formalnie zdefiniowane. Dlaczego?
Przeregulowanie można najlepiej zrozumieć w kontekście klasy modeli, które mają pewien parametr złożoności. W takim przypadku można powiedzieć, że model jest nadmiernie dopasowany, gdy nieznaczne zmniejszenie złożoności skutkuje lepszym oczekiwaniem na podstawie wyników próby.
Bardzo trudno byłoby precyzyjnie zdefiniować pojęcie w sposób niezależny od modelu. Pojedynczy model jest po prostu odpowiedni, potrzebujesz czegoś, aby go porównać, aby był zbyt lub niedopasowany. W moim przykładzie powyżej to porównanie było z prawdą, ale zwykle nie znasz prawdy, stąd model!
Czy jakiś pomiar odległości między treningiem a wydajnością zestawu testowego nie pozwoliłby na taką formalizację?
Istnieje taka koncepcja, zwana optymizmem. Jest zdefiniowany przez:
ω=Etest−Etrain
E
Nie do końca jednak chodzi o istotę przeregulowania, ponieważ wydajność na zestawie testowym może być nieco gorsza niż w pociągu, nawet jeśli model o wyższej złożoności zmniejsza oba te elementy .