SVM, переоснащение, проклятие размерности

37

Мой набор данных небольшой (120 выборок), однако количество объектов велико и варьируется от (1000-200 000). Хотя я делаю выбор функции, чтобы выбрать подмножество функций, она все равно может быть перегружена.

Мой первый вопрос: как SVM справляется с перегрузкой?

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

Кроме того, если экспериментальные результаты не показывают, что результаты имеют низкое / нет переоснащение, это становится бессмысленным. Есть ли способ измерить это?

user13420
источник

Ответы:

41

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

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

GC Cawley и NLC Talbot, Предотвращение чрезмерной подгонки при выборе модели с помощью байесовской регуляризации гиперпараметров, Journal of Machine Learning Research, том 8, страницы 841-861, апрель 2007 г. ( www )

а также

GC Cawley и NLC Talbot, Чрезмерная подгонка при выборе модели и последующая систематическая ошибка выбора при оценке производительности, Journal of Machine Learning Research, 2010. Research, vol. 11, с. 2079-2107, июль 2010 г. ( www )

Обе эти статьи используют регрессию гребня ядра, а не SVM, но та же проблема возникает так же легко с SVM (также аналогичные ограничения применяются к KRR, поэтому на практике выбор между ними невелик). Таким образом, SVM в действительности не решают проблему переоснащения, они просто переносят проблему с подбора модели на выбор модели.

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

Короче говоря, нет никакой внутренней проблемы с использованием SVM (или другой регуляризованной модели, такой как регрессия гребня, LARS, Лассо, эластичная сетка и т. Д.) Для задачи со 120 наблюдениями и тысячами атрибутов, при условии, что параметры регуляризации настроены правильно .

Дикран Сумчатый
источник
Существуют ли какие-либо документы, показывающие, что методы выбора функций, такие как ранжирование на основе информационного усиления, с большей вероятностью будут соответствовать?
user13420
1
Не то, что я знаю, дело в том, что у SVM есть некоторые теоретические результаты, которые предполагают, что они устойчивы к переоснащению из-за количества атрибутов, но методы выбора функций даже этого не имеют. FWIW, монография Миллера «Выбор подмножества в регрессии» рекомендует использовать методы регуляризации, если прогнозирующая эффективность - это все, что требуется. Были некоторые открытые проблемы при выборе функций, которые предполагают, что регуляризация имеет тенденцию превосходить выбор функций (см. Nipsfsc.ecs.soton.ac.uk и causality.inf.ethz.ch/challenge.php ).
Дикран Сумчатый
Как указано в первом абзаце, SVM имеют тенденцию быть устойчивыми к переоснащению, является ли это использованием регуляризации (параметр C) , поэтому по умолчанию svmимеет ли это параметры регуляризации C ? И я не уверен, какие переменные контролируются этим C , вы имеете в виду эти слабые переменные ?
авокадо
10

Я начну со второго и последнего вопроса.

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

Методы обеспечения обобщения исходят из статистики. Обычно мы предполагаем, что данные генерируются из некоторого распределения вероятностей, которое происходит в реальности. Например, если вы мужчина, родившийся в 2000 году, существует вероятность того, каков ваш вес / рост / цвет глаз, когда вы достигнете 10, что является результатом доступного генофонда в 2000 году, возможных факторов окружающей среды и т. Д. Если у нас много данных, мы можем что-то сказать об этих базовых распределениях, например, что с высокой вероятностью они являются гауссовыми или полиномиальными. Если у нас есть точная картина распределения, то, учитывая рост, вес и цвет глаз 10-летнего ребенка в 2010 году, мы можем получить хорошее приближение вероятности того, что ребенок будет мужчиной. И если вероятность близка к 0 или 1, мы можем получить хороший шанс на то, чем на самом деле является секс детей.

Более формально, мы обычно пытаемся сказать, что если ошибка обучения равна то с большой вероятностью ( ) ошибка на некоторых данных, сгенерированных из того же распределения, будет меньше, чем . Известны взаимосвязи между размером обучающего набора, эпсилоном и вероятностью ошибки теста, превышающей . Подход, который я здесь представил, известен как «Вероятно, приблизительно правильное обучение» и является важной частью вычислительной теории обучения, которая занимается проблемой обобщения алгоритмов обучения. Существует также ряд других факторов, которые могут снизить эпсилон и увеличить дельту в этих границах, т.е. сложность гипотезы пространства.kδk+ϵk+ϵ

Теперь вернемся к SVM. Если вы не используете ядра или не используете ядра, отображающие в конечномерные пространства, так называемое измерение Вапника-Червоненкиса, которое является мерой сложности пространства гипотез, конечно, и с этим и достаточным количеством обучающих примеров вы можете получить это с высоким вероятность того, что ошибка на тестовом наборе не будет намного больше, чем ошибка на тренировочном наборе. Если вы используете ядра, отображающиеся в бесконечномерные пространства признаков, то измерение Вапника-Червоненкиса также бесконечно, и, что хуже, одни только обучающие примеры не могут гарантировать хорошее обобщение, независимо от их количества. К счастью, размер поля SVM оказался хорошим параметром для обеспечения обобщения. С большим запасом и обучающим набором вы можете гарантировать, что ошибка теста не будет намного больше, чем ошибка обучения.

sjm.majewski
источник
7

Есть по крайней мере два основных источника переоснащения, которые вы можете рассмотреть.

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

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

С 120 сэмплами и большим количеством функций вы, скорее всего, потеряете 2, а также склонны к 1.

Вы можете сделать что-то около 1, внимательно наблюдая за влиянием сложности модели на тест и ошибки обучения.

image_doctor
источник
Но как мы можем определить, что мы переоснащаемся? Если модели хорошо справляются с перекрестной проверкой, делают ли они это потому, что она действительно хороша или из-за переобучения из-за 1 или 2? Также с тысячами функций анализ каждой функции вручную был бы обременительным. Если невозможно определить переоснащение, как мы можем доверять любому результату перекрестной проверки?
user13420
1
Без дополнительных данных очень трудно понять, если вы переоснащаетесь против населения с низкой выборкой. Вы можете разделить данные на три набора, используя набор проверки для настройки модели и затем отдельный набор тестов для ее проверки. Другой подход состоит в том, чтобы изменить сложность модели и увидеть, как изменяется точность обучения и набора тестов. Увеличение ошибки в наборе тестов будет указывать на некоторую степень перенастройки модели из данных.
image_doctor
Применение повторных испытаний 50/50 с удержанием даст вам некоторое представление о том, сбалансированы ли наборы тренировок и тестов. Они, вероятно, не будут. Некоторые модели, такие как KNN, будут достигать идеальной точности в тренировочном наборе, поэтому в некотором смысле они по своей сути переоснащены. Но они все же могут достичь приемлемой производительности на тестовом наборе. Как и в случае с машинным обучением, в конечном итоге все зависит от точной специфики данных.
image_doctor
@image_doctor Можете ли вы уточнить «изменить сложность модели»?
Кит Хьюджитт