記事「MetaTrader 5機械学習の設計図(第8回):パージ済み交差検証と試行枝刈りを用いたベイズ最適化によるハイパーパラメータ最適化」についてのディスカッション 新しいコメント MetaQuotes 2026.07.30 08:37 新しい記事「MetaTrader 5機械学習の設計図(第8回):パージ済み交差検証と試行枝刈りを用いたベイズ最適化によるハイパーパラメータ最適化」はパブリッシュされました: GridSearchCVとRandomizedSearchCVは、金融機械学習(金融ML)における本質的な制約を共有しています。それは、各試行が独立しているため、計算資源を増やしても探索そのものが賢くならないという点です。本記事では、TPE (Tree-structured Parzen Estimator)を用いるOptunaを、PurgedKFold交差検証、HyperbandPrunerによる早期終了、および学習用重みと評価用重みを分離する二重重み規約と統合する方法を紹介します。その結果として、フォールド単位で枝刈りをおこなう目的関数、モデルのハイパーパラメータと重み付けスキームを同時に最適化する提案層、金融タスク向けに調整されたプルーナー、SQLiteをバックエンドとする、再開可能なオーケストレーター、Optunaの結果をscikit-learnのcv_results_形式へ変換するコンバータの5つの要素から構成されるシステムが得られます。さらに本記事では、Timothy Mastersが示した境界についても説明します。すなわち、「統計的な目的関数では誘導的な探索が有益である一方、金融目的関数では逆に有害となる」という考え方です。 あなたは、トリプルバリアラベルまたはメタラベルを用いた金融機械学習(金融ML)分類器を構築しており、探索そのものを過学習の製造装置にしてしまわずに、ハイパーパラメータを公平に選択したいと考えています。この用途において、標準的な手法には3つの具体的な問題があります。まず、GridSearchCVとRandomizedSearchCVは過去の試行結果を学習しないため、すでに性能が低いと判明しているハイパーパラメータ領域を何度も探索してしまい、計算資源を無駄に消費します。次に、有望でない設定であっても、計算コストの高いPurgedKFoldの最初のフォールドで打ち切ることができないため、最初のフォールドだけで失敗が明らかになっていても、すべてのフォールドを最後まで実行する必要があります。さらに、金融データにおける前提条件との統合も十分ではありません。具体的には、PurgedKFoldを唯一有効な分割手法として利用すること、学習時と評価時で異なるサンプル重みを使用すること、そして長時間の探索がクラッシュ後にも再開でき、並列ワーカーにも対応できる永続ストレージを利用することが自然にサポートされていません。その結果として、計算資源が浪費されるだけでなく、パージ境界をまたぐ情報リークによってアウトオブサンプル評価に偏りが生じ、さらに実験が中断されるたびに最初からやり直さなければならないという脆弱な運用になってしまいます。 本記事では、この問題に対する実践的な代替手法として、Optuna(TPEサンプラー、枝刈り、SQLiteストレージ)を、本連載でこれまで確立した金融向け交差検証およびサンプル重みの設計にネイティブに統合する方法をご紹介します。この記事を読み終える頃には、以下の5つの要素から構成される、実際に実行可能なハイパーパラメータ最適化(HPO)の枠組みを構築できるようになります。(1) PurgedKFoldによる交差検証を実行し、収益帰属重みスコアリングを用いて評価をおこない、枝刈りのためにフォールドごとの結果を報告する目的関数。(2) scikit-learnの分布指定をtrial.suggest_*()呼び出しへ変換するとともに、サンプル重みの方式と減衰率も同時に最適化するパラメータ変換レイヤーFinancialModelSuggester。(3) エントロピーに基づく経済的ベースラインと、市場レジームに応じてスケールするボラティリティ許容値を適用する金融向けPruner TradingModelPruner。(4) SQLiteストレージを利用して探索結果を永続化し、中断からの再開および並列ワーカーをサポートするオーケストレーターoptimize_trading_model。(5) 既存のscikit-learn分析との互換性のためのスタディからcv_results_へのコンバータ。出力成果物は、永続化されたスタディ、再学習(refit)済みのbest_estimator_(チューニング済みのベースモデルをラップする_WeightedEstimator)、および各フォールドのスコアを格納したcv_results_ DataFrameです。これらは、パイプラインの他の部分で使用されているものと同じ下流の診断処理にそのまま利用できます。 作者: Patrick Murimi Njoroge 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
新しい記事「MetaTrader 5機械学習の設計図(第8回):パージ済み交差検証と試行枝刈りを用いたベイズ最適化によるハイパーパラメータ最適化」はパブリッシュされました:
あなたは、トリプルバリアラベルまたはメタラベルを用いた金融機械学習(金融ML)分類器を構築しており、探索そのものを過学習の製造装置にしてしまわずに、ハイパーパラメータを公平に選択したいと考えています。この用途において、標準的な手法には3つの具体的な問題があります。まず、GridSearchCVとRandomizedSearchCVは過去の試行結果を学習しないため、すでに性能が低いと判明しているハイパーパラメータ領域を何度も探索してしまい、計算資源を無駄に消費します。次に、有望でない設定であっても、計算コストの高いPurgedKFoldの最初のフォールドで打ち切ることができないため、最初のフォールドだけで失敗が明らかになっていても、すべてのフォールドを最後まで実行する必要があります。さらに、金融データにおける前提条件との統合も十分ではありません。具体的には、PurgedKFoldを唯一有効な分割手法として利用すること、学習時と評価時で異なるサンプル重みを使用すること、そして長時間の探索がクラッシュ後にも再開でき、並列ワーカーにも対応できる永続ストレージを利用することが自然にサポートされていません。その結果として、計算資源が浪費されるだけでなく、パージ境界をまたぐ情報リークによってアウトオブサンプル評価に偏りが生じ、さらに実験が中断されるたびに最初からやり直さなければならないという脆弱な運用になってしまいます。
本記事では、この問題に対する実践的な代替手法として、Optuna(TPEサンプラー、枝刈り、SQLiteストレージ)を、本連載でこれまで確立した金融向け交差検証およびサンプル重みの設計にネイティブに統合する方法をご紹介します。この記事を読み終える頃には、以下の5つの要素から構成される、実際に実行可能なハイパーパラメータ最適化(HPO)の枠組みを構築できるようになります。(1) PurgedKFoldによる交差検証を実行し、収益帰属重みスコアリングを用いて評価をおこない、枝刈りのためにフォールドごとの結果を報告する目的関数。(2) scikit-learnの分布指定をtrial.suggest_*()呼び出しへ変換するとともに、サンプル重みの方式と減衰率も同時に最適化するパラメータ変換レイヤーFinancialModelSuggester。(3) エントロピーに基づく経済的ベースラインと、市場レジームに応じてスケールするボラティリティ許容値を適用する金融向けPruner TradingModelPruner。(4) SQLiteストレージを利用して探索結果を永続化し、中断からの再開および並列ワーカーをサポートするオーケストレーターoptimize_trading_model。(5) 既存のscikit-learn分析との互換性のためのスタディからcv_results_へのコンバータ。出力成果物は、永続化されたスタディ、再学習(refit)済みのbest_estimator_(チューニング済みのベースモデルをラップする_WeightedEstimator)、および各フォールドのスコアを格納したcv_results_ DataFrameです。これらは、パイプラインの他の部分で使用されているものと同じ下流の診断処理にそのまま利用できます。
作者: Patrick Murimi Njoroge