В CrossValidated существует множество тем на тему выбора модели и перекрестной проверки. Вот несколько из них:
- Внутренняя и внешняя перекрестная проверка и выбор модели
- Главный ответ @ DikranMarsupial на выбор функций и перекрестную проверку
Однако ответы на эти темы являются довольно общими и в основном освещают проблемы с конкретными подходами к перекрестной проверке и выбору модели.
Чтобы сделать вещи как можно более конкретными , скажем, например, что мы работаем с SVM с ядром RBF: , и что У меня есть набор данных функций X и меток у , и я хочу
- Найти наилучшие возможные значения моей модели ( и )
- Обучите SVM с моим набором данных (для окончательного развертывания)
- Оценить ошибку обобщения и неопределенность (дисперсию) вокруг этой ошибки
Для этого я лично выполняю поиск по сетке, например, я пробую все возможные комбинации и . Для простоты мы можем принять следующие диапазоны:
Более конкретно, используя мой полный набор данных, я делаю следующее:
- Для каждой пары ( , ) я делаю повторные итерации (например, 100 случайных повторений) перекрестной проверки с кратным смещением (например, ) в моем наборе данных, т.е. я тренирую SVM на сгибах и оцениваю ошибка в левом сгибе, повторяющаяся во всех сгибах. В целом, я собираю 100 x 10 = 1000 ошибок теста.
- Для каждой такой пары ( , ) я вычисляю среднее значение и дисперсию этих 1000 тестовых ошибок .
Теперь я хочу выбрать лучшую модель (лучшие параметры ядра), которую я бы использовал для обучения моего окончательного SVM по полному набору данных. Я понимаю, что при выборе модели , которая имела самую низкую среднюю ошибку и дисперсию и будет правильным выбором, и что модели являются мои лучшие оценки смещения ошибки обобщения модели и дисперсии , когда обучение с полный набор данных.
НО, после прочтения ответов в вышеприведенных темах, у меня складывается впечатление, что этот метод выбора лучшего SVM для развертывания и / или оценки его ошибки (производительности обобщения) имеет недостатки, и что существуют более эффективные способы выбора лучший SVM и сообщение о его ошибке. Если так, то кто они? Я ищу конкретный ответ, пожалуйста.
Придерживаясь этой проблемы, как конкретно я могу выбрать лучшую модель и правильно оценить ее ошибку обобщения ?