как выполнить оптимизацию гиперпараметров в больших данных?

#python #performance #machine-learning #large-data #hyperparameters

Вопрос:

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

И после долгих поисков в Google я нашел новую и хорошую библиотеку под названием ultraopt, но проблема в том, сколько фрагментов данных я должен использовать из общего объема данных (~150 ГБ) для настройки гиперпараметров. И я хочу попробовать множество алгоритмов и комбинаций, есть ли какой-нибудь более быстрый и простой способ?

Или

Есть ли какая-то математика, что-то вроде, mydata = 100%размер

оптимизация гиперпараметров с использованием 5% mydatasize,

оптимизированный гиперпараметр *или или что-то в этом роде с оставшимися 95% данных #что-то вроде этого

Чтобы получить такой же результат, как и полные данные, используемые для оптимизации за один раз. Есть ли для этого какой-нибудь короткий путь?

Я использую Python 3.7, процессор: AMD ryzen5 3400 г, графический процессор: AMD Vega 11, ОПЕРАТИВНАЯ память: 16 ГБ

Ответ №1:

Настройка гиперпараметров, как правило, выполняется в наборе проверки разделения train-val-теста, где каждое разделение будет иметь примерно 70%, 10% и 20% от всего набора данных соответственно. В качестве базовой линии можно использовать случайный поиск, в то время как байесовская оптимизация с использованием гауссовых процессов, как было показано, более эффективна при вычислениях. scikit-optimize-хороший пакет для этого.

Комментарии:

1. спасибо, что это мне очень помогло, после этого я в гугле нахожу этот сайт, он дает хорошую информацию о [оптимизации ]( блог. floydhub.com/… )

Ответ №2:

Хорошей библиотекой python для настройки гиперпараметров является keras tuner . Вы можете использовать различные тюнеры в этой библиотеке, но для больших данных, как вы уже упоминали, Hyperband Optimization они могут быть самыми современными и подходящими.

Комментарии:

1. спасибо за ответ, я использую библиотеку darts для прогнозирования временных рядов. Я не могу использовать тюнер keras, но я применю метод оптимизации гиперполосности .

2. @UjwalS, конечно, вы можете, так как существует несколько тюнеров, таких как scikit learn tuner.