"Почему бы нам просто не изучить гиперпараметры?"
Это отличный вопрос! Я постараюсь дать более общий ответ. TL; DR ответ , что вы определенно можете узнать гиперпараметры, просто не из одних и тех же данных. Продолжайте читать для более подробного ответа.
Гиперпараметр , как правило , соответствует значению алгоритма обучения, а не один из ее параметров. Например, в контексте глубокого обучения это иллюстрируется разницей между чем-то вроде числа нейронов в определенном слое (гиперпараметр) и весом определенного ребра (обычный, обучаемый параметр).
Почему есть разница в первую очередь? Типичный случай для того, чтобы сделать параметр гиперпараметром , это просто неуместно изучать этот параметр из обучающего набора. Например, поскольку всегда легче снизить ошибку обучения, добавляя больше нейронов, включение числа нейронов в слое в регулярный параметр всегда будет стимулировать очень большие сети, что, как мы знаем, не всегда желательно (из-за переобучения).
На ваш вопрос, это не значит, что мы вообще не изучаем гиперпараметры. Отложив вычислительные задачи на минуту, очень возможно выучить хорошие значения для гиперпараметров, и даже есть случаи, когда это необходимо для хорошей производительности; все обсуждение в первом абзаце предполагает, что по определению вы не можете использовать одни и те же данные для этой задачи .
Используя другое разделение данных (таким образом создавая три непересекающиеся части: обучающий набор, набор проверки и набор тестов, теоретически вы можете выполнить следующую процедуру вложенной оптимизации : во внешнем цикле вы пытаетесь найти значения для гиперпараметров, которые минимизируют потерю проверки , и во внутреннем цикле вы пытаетесь найти значения для обычных параметров, которые минимизируют потерю обучения .
Это возможно в теории, но очень дорого в вычислительном отношении: каждый шаг внешнего цикла требует решения (до завершения или где-то близко к этому) внутреннего цикла, который обычно тяжел в вычислительном отношении. Что еще больше усложняет ситуацию, так это то, что внешняя проблема непроста: с одной стороны, пространство поиска очень велико.
Существует много подходов для преодоления этого путем упрощения вышеописанной настройки (поиск по сетке, случайный поиск или оптимизация гиперпараметров на основе моделей), но их объяснение выходит далеко за рамки вашего вопроса. Как показано в статье, на которую вы ссылаетесь, тот факт, что это дорогостоящая процедура, часто означает, что исследователи просто пропускают ее полностью или пробуют совсем немного настроек вручную, в конечном итоге выбирая лучший (опять же, в соответствии с набором валидации). На ваш первоначальный вопрос, тем не менее, я утверждаю, что - хотя и очень упрощенно и изобретательно - это все еще форма «обучения».