Линейная регрессия / классификатор может быть абсолютно непригодной, если используется без должного ухода.
Вот небольшой пример. Давайте создадим два вектора, первый - это просто случайных монет:5000
set.seed(154)
N <- 5000
y <- rbinom(N, 1, .5)
Второй вектор - наблюдений, каждое из которых случайным образом отнесено к одному из случайных классов:5005000500
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)
Истинное значение каждого из этих коэффициентов равно нулю. Но, как вы можете видеть, у нас есть достаточно распространения. Этот линейный классификатор наверняка подходит.
Примечание. Крайности в этой гистограмме, где коэффициенты упали до и , - это случаи, когда у класса не было ни наблюдений с данными, ни значений с ними . Фактические оценочные значения для этих коэффициентов плюс и минус бесконечность, но алгоритм логистической регрессии жестко закодирован с пределом .15 15−1515y == 1
y == 0
15
«переоснащение» не представляется формально определенным. Это почему?
Подгонка может быть лучше всего понята в контексте класса моделей, который имеет некоторый параметр сложности. В этом случае можно сказать, что модель подходит больше, когда снижение сложности незначительно приводит к лучшим ожиданиям от производительности образца.
Было бы очень трудно точно определить концепцию модельным независимым способом. Одна модель просто подходит, вам нужно что-то сравнить с ней, чтобы она была более или менее подходящей. В моем примере выше это сравнение было с правдой, но вы обычно не знаете правду, отсюда и модель!
Разве некоторая мера расстояния между тренировкой и производительностью тестового набора не позволила бы такую формализацию?
Есть такая концепция, она называется оптимизмом. Это определяется:
ω=Etest−Etrain
где обозначает ошибку, и каждый член усредняется по всем возможным наборам обучения и тестирования для вашего алгоритма обучения.E
Это не совсем понятно из-за переоснащения, потому что производительность на тестовом наборе может быть немного хуже, чем у поезда, даже если модель более высокой сложности снижает и то, и другое .