Переоснащение с помощью линейных классификаторов


10

Сегодня наш профессор заявил в классе, что «переоснащение линейными классификаторами невозможно». Я считаю, что это неправильно, поскольку даже линейные классификаторы могут быть чувствительны к выбросам в обучающем наборе - возьмем, например, машину векторов поддержки с жестким полем: один единственный шумный объект данных может изменить, какая гиперплоскость будет использоваться для разделения наборов данных. Или я не прав? Очевидно, что линейность, скорее всего, предотвратит переоснащение из-за меньшей сложности модели, но я не понимаю, почему переобучение должно быть невозможным. Еще один момент заключается в том, что когда я попытался обдумать эту проблему, я понял, что «переоснащение», по-видимому, не имеет формального определения. Это почему? Разве некоторая мера расстояния между тренировкой и производительностью тестового набора не допускает такой формализации? Спасибо


4
Почему вы говорите, линейный классификатор? Большинство линейных моделей предназначены для прогнозирования, а не классификации. И вы правы - линейные модели могут быть очень склонны к переоснащению. Не так много, как методы машинного обучения, но переоснащение может быть проблемой.
Фрэнк Харрелл

5
Очень легко переопределить линейный классификатор. Просто подгоните модель к некоторому набору данных (с шумом, в реальном мире) и не используйте регуляризацию.
Владислав Довгальец

2
Остерегайтесь классификации - обычно нет необходимости устанавливать ваши прицелы так низко.
Фрэнк Харрелл

2
@FrankHarrell ... а почему?
Pugl

1
Да, если изначально был двоичным. Если изначально был непрерывным, то классификация еще более проблематична. YYY
Фрэнк Харрелл

Ответы:


12

Линейная регрессия / классификатор может быть абсолютно непригодной, если используется без должного ухода.

Вот небольшой пример. Давайте создадим два вектора, первый - это просто случайных монет: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 151515y == 1y == 015

«переоснащение» не представляется формально определенным. Это почему?

Подгонка может быть лучше всего понята в контексте класса моделей, который имеет некоторый параметр сложности. В этом случае можно сказать, что модель подходит больше, когда снижение сложности незначительно приводит к лучшим ожиданиям от производительности образца.

Было бы очень трудно точно определить концепцию модельным независимым способом. Одна модель просто подходит, вам нужно что-то сравнить с ней, чтобы она была более или менее подходящей. В моем примере выше это сравнение было с правдой, но вы обычно не знаете правду, отсюда и модель!

Разве некоторая мера расстояния между тренировкой и производительностью тестового набора не позволила бы такую ​​формализацию?

Есть такая концепция, она называется оптимизмом. Это определяется:

ω=EtestEtrain

где обозначает ошибку, и каждый член усредняется по всем возможным наборам обучения и тестирования для вашего алгоритма обучения.E

Это не совсем понятно из-за переоснащения, потому что производительность на тестовом наборе может быть немного хуже, чем у поезда, даже если модель более высокой сложности снижает и то, и другое .


вау, какой хороший ответ, большое спасибо. один вопрос: линейные SVM менее подвержены переоснащению, чем, например, log. регрессия, которую вы упомянули (из-за различных способов оптимизации для границы линейного решения)?
Pugl

1
Должен признать, я не специалист по SVM и не обладаю практическим опытом их использования. Я действительно не хочу рисковать ответом и рискую быть очень неправильным. Если вы можете сформулировать это точно, это, вероятно, стоит своего вопроса.
Мэтью Друри

СВМ являются регуляризованными и поэтому менее склонны к переоснащению. Чтобы понять, что вам нужно только взглянуть на функцию, которую вы минимизируете: она включает в себя либо норму l1, либо норму l2 весов, сокращая их при оптимизации и, следовательно, предпочитая «простые» модели «сложным» моделям. Параметр, управляющий этим, является гиперпараметром C. В предельном случае (C = бесконечность) SVM «идеально» подходит к тренировочному набору, и, таким образом, он, вероятно, подходит (обратите внимание, что я сказал, что, вероятно, вам нужен тестовый набор, чтобы быть уверенным!). Также обратите внимание, что я использовал много цитат, но это можно правильно определить.
скд

2

В 70-х годах эксперименты с алгоритмами распознавания образов на больших наборах данных показали, что добавление дополнительных функций в некоторых случаях увеличивало частоту появления ошибок в тестовых наборах. Это противоречит интуитивно, потому что можно ожидать, что добавление дополнительной функции всегда увеличивает производительность классификатора, или в случае, если добавленной функцией является «белый шум», ее добавление не влияет на производительность классификатора вообще. Эффект добавления еще большего количества функций в классификатор, что в конечном итоге приводит к снижению производительности набора тестов, стало известно как феномен пика [1].

Пик функции вызван чрезмерным обобщением во время обучения. Дополнительные функции вызывают включение стольких дополнительных параметров, что классификатор начинает перекрывать данные. Следовательно, точка пика пройдена.

Вообще, мы сталкиваемся с компромиссом отклонения при обучении классификаторов. Чем больше функциональных переменных мы используем, тем лучше ( неизвестный ) базовый механизм классификатора может быть смоделирован нашим классификатором. Следовательно, систематическое отклонение между подобранной моделью и «истиной» будет уменьшаться, то есть будет получено меньшее смещение. С другой стороны, увеличение пространства признаков классификатора обязательно подразумевает добавление параметров (тех, которые соответствуют добавленным функциям). Таким образом, дисперсия подогнанного классификатора также увеличивается.

Таким образом, классификатор, выходящий за пределы пиковой точки, является лишь одной стохастической реализацией многомерной задачи классификации, и новое соответствие приведет к сильно отличающемуся вектору параметров. Этот факт отражает возросшую дисперсию.

[1. Г.В. Трунк, «Проблема размерности: простой пример», в IEEE Транзакции по анализу образов и машинному интеллекту, вып. ПАМИ-1, нет. 3, с. 306-307, июль 1979 г.]


1

Я думаю, что переоснащение относится к сложности модели, а не к способности обобщения. Я понимаю цитату «линейный классификатор не может быть переобучен», поскольку его сложность невелика, и нет более простого классификатора, обеспечивающего более высокую производительность.

Пример связан с возможностью обобщения линейных классификаторов (и сложных). Даже во второй части линейные классификаторы обычно обеспечивают меньшую дисперсию, чем сложные, поэтому значение «переобучения» для линейных классификаторов, следуя этой концепции, также меньше (хотя эмпирический риск их может быть очень большим). ATB


0

Как сказал @ match-maker-ee, линейные классификаторы могут переопределяться в зависимости от входных функций.

Следующая модель f является линейной по своим параметрам a , b и c , но может быть адаптирована к квадратичной кривой в пространстве признаков x :

f(x)=ax2+bx+c

SVM также могут переопределяться, например, когда они используют трюк с ядром, несмотря на то, что в основном это линейная модель в расширенном пространстве признаков.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.