Лінійна регресія / класифікатор абсолютно може бути надмірною, якщо використовувати її без належного догляду.
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))
Не повинно бути ніякого зв’язку між нашими переворотами y
та нашими випадковими класами rand.class
, вони визначалися повністю незалежно.
Однак, якщо ми спробуємо передбачити випадковий фліп із випадковим класом за допомогою логістичної регресії (лінійного класифікатора), він впевнений, що вважає, що існує зв'язок
M <- glm(y ~ rand.class, family="binomial")
hist(coef(M), breaks=50)
Справжнє значення кожного з цих коефіцієнтів дорівнює нулю. Але, як бачите, у нас досить поширення. Цей лінійний класифікатор точно є надмірним.
−1515y == 1
y == 0
15
Здається, "перевиконання" формально не визначене. Чому так?
Перевищення можливо найкраще зрозуміти в контексті класу моделей, який має певний параметр складності. У цьому випадку можна сказати, що модель є надмірною, коли зменшення складності трохи призводить до кращих очікуваних результатів вибірки.
Було б дуже важко точно визначити поняття модельно незалежно. Єдина модель просто підходить, вам потрібно щось порівняти, щоб вона була надмірно підходящою. У моєму прикладі вище це порівняння було з правдою, але ви правди зазвичай не знаєте, отже, модель!
Чи не міг би якийсь показник відстані між навчанням та результатами тестового набору забезпечити таку формалізацію?
Є така концепція, вона називається оптимізмом. Він визначається:
ω=Etest−Etrain
E
Але це не зовсім суть переоснащення, тому що продуктивність на тестовому наборі може бути трохи гіршою, ніж у поїзді, навіть якщо модель більшої складності зменшує і те, і інше .