#python #tensorflow
#python #tensorflow
Вопрос:
Я читал статью, связанную с реализацией расширенных деревьев в TensorFlow в документе, где обсуждается послойный подход
… и новое послойное повышение, которое позволяет создавать более сильные деревья (что приводит к более быстрой конвергенции) и более глубокие модели.
Хотя нигде в статье этот подход не обсуждается. Я почти уверен, что n_batches_per_layer
параметр, переданный в BosstedTreesClassifier / Regressor, связан с этой концепцией.
Мои вопросы
- Что это за подход? Есть какой-нибудь источник, чтобы узнать больше об этом?
- Что означает
n_batches_per_layer
параметр? - Какой
n_batches_per_layer
параметр я должен установить, чтобы следовать стандартной схеме обучения расширенных деревьев?
Ответ №1:
n_batches_per_layer — это количество пакетов, которые вы хотите использовать для обучения для каждого слоя (т. Е. заданной глубины в вашем дереве). По сути, это часть данных для построения 1 слоя, измеряемая пакетами. Например, если вы зададите свои batch size = len(train_set)
и n_batches_per_layer = 1
, то вы будете использовать весь набор последовательностей для каждого слоя.
Поэтому я бы рекомендовал, если их набор данных помещается в память, затем установить batch_size = len(train_set), количество n_batches_per_layer = 1
. В противном случае установите для него значение int(len(train_data)/batch_size)
— хотя вы могли бы попробовать поэкспериментировать с меньшим числом для более быстрого обучения.