Нормализация до перекрестной проверки

16

Имеют ли нормализующие данные (чтобы иметь нулевое среднее значение и единичное стандартное отклонение) до выполнения повторной перекрестной проверки в k-кратном порядке какие-либо негативные последствия, такие как переоснащение?

Примечание: это для ситуации, когда #cases> total #features

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

Любые мнения с благодарностью получены! Извиняюсь, если этот вопрос кажется очевидным.

Изменить: При тестировании этого (в соответствии с предложениями ниже) я обнаружил, что нормализация до CV не имеет большого значения с точки зрения производительности по сравнению с нормализацией в CV.

BGreene
источник

Ответы:

13

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

Однако выбор функции перед перекрестной проверкой является БОЛЬШИМ НЕТ и приведет к переоснащению, так как вы будете выбирать их в зависимости от того, как они работают со всем набором данных. Лог-преобразование можно выполнять снаружи, поскольку преобразование не зависит от фактических данных (больше от типа данных) и не является тем, что вы не сделали бы, если бы у вас было только 90% данных вместо 100% и не подправлено по данным.

Чтобы ответить на ваш комментарий, очевидно, приведет ли это к переоснащению, будет зависеть от вашего способа выбора функций. Если вы выберете их случайно (зачем вы это делаете?) Или из-за априорных теоретических соображений (другая литература), это не будет иметь значения. Но если это зависит от вашего набора данных, это будет. Элементы статистического обучения имеет хорошее объяснение. Вы можете свободно и легально скачать .pdf здесь http://www-stat.stanford.edu/~tibs/ElemStatLearn/

Вопрос, касающийся вас, находится в разделе 7.10.2 на стр. 245 пятой печати. Он называется «Неправильные и правильные способы перекрестной проверки».

Erik
источник
Спасибо - конечно, если единственные результаты, представленные в отчете, относятся к оценочной производительности, полученной с использованием выбранной модели (характеристик) в каждом сгибе, это не может привести к переобучению? В конце концов, вы сообщаете только об общей производительности данного подмножества функций.
BGreene
Я расширил свой ответ, чтобы указать ваш комментарий. Я думаю, что объяснение в ссылке лучше, чем то, что я могу приготовить прямо сейчас.
Эрик
Спасибо. Это говорит о том, что стандартный выбор объектов на основе фильтров никогда не должен использоваться, и что вместо этого должен использоваться выбор объектов на основе обертки или эквивалент. Верно ли это для ситуации, когда #Cases> #Features? (У меня 259 дел, всего 56 функций). Я бы предположил, что вероятность ошибки здесь меньше?
BGreene
4

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

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

Дикран Сумчатый
источник
Я думаю, что это хороший ответ, хотя он и не строгий, но и суть. Я думаю, что смысл в том, что если вы нормализуетесь в каждом сгибе, это гарантирует, что нормализация не смещает производительность. То, как это было написано, казалось, что другого способа избежать предвзятости не было, хотя в последней строке Дикран указал, что есть и другие способы. Если вы делаете нормализацию внутри CV, это никогда не увеличивает смещения, в отличие от того, чтобы делать это снаружи, что может. Смещение может не сильно повлиять в любом случае, как указано в другом ответе.
Том Андерсон
1

Я думаю, что если нормализация включает в себя только два параметра и у вас выборка хорошего размера, это не будет проблемой. Я был бы больше обеспокоен преобразованием и процессом выбора переменных. 10-кратная перекрестная проверка кажется яростью сегодня. Разве никто не использует начальную загрузку 632 или 632+ для оценки частоты ошибок классификатора, как это было предложено сначала Эфроном (1983) в JASA, а затем - в статье Эфрона и Тибширани с 632+?

Майкл Р. Черник
источник
0

Мне лично нравится метод .632. Который в основном стимулирует с заменой. Если вы сделаете это и удалите дубликаты, вы получите 632 записи из входного набора 1000. Вид аккуратный.

MannyK
источник
е0