Во-первых, извинения за размещение вопроса, который уже подробно обсуждался здесь , здесь , здесь , здесь , здесьи для разогрева старой темы. Я знаю, что @DikranMarsupial подробно писал об этой теме в постах и журнальных статьях, но я все еще в замешательстве, и, судя по количеству подобных постов, это все еще трудно понять другим. Я должен также заявить, что я получил противоречие по этой теме, что усугубило мою путаницу. Вы также должны знать, что я изначально физик, а не статистик, поэтому мой опыт в этой области несколько ограничен. Я пишу журнальную статью, в которой я хочу использовать вложенное резюме, чтобы оценить производительность, которую я могу ожидать от моей окончательной модели. В моем домене это первое. (Мы почти никогда не использовать любойформа надежного резюме в моей области, но весело выкачивать документы с результатами исследований с использованием нейронных сетей и расширенных деревьев решений!) Поэтому очень важно, чтобы у меня было очень тщательное и ясное понимание, чтобы я не облажался и не размножался ошибочная процедура для моего сообщества, которую можно годами отучить! Благодарность! На вопрос ...
Как построить окончательную модель после вложенной перекрестной проверки?
Я тренирую простую модель glmnet с регуляризацией L1 и L2. Это быстро, просто и понятно. Я выполняю центрирование объектов, масштабирование и преобразования Бокса-Кокса, чтобы распределения объектов были средне-центрированными, стандартизованными и в некоторой степени похожими на гауссовские. Я выполняю этот шаг в рамках перекрестной проверки, чтобы предотвратить утечку информации. Чисто потому, что мое оборудование невероятно медленное и у меня нет доступа к большей нагрузке на процессор, я также выполняю быстрый выбор функций на основе фильтров в CV после предварительной обработки функций. Я использую случайный поиск по сетке, чтобы выбрать альфа и лямбда гиперпараметры. Я понимаю, что не долженЦикл CV, чтобы получить эту оценку. Я понимаю, что внутренний цикл CV используется для выбора модели (в данном случае оптимальных гиперпараметров) и что внешний цикл используется для оценки модели , т. Е. Внутренний и внешний CV служат двум различным целям, которые часто ошибочно объединяются. (Как у меня дела до сих пор?)
Теперь ссылки, которые я опубликовал, предполагают, что «способ думать о перекрестной проверке - это оценка производительности, полученной с помощью метода построения модели, а не оценки производительности модели». Учитывая это, как я должен интерпретировать результаты вложенной процедуры CV?
Похоже, что прочитанный мной совет указывает на следующее - пожалуйста, исправьте меня, если это не так: внутреннее резюме является частью механизма, который позволяет мне выбирать оптимальные альфа и лямбда гиперпараметры моей модели glmnet. Внешний CV сообщает оценку, которую я могу ожидать получить от окончательной модели, если я применю процедуру точно так, как она используется во внутреннем CV, включая настройку гиперпараметра и использование всего набора данных для построения окончательной модели. То есть настройка гиперпараметра является частью «метода построения модели». Это правильно или нет? Потому что это то, что смущает меня. В другом месте я видел, что процедура построения окончательной модели для развертывания включает в себя обучение всему набору данных с использованием фиксированных значенийгиперпараметров, которые были выбраны с помощью CV. Здесь «метод построения модели» не включает настройку. Итак, что это? В какой-то момент оптимальные гиперпараметры выбраны и зафиксированы для построения окончательной модели! Где? Как? Если мой внутренний цикл 5-кратный CV, а мой внешний цикл 5-кратный CV, и я выбираю, скажем, 100 точек для тестирования как часть случайного поиска по сетке во внутреннем CV, сколько раз я фактически тренирую glmnet модель? (100 * 5 * 5) + 1 за финальную сборку, или есть еще шаги, о которых я не знаю?
По сути, мне нужно очень четкое описание того, как интерпретировать оценку производительности из вложенного резюме и как построить окончательную модель.
Я также хотел бы знать соответствующую процедуру для выбора порога вероятности для преобразования оценок вероятности из моей окончательной модели glmnet в (двоичные) метки классов - нужен еще один цикл CV?