2015-07-25 3 views
2

У меня возникла проблема с моей процедурой перекрестной проверки. В настоящее время я просто зацикливаю (повторяю) над моими параметрами (например, C и гамма для RBF SVM) и выполняет внутреннюю перекрестную проверку «Оставшийся один».Вложенная перекрестная проверка действительно необходима?

Конечно, это может привести к предвзятости. Поэтому было бы лучше сделать вложенную перекрестную проверку, например внешнюю перекрестную проверку и внутреннюю 10-кратную перекрестную проверку.

Проблемы в том, что у меня только 37 точек данных, вложенная перекрестная проверка увеличивает время выполнения на много, и я также хочу напечатать, например, для k ближайших соседей k с точностью или количеством скрытых слоев снова точность (для нейронной сети), которая невозможна при вложенной перекрестной проверке.

Действительно ли существует большое смещение без использования вложенной перекрестной проверки или я могу пойти с моим единственным подходом к CV? Есть ли некоторые документы, в которых утверждается, что одна перекрестная проверка одобрена?

+0

Как это может быть медленным только с 37 точками данных? – IVlad

+0

Потому что у меня около 200 000 функций ... И я использую нейронные сети, которые очень медленные. В любом случае, я думаю, что я могу получить лучшие параметры, используя большинство голосов (или среднее). Но как я могу определить количество скрытых слоев или число ближайших соседей против точности? – machinery

ответ

2

При вложенной перекрестной проверке вы найдете лучшие параметры для разных подмножеств данных (внешние складки). Я не могу сказать точно, насколько это будет больно, если вы не используете вложенное CV, но в соответствии с this discussion (который ссылается на this paper), это может быть заметно.

Теперь вы говорите, что хотите нарисовать количество скрытых слоев от точности. Это не то, как работает вложенное CV: вложенное CV говорит вам, среди прочего, о том, насколько вы можете положиться на выбор параметра, чтобы хорошо обобщать невидимые данные. Например, предположим, что вы выполняете поиск по сетке для 1, 2, 5, 10 скрытых слоев во внутреннем CV. Если результаты внешнего CV для скрытых слоев сильно различаются между сложениями, это означает, что вы не можете быть уверены, какое количество скрытых слоев будет хорошо обобщаться. Если все они выберут одинаковое количество скрытых слоев, это здорово.

Я предлагаю вам также прочитать this (в python, но это еще один пример того, что я хочу указать) и this, что является отличным объяснением того, что делает вложенное CV. Особый интерес представляет этот пункт:

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

Таким образом, вложенное CV показывает вам, насколько хорош ваш поиск гиперпараметров. На этом этапе вы не можете определить точность по сравнению с некоторым гиперпараметром. Вы можете видеть, выбран ли тот же самый гиперпараметр (или достаточно близко) для разных частей (складок) данных.

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

+0

Благодарим вас за объяснение. Я знаю, что я не могу построить количество скрытых слоев против точности с вложенным CV. Но если я хочу (или нужно) сделать это, как мне это сделать? Просто используя одиночное CV? Но это приведет к смещению ... – machinery

+0

@machinery - вложенное CV может сказать, насколько хорош ваш поиск параметров. Решите свой метод поиска параметров и запустите его через вложенное CV. Если это недостаточно, попробуйте что-нибудь. Если это достаточно хорошо, тогда запустите поиск параметров по всем вашим данным, и теперь вы можете рассказать о том, что вас интересует. – IVlad

+0

Вы имеете в виду под управлением моего поиска параметров по всем моим данным только с одним CV? Не будет ли это предубеждение? – machinery

2

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

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

+0

Итак, с 37 точками данных не имеет значения, если я вложен CV или просто CV? – machinery

+1

с 37 пунктами ничего не значимо, вы можете даже подбросить монету :-) – lejlot

+0

Я бы подумал, что по-прежнему полезно оценить производительность, используя схему вложенного отпуска? – Archie

Смежные вопросы