Обсуждение статьи "Архитектура машинного обучения в MetaTrader 5 (Часть 18): Исправленный последовательный бутстрэп — клонирование, стирание типа и инструментарий сравнения"
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Опубликована статья Архитектура машинного обучения в MetaTrader 5 (Часть 18): Исправленный последовательный бутстрэп — клонирование, стирание типа и инструментарий сравнения:
После этапа калибровки в ModelDevelopmentPipeline диагностическая проверка показала, что оценка Брайера на отложенных фолдах (OOF) для варианта с последовательным бутстрэпом составила 0.2442 — то есть совпала с точностью до четырех знаков после запятой со значением 0.2441 для варианта со стандартным бутстрэпом. Эти два числа не должны быть настолько близкими. Часть 5 показывает как аналитически, так и с помощью моделирования методом Монте-Карло, что последовательный бутстрэп формирует выборки с более высокой средней уникальностью, чем стандартный бутстрэп, и что это преимущество в уникальности приводит к улучшению различения классов на наблюдениях вне бутстрэп-выборки (OOB). Одинаковые оценки Брайера на отложенных фолдах (OOF) у двух методов формирования выборки, различающихся по принципу работы, — не совпадение, а симптом.
Анализ этого симптома выявляет два дефекта, действующих последовательно. Первый дефект — стирание типа: _apply_sequential_bagging переносила обученные базовые модели из SequentiallyBootstrappedBaggingClassifier в оболочку обычного BaggingClassifier с утратой принадлежности к исходному классу, необходимой для того, чтобы CalibratorCV мог по-разному обрабатывать варианты с последовательным и стандартным бутстрэпом. После утраты принадлежности к исходному классу CalibratorCV видел два стандартных конвейера с BaggingClassifier и для обоих выполнял идентичное повторное обучение на фолдах. Второй дефект — несоответствие размерностей, которое проявилось бы при простом устранении стирания типа: в sklearn функция clone() сохраняет параметры конструктора, включая полный набор samples_info_sets длиной N , но при повторном обучении на каждом фолде модель получает лишь n_train < N строк, из-за чего проверка размерностей индикаторной матрицы в классификаторе вызывает исключение ValueError еще до начала обучения.
В данной статье исправлены оба недочета. В рабочем конвейере мы сохраняем исходный классификатор SequentiallyBootstrappedBaggingClassifier . Мы также добавляем _find_seq_bagging() в CalibratorCV.fit() для обнаружения классификатора с последовательным бутстрэпом и повторной передачи данных для текущего фолда: набора samples_info_sets , ограниченного обучающими строками этого фолда, перед каждым повторным обучением. Наконец, мы предоставляем отдельный модуль bootstrap_comparison для демонстрации различий до и после исправлений как на уровне формирования выборок, так и на уровне прогнозирования.
Автор: Patrick Murimi Njoroge