(57)【特許請求の範囲】
【請求項１】
母集団に属する複数のモデルのそれぞれについて所定の関数を用いて適応度を算出する第１の適応度算出部と、
前記複数のモデルのうち、前記第１の適応度算出部により算出された前記適応度がより高い複数のモデルを親モデルとして選択し、選択された複数の親モデルの出力結果を演算して得られた出力結果を出力する仮想モデルを生成する仮想モデル生成部と、
前記所定の関数を用いて前記仮想モデルの前記適応度を算出する第２の適応度算出部と、
前記仮想モデルを前記母集団に追加するとともに、前記母集団に属する前記複数のモデルのうち、前記適応度が低いモデルを前記母集団から削除することで、前記母集団を形成するモデルを置き換えるモデル置換部と、
前記仮想モデル生成部、前記第２の適応度算出部、および前記モデル置換部による処理を、所定の終了条件に到達するまで繰り返して、前記母集団から前記適応度の高いモデルを抽出するモデル抽出部と
を備える情報処理装置。
【請求項２】
前記第２の適応度算出部は、前記仮想モデルの前記出力結果から、前記所定の関数に代入すべきパラメータを導出し、導出された前記パラメータを前記所定の関数に代入することにより、前記仮想モデルの前記適応度を算出する
請求項１に記載の情報処理装置。
【請求項３】
前記仮想モデル生成部により生成される前記仮想モデルは、前記複数の親モデルのそれぞれの出力結果および世代の情報を有する
請求項１または２に記載の情報処理装置。
【請求項４】
前記仮想モデル生成部は、前記複数のモデルのうち、ランダムに選択された複数のモデルでサブセットを形成し、形成された前記サブセットに属する複数のモデルのうち、前記適応度がより高い複数のモデルを親モデルとして選択する
請求項１から３のいずれか１項に記載の情報処理装置。
【請求項５】
前記仮想モデル生成部は、生成しようとする前記仮想モデルが参照する前記親モデルの数が所定の閾値を超える場合、前記仮想モデルを生成しない
請求項１から４のいずれか１項に記載の情報処理装置。
【請求項６】
前記第１の適応度算出部および前記第２の適応度算出部は、モデルの取引指標をパラメータとしてユーティリティ関数に代入することにより、前記モデルの市場における効用を定量的に示す有用値を、前記適応度として算出する
請求項１から５いずれか１項に記載の情報処理装置。
【請求項７】
前記取引指標は、前記モデルを使用した取引におけるリターン、勝率、シャープレシオ、取引頻度、買いおよび売り間の勝率の差分のいずれか１つ以上を含む
請求項６記載の情報処理装置。
【請求項８】
前記仮想モデル生成部により生成される前記仮想モデルは、前記複数の親モデルの取引のアクションを示す取引サインを演算して得られた取引サインを出力する
請求項１から６のいずれか１項に記載の情報処理装置。
【請求項９】
前記取引サインは、買い（Ｂｕｙ）、売り（Ｓｅｌｌ）、およびノーアクション（Ｎ／Ａ）のいずれかを示す
請求項８記載の情報処理装置。
【請求項１０】
前記仮想モデル生成部は、前記複数の親モデルが出力する前記取引サインの各々に対応する所定の点数を付与し、付与された前記点数を加算することにより、前記仮想モデルの取引サインを生成する
請求項８または９に記載の情報処理装置。
【請求項１１】
前記仮想モデル生成部は、前記複数の親モデルが出力する前記取引サインのそれぞれを遺伝子として、遺伝的アルゴリズムを用いて前記複数の親モデルをクロスオーバすることにより、前記仮想モデルを生成する
ことを特徴とする請求項８から１０のいずれか１項に記載の情報処理装置。
【請求項１２】
前記第１の適応度算出部および前記第２の適応度算出部は、異なる係数の組み合わせを含む複数の所定の関数を用いて、前記適用度を算出し、
前記モデル抽出部は、前記仮想モデル生成部、前記第２の適応度算出部、および前記モデル置換部による処理を、前記複数の所定の関数のそれぞれについて、所定の終了条件に到達するまで繰り返して、前記複数の所定の関数ごとに、モデルを抽出する
請求項１から１０のいずれか１項に記載の情報処理装置。
【請求項１３】
前記モデル抽出部により抽出された複数のモデルを候補モデルとして表示出力するとともに、前記候補モデルの中からいずれか１つ以上のモデルを選択する入力を受け付けるユーザインタフェースを提供する表示制御部をさらに備える
請求項１２に記載の情報処理装置。
【請求項１４】
情報処理装置が実行する情報処理方法であって、
母集団に属する複数のモデルのそれぞれについて所定の関数を用いて適応度を算出するステップと、
前記複数のモデルのうち、算出された前記適応度がより高い複数のモデルを親モデルとして選択し、選択された複数の親モデルの出力結果を演算して得られた出力結果を出力する仮想モデルを生成するステップと、
前記所定の関数を用いて前記仮想モデルの前記適応度を算出するステップと、
前記仮想モデルを前記母集団に追加するとともに、前記母集団に属する前記複数のモデルのうち、前記適応度が低いモデルを前記母集団から削除することで、前記母集団を形成するモデルを置き換えるステップと、
前記仮想モデルを生成するステップ、前記仮想モデルの適応度を算出するステップ、および前記モデルを置き換えるステップを、所定の終了条件に到達するまで繰り返して、前記母集団から前記適応度の高いモデルを抽出するステップと
を含む情報処理方法。
【請求項１５】
情報処理をコンピュータに実行させるための情報処理プログラムであって、該プログラムは、前記コンピュータに、
母集団に属する複数のモデルのそれぞれについて所定の関数を用いて適応度を算出する第１の適応度算出処理と、
前記複数のモデルのうち、前記第１の適応度算出処理により算出された前記適応度がより高い複数のモデルを親モデルとして選択し、選択された複数の親モデルの出力結果を演算して得られた出力結果を出力する仮想モデルを生成する仮想モデル生成処理と、
前記所定の関数を用いて前記仮想モデルの前記適応度を算出する第２の適応度算出処理と、
前記仮想モデルを前記母集団に追加するとともに、前記母集団に属する前記複数のモデルのうち、前記適応度が低いモデルを前記母集団から削除することで、前記母集団を形成するモデルを置き換えるモデル置換処理と、
前記仮想モデル生成処理、前記第２の適応度算出処理、および前記モデル置換処理を、所定の終了条件に到達するまで繰り返して、前記母集団から前記適応度の高いモデルを抽出するモデル抽出処理と、を含む処理を実行させるためのものである、
情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法およびプログラムに関し、特に、機械学習用の学習モデルを自動抽出する技術に関する。
【背景技術】
【０００２】
機械学習モデルは、例えば、デイトレーディング等の投資などの各種金融商品取引に応用されており、機械学習による金融市場動向の予測等を可能にしている。
金融商品取引に応用されるこの種の機械学習モデルは、例えば、景気動向、金利水準、外国為替、チャート等を入力データとして、特定銘柄の株式等を買うか（Ｂｕｙ）、売るか（Ｓｅｌｌ）、何もしないか（Ｎｏ  Ａｃｔｉｏｎ：Ｎ／Ａ）のいずれかを示す取引サインを出力する。【０００３】
現状、多数の機械学習モデルが、このような投資などの金融商品取引に応用されるために存在しており、これら多数の機械学習モデルのうち、いかなる機械学習モデルを選択するかが、金融市場動向の予測精度を左右する。【０００４】
特許文献１（ＷＯ２００６／０８５４６０号公報）は、複数の投資モデルから実取引に用いる投資モデルをユーザに選択させる投資モデル管理方法を開示する。
具体的には、特許文献１の投資モデル管理方法において、投資モデル管理サーバは、データベースに登録した各投資モデルについて、現実の取引市場における取引データに基づいて、過去及び／又は将来の仮想運用実績を算出し、各投資モデルの詳細や仮想運用実績（ランキング情報等）を、要求のあったユーザ端末に表示し、ユーザ端末から当該投資モデルによる実取引の申込みを受付けて必要な処理を実行する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】ＷＯ２００６／０８５４６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、多数の機械学習モデルから、予測精度の高い機械学習モデルをマニュアルで選択することは、膨大な時間および労力を要し、実用性に欠ける。一方、ランダムに機械学習モデルを選択することは、労力を軽減する一方、予測精度を低下させてしまう。
また、いわゆるアンサンブル学習等により、複数の機械学習モデルを融合させて１つの機械学習モデルを生成することが技術的に可能である。しかしながら、個々の機械学習モデルは異なるハイパーパラメータセットをそれぞれ有しており、異なる機械学習モデル同士を融合する場合、これら異なるハイパーパラメータセット同士で構成される多数のモデルの組み合わせをグリッドサーチにより最適化していくには、膨大な計算量を必要とし、多くのコンピュータ資源を長時間占有しかねない。【０００７】
特に、金融商品取引においては、金融市場が時々刻々と変動し、取引実行の最適解も時々刻々と変化していく。例えば、市場において１日に実行すべき為替取引のトランザクションのボリュームは、例えば、数百億米ドルに上り、為替レートの更新頻度も、例えば、５ｍｓと極めて高頻度であって、１日に数百万回に及ぶレートの更新が発生する。
このため、機械学習モデルも、こうした市場変動に対してリアルタイムに追従して変化していかなければ市場予測における精度の低下を招いてしまう。したがって、多数の機械学習モデルから、最適な機械学習モデルを自動的に選択する処理は、より低負荷かつ高速で実行可能であることが要請される。【０００８】
本発明は上記課題を解決するためになされたものであり、その目的は、コンピュータ資源への負荷を低減しつつ、多数の学習モデルから、より高精度な学習モデルを、高速で自動的に抽出することが可能な情報処理装置、情報処理方法およびプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明に係る情報処理装置の一態様は、母集団に属する複数のモデルのそれぞれについて所定の関数を用いて適応度を算出する第１の適応度算出部と、前記複数のモデルのうち、前記第１の適応度算出部により算出された前記適応度がより高い複数のモデルを親モデルとして選択し、選択された複数の親モデルの出力結果を演算して得られた出力結果を出力する仮想モデルを生成する仮想モデル生成部と、前記所定の関数を用いて前記仮想モデルの前記適応度を算出する第２の適応度算出部と、前記仮想モデルを前記母集団に追加するとともに、前記母集団に属する前記複数のモデルのうち、前記適応度が低いモデルを前記母集団から削除することで、前記母集団を形成するモデルを置き換えるモデル置換部と、前記仮想モデル生成部、前記第２の適応度算出部、および前記モデル置換部による処理を、所定の終了条件に到達するまで繰り返して、前記母集団から前記適応度の高いモデルを抽出するモデル抽出部と、を備える。【００１０】
前記第２の適応度算出部は、前記仮想モデルの前記出力結果から、前記所定の関数に代入すべきパラメータを導出し、導出された前記パラメータを前記所定の関数に代入することにより、前記仮想モデルの前記適応度を算出してよい。【００１１】
前記仮想モデル生成部により生成される前記仮想モデルは、前記複数の親モデルのそれぞれの出力結果および世代の情報を有してよい。【００１２】
前記仮想モデル生成部は、前記複数のモデルのうち、ランダムに選択された複数のモデルでサブセットを形成し、形成された前記サブセットに属する複数のモデルのうち、前記適応度がより高い複数のモデルを親モデルとして選択してよい。【００１３】
前記仮想モデル生成部は、生成しようとする前記仮想モデルが参照する前記親モデルの数が所定の閾値を超える場合、前記仮想モデルを生成しなくてよい。【００１４】
前記第１の適応度算出部および前記第２の適応度算出部は、モデルの取引指標をパラメータとしてユーティリティ関数に代入することにより、前記モデルの市場における効用を定量的に示す有用値を、前記適応度として算出してよい。【００１５】
前記取引指標は、前記モデルを使用した取引におけるリターン、勝率、シャープレシオ、取引頻度、買いおよび売り間の勝率の差分のいずれか１つ以上を含んでよい。【００１６】
前記仮想モデル生成部により生成される前記仮想モデルは、前記複数の親モデルの取引のアクションを示す取引サインを演算して得られた取引サインを出力してよい。【００１７】
前記取引サインは、買い（Ｂｕｙ）、売り（Ｓｅｌｌ）、およびノーアクション（Ｎ／Ａ）のいずれかを示してよい。【００１８】
前記仮想モデル生成部は、前記複数の親モデルが出力する前記取引サインの各々に対応する所定の点数を付与し、付与された前記点数を加算することにより、前記仮想モデルの取引サインを生成してよい。【００１９】
前記仮想モデル生成部は、前記複数の親モデルが出力する前記取引サインのそれぞれを遺伝子として、遺伝的アルゴリズムを用いて前記複数の親モデルをクロスオーバすることにより、前記仮想モデルを生成してよい。【００２０】
前記第１の適応度算出部および前記第２の適応度算出部は、異なる係数の組み合わせを含む複数の所定の関数を用いて、前記適用度を算出し、前記モデル抽出部は、前記仮想モデル生成部、前記第２の適応度算出部、および前記モデル置換部による処理を、前記複数の所定の関数のそれぞれについて、所定の終了条件に到達するまで繰り返して、前記複数の所定の関数ごとに、モデルを抽出してよい。【００２１】
前記モデル抽出部により抽出された複数のモデルを候補モデルとして表示出力するとともに、前記候補モデルの中からいずれか１つ以上のモデルを選択する入力を受け付けるユーザインタフェースを提供する表示制御部をさらに備えてよい。【００２２】
本発明に係る情報処理方法の一態様は、情報処理装置が実行する情報処理方法であって、母集団に属する複数のモデルのそれぞれについて所定の関数を用いて適応度を算出するステップと、前記複数のモデルのうち、算出された前記適応度がより高い複数のモデルを親モデルとして選択し、選択された複数の親モデルの出力結果を演算して得られた出力結果を出力する仮想モデルを生成するステップと、前記所定の関数を用いて前記仮想モデルの前記適応度を算出するステップと、前記仮想モデルを前記母集団に追加するとともに、前記母集団に属する前記複数のモデルのうち、前記適応度が低いモデルを前記母集団から削除することで、前記母集団を形成するモデルを置き換えるステップと、前記仮想モデルを生成するステップ、前記仮想モデルの適応度を算出するステップ、および前記モデルを置き換えるステップを、所定の終了条件に到達するまで繰り返して、前記母集団から前記適応度の高いモデルを抽出するステップとを含む。【００２３】
本発明に係る情報処理プログラムの一態様は、情報処理をコンピュータに実行させるための情報処理プログラムであって、該プログラムは、前記コンピュータに、母集団に属する複数のモデルのそれぞれについて所定の関数を用いて適応度を算出する第１の適応度算出処理と、前記複数のモデルのうち、前記第１の適応度算出処理により算出された前記適応度がより高い複数のモデルを親モデルとして選択し、選択された複数の親モデルの出力結果を演算して得られた出力結果を出力する仮想モデルを生成する仮想モデル生成処理と、前記所定の関数を用いて前記仮想モデルの前記適応度を算出する第２の適応度算出処理と、前記仮想モデルを前記母集団に追加するとともに、前記母集団に属する前記複数のモデルのうち、前記適応度が低いモデルを前記母集団から削除することで、前記母集団を形成するモデルを置き換えるモデル置換処理と、前記仮想モデル生成処理、前記第２の適応度算出処理、および前記モデル置換処理を、所定の終了条件に到達するまで繰り返して、前記母集団から前記適応度の高いモデルを抽出するモデル抽出処理と、を含む処理を実行させるためのものである。&#8195;
【発明の効果】
【００２４】
本発明によれば、コンピュータ資源への負荷を低減しつつ、多数の学習モデルから、より高精度な学習モデルを、高速で自動的に抽出することができる。
上記した本発明の目的、態様及び効果並びに上記されなかった本発明の目的、態様及び効果は、当業者であれば添付図面及び請求の範囲の記載を参照することにより下記の発明を実施するための形態から理解できるであろう。
【図面の簡単な説明】
【００２５】
【図１】図１は、本発明の実施形態に係る学習モデル抽出装置の機能構成の一例を示すブロック図である。
【図２】図２は、本発明の実施形態に係る学習モデル抽出装置が実行する学習モデル抽出処理の処理手順の一例を示すフローチャートである。
【図３】図３は、２つの親モデルをクロスオーバして子モデルである仮想モデルを生成する処理の一例を説明する模式図である。
【図４】図４は、木構造を有するモデルの世代（系譜）の情報の一例を説明する模式図である。
【図５】図５は、本発明の実施形態の変形例に係る学習モデル抽出装置が実行する複数の学習モデルの抽出処理の処理手順の一例を示すフローチャートである。
【図６】図６は、本発明の実施形態に係る学習モデル抽出装置のハードウエア構成の一例を示す図である。
【発明を実施するための形態】
【００２６】
以下、添付図面を参照して、本発明を実施するための実施形態について詳細に説明する。以下に開示される構成要素のうち、同一機能を有するものには同一の符号を付し、その説明を省略する。なお、以下に開示される実施形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正または変更されるべきものであり、本発明は以下の実施形態に限定されるものではない。また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００２７】
以下、本実施形態に係る情報処理装置としての学習モデル抽出装置が、例えば、証券、保険、債券、投資信託、外国為替等の各種金融商品取引に関するデータを入力として取引のアクションを示す取引サインを出力する複数の学習済みモデルから、自動的に最適な学習済みモデルを抽出する非限定的一例を説明するが、本実施形態はこれに限定されず、あらゆる応用分野のための学習済みモデルの抽出に適用することができる。
以下、本実施形態に係る学習モデル抽出装置により抽出される機械学習用の学習済みモデルを、単に、「モデル」または「学習モデル」という。
【００２８】
本実施形態に係る学習モデル抽出装置は、遺伝的アルゴリズム（Ｇｅｎｅｔｉｃ  Ａｌｇｏｒｉｔｈｍｓ）を用いて、親モデルをクロスオーバして学習モデルとしての実体を有さない仮想モデルを生成し、所与のモデルおよび仮想モデルの適応度（ｆｉｔｎｅｓｓ）を比較することで、多数のモデルから適応度の高いモデルを抽出する。このように動作することで、本実施形態に係る学習モデル抽出装置は、複数のモデルを融合して１つの学習モデルを生成する手法であるアンサンブル学習を、より低負荷で近似する。
本実施形態では、遺伝的アルゴリズムにおける適応度関数として、金融商品取引における効用ないし有用度を定量的に評価するユーティリティ（ｕｔｉｌｉｔｙ）関数を用いる。なお、上述したような金融商品取引以外の応用分野において本実施形態を適用する場合も同様に、最適化したい重要な指標を含むユーティリティ関数を用いればよい。
【００２９】
＜学習モデル抽出装置の機能構成＞
図１は、本実施形態に係る学習モデル抽出装置の機能構成の一例を示すブロック図である。
図１に示す学習モデル抽出装置１は、モデル記憶部１１、データ入力部１２、有用値算出部１３、仮想モデル生成部１４、モデル置換部１５、モデル抽出部１６、通信部１７、および表示制御部１８を備える。
【００３０】
モデル記憶部１１は、金融商品取引の機械学習で用いられる複数の学習モデルを記憶する。
モデル記憶部１１は、学習モデル抽出装置１の記憶装置内に構成される。記憶装置は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の揮発性メモリ、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の不揮発性メモリ、着脱可能な外部メモリ等から構成されてよい。記憶装置は、システムバスを介して、学習モデル抽出装置１内の各ブロック１１〜１７が共有して利用可能な記憶領域であり、各種データの保存やワークメモリとして使用されてよい。なお、記憶装置は、学習モデル抽出装置１の内部に備えられてもよいし、学習モデル抽出装置１と通信可能な外部装置（例えば、サーバ等）として備えられてもよい。
【００３１】
本実施形態において、モデル記憶部１１は、多数の機械学習用のモデルを記憶する。非限定的一例として、モデル記憶部１１において記憶されるモデルの数は、約５００〜１０００である。
本実施形態におけるモデルは、金融商品取引のマクロ経済データや為替データ等を入力データとし、取引のアクションを示す取引サインを最適解として推論して出力データとする。
【００３２】
具体的に、モデルへ入力される入力データは、景気動向、金利水準、外国為替、チャート等のデータであり、例えば、マクロ経済データ（ＴＯＰＩＸインデックス、日経インデックス、日本国債、原油価格）、為替データ（ＵＳＤ／ＪＰＹ、ＥＵＲ／ＵＳＤ、ＧＢＰ／ＵＳＤ、ＣＨＦ／ＵＳＤ、ＣＡＤ／ＵＳＤ、ＡＵＤ／ＵＳＤ、ＮＺＤ／ＵＳＤ、ＣＮＹ／ＵＳＤ、ＫＲＷ／ＵＳＤ等）を含む。
モデルが出力する出力データである取引サインは、例えば、特定銘柄の株式等の金融商品を買うか（Ｂｕｙ）、売るか（Ｓｅｌｌ）、何もしないか（Ｎｏ  Ａｃｔｉｏｎ：Ｎ／Ａ）のいずれかの取引のアクションを示す。この取引サインは、株式先物、インデックス先物（日経（ＮＫ）２２５、ＮＹダウ（ＤＪＩ）等）、債券先物（日本国債（ＪＧＢ）、米ドル建て（ＵＳＤ）債券等）、商品先物等の各種金融商品の取引に使用される。
【００３３】
上記のモデルは、所定期間（例えば、５年間）に亘る過去のマクロ経済データや為替データを入力データとし、入力データに対応する金融取引の実績に関するデータを教師ラベルとして、特徴量エンジニアリングにより特徴抽出を実行し、機械学習アルゴリズムを適用することで、予め構築および訓練された学習済みモデルである。
金融取引の実績に関するデータは、例えば、入力データに対応する金融商品の価格変動実績（例えば、上昇、下降等）に関するデータや、入力データに対応する金融取引の正解データ（例えば、金融商品の価格の上昇に対して「買い」を示すデータ）を含む。
【００３４】
特徴抽出は、例えば、日々の入力データにつき、過去所定区間（例えば、１８０日分）の単純移動平均や指数加重移動平均を算出することで実行することができる。
モデルには任意の機械学習のアルゴリズムを適用することができ、例えば、ＳＶＭ（Ｓｕｐｐｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）、ＣＮＮ（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）、ランダムフォレスト（Ｒａｎｄｏｍ  Ｆｏｒｅｓｔｓ）等のいずれか、またはこれらの組み合わせを用いてよい。
なお、本実施形態は、複数の所与の学習済みモデルから最適化されたモデルを抽出することを主題とするものであり、学習済みモデルの構築および訓練自体につき、以降では詳述しない。
【００３５】
データ入力部１２は、モデル記憶部１１において記憶される各モデルの有用値を算出するために使用される所定数のサンプルデータの入力を受け付ける。
より具体的には、データ入力部１２に入力されるサンプルデータは、それぞれのモデルの金融商品取引におけるパフォーマンスないし効用を定量的に算出するユーティリティ関数（ｕｔｉｌｉｔｙ  ｆｕｎｃｔｉｏｎ）のパラメータ値を導出して、金融商品取引市場におけるモデルの効用を定量的に評価する有用値を算出するためのデータであり、所定期間の過去のマクロ経済データ、為替データ、取引実績、すなわち取引実行内容と取引実行結果のデータを含む。
データ入力部１２は、入力された所定数のサンプルデータを、記憶装置に予め記憶し、有用値算出部１３が記憶装置に記憶されたサンプルデータを読み出してユーティリティ関数のパラメータ値を導出してもよい。
【００３６】
有用値算出部１３は、データ入力部１２に入力された、あるいは記憶装置に記憶されたサンプルデータに基づいて、ユーティリティ関数の各パラメータである取引指標（ｔｒａｄｉｎｇ  ｍｅｔｒｉｃｓ）のパラメータ値を導出して、導出された取引指標のパラメータ値をユーティリティ関数に対して代入して、有用値を算出する。有用値算出部１３は、モデル記憶部１１において記憶される複数のモデルのそれぞれについて、ユーティリティ関数の取引指標のそれぞれのパラメータ値を代入して、有用値を算出する。なお、ユーティリティ関数は複数の取引指標をパラメータとして持つが、ユーティリティ関数の詳細は、図２を参照して後述する。
【００３７】
仮想モデル生成部１４は、モデル記憶部１１において記憶される母集団となる複数のモデルから仮想モデルを生成する。具体的には、仮想モデル生成部１４はまず、遺伝的アルゴリズムを用いて、モデル記憶部１１において記憶される母集団となる複数のモデルから、ランダムに、より少ない複数のモデルを母集団のサブセットとして選択する。仮想モデル生成部１４は、サブセット中で選択された複数のモデルのうち有用値の高い複数のモデル（例えば、２個のモデル、以下、親モデルを２個とする例を説明する）を親（ｐａｒｅｎｔ）モデルとし、親モデル同士をクロスオーバすることにより、子孫（ｏｆｆｓｐｒｉｎｇ）モデルである仮想モデルを生成する。
親モデル同士をクロスオーバすることで生成される仮想モデルは、学習モデルとしての実体を有さず、親モデルを示す情報を有する仮想的なモデルである。親モデルから仮想モデルを生成する処理の詳細は、図２および図３を参照して後述する。
仮想モデル生成部１４によって生成された仮想モデルの有用値は、有用値算出部１３によって、ユーティリティ関数を用いて算出される。
【００３８】
モデル置換部１５は、母集団に含まれるモデルを置き換えることにより更新する。具体的には、モデル置換部１５は、仮想モデル生成部１４により生成された仮想モデルを、モデルの母集団に追加するとともに、仮想モデルが追加された母集団の中から、最も低い有用値を有するモデルを削除することで、母集団のモデルの数を増減させることなく所定数に維持する。
モデル置換部１５は、所定の終了条件に到達するまで、母集団に含まれるモデルの置換処理を繰り返す。
【００３９】
モデル抽出部１６は、モデル置換部１５により、母集団に属するモデルの置換が繰り返された後、母集団に属するモデルのうち、最も大きい有用値を有するモデルを、最適化されたモデルとして抽出する。
多数のモデルの中から、モデル抽出部１６により抽出されたモデルは、最適化された学習済みモデルであり、抽出されたモデルに対して、予測すべき時点のマクロ経済データや為替データ等の入力データを入力することで、将来の取引サインを高精度に推論予測することが可能となる。
【００４０】
通信部１７は、ネットワークとのインタフェースを提供し、ネットワークを介して、外部装置との通信を実行する。通信部１７を介して、外部装置との間で、例えばモデルに入力されるべき入力データ、サンプルデータ、取引実績データ等が受信され、モデルの出力結果である取引サインやユーティリティ関数の出力結果、これらの履歴の情報等が送信される。本実施形態では、通信部１７は、イーサネット（登録商標）等の通信規格に準拠する有線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）や専用線を介した通信を実行してよい。ただし、本実施形態で利用可能なネットワークはこれに限定されず、無線ネットワークで構成されてもよい。この無線ネットワークは、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＺｉｇＢｅｅ（登録商標）、ＵＷＢ（Ｕｌｔｒａ  Ｗｉｄｅ  Ｂａｎｄ）等の無線ＰＡＮ（Ｐｅｒｓｏｎａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を含む。また、Ｗｉ−Ｆｉ（Ｗｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙ）（登録商標）等の無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）や、ＷｉＭＡＸ（登録商標）等の無線ＭＡＮ（Ｍｅｔｒｏｐｏｌｉｔａｎ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を含む。さらに、ＬＴＥ／３Ｇ、４Ｇ、５Ｇ等の無線ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を含む。なお、ネットワークは、各機器を相互に通信可能に接続し、通信が可能であればよく、通信の規格、規模、構成は上記に限定されない。
【００４１】
表示制御部１８は、学習モデル抽出装置１が実行する学習モデル抽出処理の実行結果を、表示装置を介して表示出力する。表示制御部１８はまた、学習モデル抽出処理で使用される各種パラメータや、他の装置との通信で使用される通信パラメータ等を学習モデル抽出装置１へ指示入力するためのＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を提供してよい。
なお、有用値算出部１３は、請求項における第１の適応度算出部および第２の適応度算出部に、仮想モデル生成部１４は、請求項における仮想モデル生成部に、モデル置換部１５は、請求項におけるモデル置換部に、モデル抽出部１６は、請求項におけるモデル抽出部に、それぞれ相当する。
【００４２】
＜モデル抽出における遺伝的アルゴリズムの応用＞
遺伝的アルゴリズム（ｇｅｎｅｔｉｃ  ａｌｇｏｒｉｔｈｍ）とは、自然進化の理論に基づく進化型アルゴリズムと呼ばれる最適化手法の１つであり、次世代の子孫を生み出すために、生殖に最適な固体が選択されるという自然淘汰（ｎａｔｕｒａｌ  ｓｅｌｅｃｔｉｏｎ）のプロセスを反映している。
遺伝的アルゴリズムは、複数の解の候補のうちから、より適応度（ｆｉｔｎｅｓｓ）の高い最適解を探索するアルゴリズムである。
【００４３】
本実施形態では、遺伝的アルゴリズムを用いて、複数の親モデルの出力結果を演算して子孫モデルを生成し、初期モデルおよび子孫モデルを、それぞれユーティリティ関数を用いて有用値で評価することによって、最適なモデルを抽出する。
具体的には、本実施形態において、学習モデル抽出装置１は、遺伝的アルゴリズムを、以下のとおりに応用する。
【００４４】
遺伝的アルゴリズムを適用する初期母集団（ｉｎｉｔｉａｌ  ｐｏｐｕｌａｔｉｏｎ）は、モデル記憶部１１において記憶される個別のモデル（ｉｎｄｉｖｉｄｕａｌ  ｍｏｄｅｌ）全部または一部により構成する。個別のモデルが所定期間について出力する取引サインをそれぞれ遺伝子として見做す。すなわち、従来の遺伝的アルゴリズムでは、モデル自体を構成する要素（例えばＤＮＡ）を遺伝子として扱っていたが、本実施形態では便宜上、モデルから出力される取引サインを、後世のモデルに受け継がれる要素であるという観点から、遺伝子と見做すことにする。
遺伝的アルゴリズムにおける適応度関数（ｆｉｔｎｅｓｓ  ｆｕｎｃｔｉｏｎ）として、詳細を後述する上記のユーティリティ関数（ｕｔｉｌｉｔｙ  ｆｕｎｃｔｉｏｎ）を用いて、各モデルのパフォーマンスないし効用を評価する。
【００４５】
選択（ｓｅｌｅｃｔｉｏｎ）プロセスとして、ｎ個のサンプルモデルをランダムに母集団のサブセットとして選択し、選択されたサンプルモデルから、ユーティリティ関数により最も高い有用値を持つと評価された２個のサンプルモデルを、親モデルとして決定する。
親モデルのクロスオーバプロセスとして、決定された２個の親モデルが出力する取引サイン同士を組み合わせることにより、組み合わせられた取引サインを出力する仮想モデルを子孫モデルとして生成する。なお、本実施形態に係る遺伝的アルゴリズムにおけるクロスオーバの手法の詳細は、図３を参照して後述する。
なお、遺伝的アルゴリズムにおける変異（ｍｕｔａｔｉｏｎ）は、本実施形態では適用しない例を説明するが、代替的に、本実施形態の学習モデル抽出装置１は、変異を適用して、子孫モデルにおいて、取引サインの一部を変異させてもよい。
【００４６】
＜学習モデル抽出処理の詳細処理手順＞
図２は、本実施形態に係る学習モデル抽出装置１が実行する学習モデル抽出処理の処理手順の一例を示すフローチャートである。
なお、図２の各ステップは、学習モデル抽出装置１の記憶装置に記憶されたプログラムをＣＰＵが読み出し、実行することで実現される。また、図２に示すフローチャートの少なくとも一部をハードウエアにより実現してもよい。ハードウエアにより実現する場合、例えば、所定のコンパイラを用いることで、各ステップを実現するためのプログラムからＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）上に自動的に専用回路を生成すればよい。また、ＦＰＧＡと同様にしてＧａｔｅ  Ａｒｒａｙ回路を形成し、ハードウエアとして実現するようにしてもよい。また、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）により実現するようにしてもよい。
【００４７】
Ｓ１で、有用値算出部１３は、モデル記憶部１１において記憶されるＮ個のモデルのすべてをそれぞれ初期化する。非限定的一例として、Ｓ１で初期化される学習済みモデルの数Ｎは、例えば、４３２であってよい。
Ｓ２で、有用値算出部１３は、Ｓ１で初期化したＮ個のモデルのそれぞれを、下記式１で示されるユーティリティ関数を用いて評価する。
【数１】
0006801149.tif 000002
（式１）  
【００４８】
上記式１において、Ｒは正規化されたリターン、ＷＲは、勝率（％）、ＳＲは、リターンとリスクとの関係を示す指標であるシャープレシオ、ＴＦは、取引頻度（％）、ΔＷＲは、買い（Ｂｕｙ）および売り（Ｓｅｌｌ）の間の勝率の差分をそれぞれ示す。なお、本実施形態では、取引頻度は、買いまたは売りの取引が実際に行われた頻度を意味する。
ユーティリティ関数のパラメータであるこれらＲ、ＷＲ、ＳＲ、ＴＦ、およびΔＷＲは、いずれも金融商品取引における取引指標（ｔｒａｄｉｎｇ  ｍｅｔｒｉｃｓ）である。また、α、β、γ、δ、εは、いずれも、それぞれ異なる取引指標に対して適宜調整されるべき任意の係数である。非限定的一例として、各係数は、α＝[１，２]、β＝[１，２，５]、γ＝[１，５，１０]、δ＝[０]、ε＝[１]から選択されてよい。
【００４９】
有用値算出部１３は、データ入力部１２に入力されたサンプルデータを各モデルに入力し、それぞれのモデルについて、上述したようなリターン等の取引指標の値を予め算出する。そして、有用値算出部１３は、上記式１で示されるユーティリティ関数に、予め算出された取引指標の値を代入することによって、当該モデルの所定期間における金融商品取引におけるパフォーマンスないし効用を定量的に示す有用値（ユーティリティ値）を算出する。
【００５０】
Ｓ３で、仮想モデル生成部１４は、母集団に、Ｓ２で評価されたＮ個の個別モデルを準備する。
Ｓ４で、仮想モデル生成部１４およびモデル置換部１５は、世代数のカウンタＣを１に設定し、第１世代において遺伝的アルゴリズムに基づくＳ５〜Ｓ１２までの処理を実行する。
【００５１】
具体的には、Ｓ５で、仮想モデル生成部１４は、母集団に準備されたＮ個の個別モデルから、ｎ個をランダムに母集団のサブセットとして選択する。非限定的一例において、ランダムに選択される個別モデルの数ｎは、２０、または４０であってよい。
Ｓ６で、仮想モデル生成部１４は、Ｓ５で選択されたｎ個の個別モデルのうち、最大の有用値を有する２個の個別モデルを、第１世代でクロスオーバ（交叉）させるべき親モデルとして選択する。なお、Ｓ６で親モデルとして選択される個別モデルの数は、２個に限定されず、３個以上であってもよい。
【００５２】
Ｓ７で、仮想モデル生成部１４は、Ｓ６で選択された２個の親モデルをクロスオーバ（交叉）させて、子孫モデルを生成する。Ｓ６で親モデルとして選択された個別モデルの数が、３個以上であった場合、仮想モデル生成部１４は、選択された数の親モデルをクロスオーバさせればよい。
本実施形態において、仮想モデル生成部１４は、子孫モデルとして、学習モデルとしての実体（パラメータ群）を持たず、親モデルが出力する取引サインを組み合わせることによって仮想モデルを生成する。
【００５３】
本実施形態において、クロスオーバ（交叉）とは、所定数（例えば、２個）の親（ｐａｒｅｎｔ）モデルから子孫（ｏｆｆｓｐｒｉｎｇ）モデルを生成することをいう。具体的には、本実施形態において、仮想モデル生成部１４は、親モデルの出力結果に対して所定の組み合わせ演算を行うことにより得られる出力結果を算出する。そして、仮想モデル生成部１４は、組み合わせ演算により算出された出力結果を、仮想モデルが出力すべき出力結果として、当該出力結果を出力するための仮想的なモデルを逆生成する。
すなわち、仮想モデルは、親モデルを示す情報として、所定数の親モデルの出力結果を組み合わせ演算した出力結果、または組み合わせ演算した出力結果を算出するための親モデルの出力結果の情報を記憶し、当該出力結果の基となった親モデルの世代（系譜）の情報を、例えば木構造で記憶する仮想的なモデルである。
ここで、組み合わせの基となる出力結果を出力するモデルを親モデル（先祖モデル）といい、これらの親モデルの出力結果に対して所定の組み合わせ演算を行うことによって得られる出力結果を出力するモデルを子モデル（子孫モデル）という。
【００５４】
親モデル同士の実体を融合して子モデルの実体を算出することは、極めて処理負荷が高く、限られたコンピュータ資源では実装が困難である。そこで、本実施形態においては、子モデルの実体を算出するのではなく、親モデルを示す情報を子モデルとして生成することにより、処理負荷を軽減している。すなわち、本実施形態における子モデルは、実体を伴うモデルではなく、組み合わせの基となる出力結果を出力する親モデルを示す情報としての仮想モデルである。
【００５５】
子モデルである仮想モデルは、実体を伴わないため、入力データを直接入力して出力結果を得ることができない。そこで、本実施形態に係る学習モデル抽出装置１は、子モデルの出力結果を間接的に算出する。具体的には、子モデルが新たな入力値に対する出力結果（出力値）を算出する際には、子モデルが参照する複数の親モデルのそれぞれからその入力値に対する出力値を算出し、算出した出力値に対して組み合わせ演算を行うことによって、子モデルの出力値を算出する。
【００５６】
図３は、２つの親モデルをクロスオーバして子モデルである仮想モデルを生成する処理の一例を説明する模式図である。
各親モデルは、過去の所定期間（例えば、３６５日、２５０営業日）において所定間隔毎に、買い（Ｂｕｙ）、売り（Ｓｅｌｌ）、何もしない（Ｎ／Ａ）という取引のアクションをそれぞれ示す取引サインを出力する。
図３に示す例では、クロスオーバ（交叉）されるべき親１モデルは、出力結果である取引サインとして、Ｂｕｙ、Ｓｅｌｌ、Ｎ／Ａ、Ｂｕｙ、Ｓｅｌｌ、Ｂｕｙの６つの取引サインを過去に出力したものとする。一方、クロスオーバされるべき親２モデルは、取引サインとして、Ｂｕｙ、Ｎ／Ａ、Ｎ／Ａ、Ｓｅｌｌ、Ｓｅｌｌ、Ｓｅｌｌの６つの取引サインを過去に出力したものとする。
６つの取引サインは、親１および親２モデルから所定間隔毎に出力される取引サインであり、所定間隔は、例えば数秒、数分、数時間、数日等の任意の間隔に設定される。例えば、任意の間隔は、取引が行われる間隔に合わせて、例えば４時間に設定されてもよく、６つの取引サインは、２４時間分の取引サインを示してもよい。本実施形態では、親１および親２モデルが出力するこのような取引サインのシーケンスが、クロスオーバにおいて使用される。ただし、過去の所定期間において出力される取引サインの数は、図３に例示する６つに限定されない。
【００５７】
本実施形態において、仮想モデル生成部１４は、これら取引サインのそれぞれに点数を付与する。図３を参照して、仮想モデル生成部１４は、例えば、買い（Ｂｕｙ）には＋１点、売り（Ｓｅｌｌ）には−１点、Ｎ／Ａには０点という所定の点数を付与する。そして、親１と親２モデルが同じタイミングで出力する取引サインのそれぞれについて、付与された点数の合計点を算出して、子モデルの取引サインのシーケンスを生成する。仮想モデル生成部１４は、多数決理論を応用し、合計点が＋ならＢｕｙ、合計点が−ならＳｅｌｌ、合計点が０ならＮ／Ａを、子モデルが出力する取引サインとして生成する。
【００５８】
図３では、親１および親２をクロスオーバした子（ｏｆｆｓｐｒｉｎｇ）モデルは、取引サインの合計点として、＋２、−１、０、０、−２、０のシーケンスを持つため、取引サインとして、Ｂｕｙ、Ｓｅｌｌ、Ｎ／Ａ、Ｎ／Ａ、Ｓｅｌｌ，Ｎ／Ａの取引サインのシーケンスを出力することになる。
なお、子モデルである仮想モデルは、図３に示す取引サインのシーケンス自体を保持しなくてもよい。この場合、子モデルである仮想モデルは、クロスオーバされるべき親モデル（親１、親２）のそれぞれの出力結果である取引サインの情報と、親モデルの世代（系譜）を示す情報とを保持すればよく、親１および親２モデルの出力結果である取引サインを組み合わせることによって、子モデルの取引サインを動的に導出（算出）可能であればよい。
【００５９】
図２に戻り、Ｓ８で、仮想モデル生成部１４は、Ｓ７で生成された子モデルである仮想モデルが出力する取引サインに基づいて、取引サインが出力された過去の所定期間に相当する対象期間における取引実績を参照して、子モデル（仮想モデル）の取引指標を逆算する。
上述したように、Ｓ７で生成された取引サインは、過去の所定期間において所定間隔毎に子モデルが出力した取引サインとして扱われる。
本実施形態では、子モデルが出力する取引サインを過去の取引において実際に使用したと仮定した場合に、どのような取引実績が得られたかを確認することによって、取引指標を算出する。
【００６０】
以下、図３を参照して、取引指標の算出方法の例について説明する。
図３に示す例では、子モデルである仮想モデルは、取引サインとして、Ｂｕｙ、Ｓｅｌｌ、Ｎ／Ａ、Ｎ／Ａ、Ｓｅｌｌ、Ｎ／Ａの６つの取引サインを出力している。上述したように、子モデルの取引指標としての取引頻度ＴＦは、買いまたは売りの取引が実際に行われた頻度である。したがって、子モデルの６つの取引サインのうち、３つのＮ／Ａ（何もしない）の取引サインに対応する取引は行われなかったことになるから、子モデルの取引頻度ＴＦは５０％と算出される。
また、リターンＲは、子モデルが出力する取引サインを使用した取引において得られる合計リターンとして算出される。上述したように、子モデルの３つのＮ／Ａの取引サインに対応する取引は行われなかったことになるから、３つのＮ／Ａの取引サインに対応するリターンは０になる。一方、Ｂｕｙ、Ｓｅｌｌ、Ｓｅｌｌの取引サインを使用した取引において得られる合計リターンとして、リターンＲが算出されることになる。
【００６１】
また、勝率ＷＲは、子モデルが出力する取引サインを使用した取引に関する勝率として算出される。上述したように、子モデルの３つのＮ／Ａの取引サインに対応する取引は行われなかったことになるから、Ｎ／Ａの取引サインは、勝率ＷＲに影響を及ぼさない。一方、Ｂｕｙ、Ｓｅｌｌ、Ｓｅｌｌの取引サインを使用した取引において、例えば、Ｂｕｙの取引サインに対応する取引では損失があり、２つのＳｅｌｌの取引サインに対応する取引では利益が得られたとき、勝率ＷＲは６６．７％と算出される。
シャープレシオＳＲ、買いおよび売りの間の勝率の差分ΔＷＲも、子モデルが出力する取引サインを過去の取引において実際に使用したと仮定した場合に得られる取引実績に基づいて、同様に算出され得る。ただし、取引サインから取引指標を算出する方法は、上述した例に限定されず、任意の他の算出方法が用いられてもよい。また、Ｓ２で、初期モデルを評価する際にも、初期モデルが出力する取引サインを過去の取引において実際に使用したと仮定した場合に得られる取引実績に基づいて、初期モデルの取引指標が同様に算出され、ユーティリティ関数に代入されてもよい。
【００６２】
図２に戻り、Ｓ９で、有用値算出部１３は、Ｓ８で逆算された子モデルの取引指標をパラメータとして、ユーティリティ関数に代入することにより、子モデルを評価するための有用値を算出する。
Ｓ１０で、モデル置換部１５は、Ｓ７で生成され、Ｓ９でユーティリティ関数を用いて有用値が算出された子モデル（仮想モデル）を、Ｓ２で準備された母集団に追加する。すなわち、Ｓ１０の段階で、母集団には、１個の子モデルを含むＮ＋１個のモデルが含まれることになる。
Ｓ１１で、モデル置換部１５は、母集団を構成するＮ＋１個のモデルのうち、最低の有用値を有する１個のモデルを削除する。すなわち、Ｓ１１の段階で、母集団に属するモデルは、Ｎ個に戻ることになる。
【００６３】
Ｓ１２で、モデル置換部１５は、世代数のカウンタＣを１インクリメントする。
Ｓ１３で、モデル置換部１５は、世代数のカウンタＣが、閾値である最大世代数ＭａｘＣより小さいか否かを判定する。非限定的一例として、最大世代数ＭａｘＣは、５０００である。
世代数のカウンタＣが、最大世代数ＭａｘＣより小さい場合（Ｓ１３：Ｙ）、Ｓ５に戻って、次の世代について、Ｓ５からＳ１２までの処理を繰り返す。各世代において、高い有用値を有する親モデル同士のクロスオーバにより子孫モデル（仮想モデル）が生成されて、母集団に加えられるが、モデル置換部１５は、母集団の数を、Ｓ３の初期値であるＮ個に維持する。
【００６４】
一方、世代数のカウンタＣが、最大世代数ＭａｘＣに到達した場合（Ｓ１３：Ｎ）、Ｓ１４に進む。
Ｓ１４で、モデル抽出部１６は、母集団に属するＮ個のモデルのうち、最も高い有用値を持つ１個のモデルを、最適化されたモデルとして抽出（選択）する。表示制御部１８は、抽出されたモデルを、表示装置を介してユーザに提示してもよい。そして、学習モデル抽出装置１は、処理を終了する。
Ｓ１４では、母集団には、Ｓ３で母集団に含められた学習モデルとしての実体を有する初期の個別モデルと、親モデル同士のクロスオーバで生成された子孫モデル（仮想モデル）とが混在している。
ここで、Ｓ１４で最終的に最も高い有用値を持つ最適化モデルとして選択されたモデルが、仮想モデルである子孫モデルである場合、当該仮想モデルは、親モデルの出力結果（取引サイン）を組み合わせ演算して当該仮想モデルの出力結果（取引サイン）を出力するための情報を持つが、学習モデルとしての実体を持たないから、当該仮想モデルに直接マクロ経済データや為替データ等の入力データを入力して、取引サインを推論予測させることができない。
【００６５】
そこで、本実施形態では、仮想モデル生成部１４は、子孫モデルをクロスオーバにより生成する基となった先祖モデル（初期の個別モデルとしての実体を有する親モデル）の少なくとも出力結果（取引サイン）の情報を、当該仮想モデル（子孫モデル）に対応付けて、例えば上述したようなモデル記憶部１１に記憶しておく。
同時に、仮想モデル生成部１４は、どの親モデルがどの世代で当該子孫モデル（仮想モデル）を生成するためのクロスオーバに追加されたのかを示す情報として、例えば、木構造で記述される、親モデルの世代（系譜）の情報を、当該子孫モデルに対応付けてモデル記憶部１１に記憶しておく。
【００６６】
図４は、このような木構造を有するモデルの世代（系譜）の情報の一例を示す模式図である。
図４を参照して、第１世代（Ｇｅｎｅｒａｔｉｏｎ−１）には、親１モデルＭ[１]と親２モデルＭ[２]とが属し、親１モデルと親２モデルとをクロスオーバすることで、第２世代（Ｇｅｎｅｒａｔｉｏｎ−２）の子孫モデルＭ[１，２]が生成されたものとする。
さらに、第２世代の子孫モデルＭ[１，２]を親１モデルとし、親２モデルであるモデルＭ[３]とクロスオーバすることで、第３世代（Ｇｅｎｅｒａｔｉｏｎ−３）の子孫モデルＭ[１，２，３]が生成されたものとする。
この場合、第３世代の子孫モデルＭ[１，２，３]は、実体のある３つの親モデルＭ[１]、Ｍ[２]、およびＭ[３]の情報を、これら親モデルが属する世代の情報とともに、保持することとなる。
【００６７】
これにより、最大世代数ＭａｘＣに到達するまでクロスオーバが繰り返されて得られた子孫モデル（仮想モデル）であっても、先祖モデルの取引サインの情報を組み合わせることにより、最適化モデルである子孫モデルの取引サインの情報を取得することができる。
さらに、モデル抽出部１６により抽出された最適化モデルである子孫モデルをクロスオーバで生成する基となった先祖モデルに世代を遡って、先祖モデルの実体を融合することによって、最適化モデルである子孫モデルの実体を構築し、学習済みモデルとして直接利用可能としてよい。
【００６８】
＜変形例＞
上記実施形態の変形例として、学習モデル抽出装置１は、異なる係数の組み合わせを含む複数のユーティリティ関数を備え、複数のユーティリティ関数のそれぞれについて最適化モデルを選択して、選択された複数のモデルをユーザに提示してもよい。
図５は、本変形例に係る学習モデル抽出装置１が実行する複数の学習モデルの抽出処理の処理手順の一例を示すフローチャートである。
【００６９】
図５を参照して、Ｓ５１で、データ入力部１２は、複数のユーティリティ関数に対して設定すべき係数の組み合わせを取得する。データ入力部１２に入力されるユーティリティ関数の係数の組み合わせは、ユーザインタフェースを介してユーザにより入力されてもよく、予め記憶装置に記憶されていてもよい。
Ｓ５２で、有用値算出部１３は、Ｓ５１で取得された異なる係数の組み合わせを含む複数のユーティリティ関数を設定する。
Ｓ５３で、学習モデル抽出装置１は、Ｓ５２で設定された複数のユーティリティ関数のそれぞれについて、図２のＳ２〜Ｓ１４の処理を実行する。なお、複数のユーティリティ関数の間で、Ｓ１で初期化される個別モデル群は共通である。
【００７０】
例えば、係数の組み合わせの数が以下の４種類である場合を仮定する。
タイプ１：[α，β，・・・]＝[１，１，・・・]：Ｕｔｉｌｉｔｙ＝１＊Ｒ＋１＊ＷＲ＋・・・
タイプ２：[α，β，・・・]＝[１，２，・・・]：Ｕｔｉｌｉｔｙ＝１＊Ｒ＋２＊ＷＲ＋・・・
タイプ３：[α，β，・・・]＝[２，１，・・・]：Ｕｔｉｌｉｔｙ＝２＊Ｒ＋１＊ＷＲ＋・・・
タイプ４：[α，β，・・・]＝[２，２，・・・]：Ｕｔｉｌｉｔｙ＝２＊Ｒ＋２＊ＷＲ＋・・・
この場合、当初、図２のＳ２では、タイプ１〜４のユーティリティ関数毎に、共通の初期モデルの評価を開始することになる。
しかしながら、異なる係数の組み合わせを含むタイプ１〜４のユーティリティ関数を用いて異なる有用値を算出し、遺伝的アルゴリズムによりランダム選択が実行されることにより、最終的に図２のＳ１４では、タイプ１〜４のユーティリティ関数毎に異なる複数のモデルが最適化モデルとして選択され得る。
【００７１】
Ｓ５４では、このため、表示制御部１８は、複数の異なる最適化モデルを候補モデルとして、表示装置を介して表示出力してユーザに提示する。また、表示制御部１８は、表示出力された複数の候補モデルの中から、使用するモデルとして１つ以上のモデルを選択する入力を受け付けるＧＵＩをユーザに提供する。なお、表示装置は、学習モデル抽出装置１自体に備えられてもよいし、学習モデル抽出装置１と通信可能な外部装置として備えられてもよい。
これにより、多数のモデルの中から絞り込まれた複数の候補モデルの中から、実際の金融商品取引において使用するモデルをユーザに決定させることができる。したがって、マニュアルで多数のモデルから１つのモデルをユーザに選択させる場合と比較して、ユーザにモデル選択の余地を残しつつ、モデル選択に係るユーザの労力を大幅に軽減することができる。
【００７２】
他の変形例として、１つの仮想モデルを生成するためにクロスオーバ（交叉）できる先祖モデルの数に閾値を設定してもよい。
具体的には、学習モデル抽出装置１は、Ｓ７で生成しようとする仮想モデルが参照する先祖モデルの数が閾値を超える場合、図２のＳ７〜Ｓ１１の処理をスキップしてよい。すなわち、この場合、仮想モデル生成部１４は、仮想モデルを生成せず、また、モデル置換部１５は、母集団を構成するモデル群を更新しない、すなわち母集団に含まれるモデルを置き換えない。
これにより、多数の先祖モデルを持つ仮想モデルについての計算量が膨大化することを予め回避することができ、モデル抽出における処理負荷が軽減する。
【００７３】
また、他の変形例として、Ｓ７で生成される子モデルの数は、１個に限定されず、２個以上であってもよい。例えば、Ｓ６で親モデルとして選択された個別モデルの数が、３個以上であった場合、異なる組み合わせの親モデルから、２個以上の子モデルが一度に生成されてもよい。この場合、Ｓ１１で削除されるモデルの数も、生成された子モデルの数に合わせればよい。
これにより、子モデルを効率よく生成することができ、最大世代数ＭａｘＣが小さい値に設定されていた場合でも、初期の個別モデルと多数の子孫モデルの中から、最適化モデルを抽出できる。
【００７４】
＜学習モデル抽出装置１のハードウエア構成＞
図６は、本実施形態に係る学習モデル抽出装置１のハードウエア構成の一例を示す図である。
本実施形態に係る学習モデル抽出装置１は、単一または複数の、あらゆるコンピュータ、モバイルデバイス、または他のいかなる処理プラットフォーム上に実装することができる。
図６に示すように、学習モデル抽出装置１は、ＣＰＵ２１と、ＲＯＭ２２と、ＲＡＭ２３と、外部メモリ２４と、入力部２５と、表示部２６と、通信Ｉ／Ｆ２７と、システムバス２８とを備える。学習モデル抽出装置１はまた、ＨＤＤを内蔵してよい。
【００７５】
ＣＰＵ２１は、学習モデル抽出装置１における動作を統括的に制御するものであり、データ伝送路であるシステムバス２８を介して、各構成部（２２〜２７）を制御する。ＲＯＭ２２は、ＣＰＵ２１が処理を実行するために必要な制御プログラム等を記憶する不揮発性メモリである。なお、当該プログラムは、外部メモリ２４や着脱可能な記憶媒体（不図示）に記憶されていてもよい。ＲＡＭ２３は、ＣＰＵ２１の主メモリ、ワークエリア等として機能する。すなわち、ＣＰＵ２１は、処理の実行に際してＲＯＭ２２から必要なプログラム等をＲＡＭ２３にロードし、当該プログラム等を実行することで各種の機能動作を実現する。
【００７６】
ＨＤＤや外部メモリ２４は、例えば、ＣＰＵ２１がプログラムを用いた処理を行う際に必要な各種データや各種情報等を記憶している。また、ＨＤＤや外部メモリ２４には、例えば、ＣＰＵ２１がプログラム等を用いた処理を行うことにより得られた各種データや各種情報等が記憶される。入力部２５は、キーボードやマウス等のポインティングデバイスにより構成される。表示装置としての表示部２６は、液晶ディスプレイ（ＬＣＤ）等のモニターにより構成される。通信Ｉ／Ｆ２７は、学習モデル抽出装置１と外部装置との通信を制御するインタフェースである。
【００７７】
図１に示す学習モデル抽出装置１の各要素のうち少なくとも一部の機能は、ＣＰＵ２１がプログラムを実行することで実現することができる。ただし、図２に示す学習モデル抽出装置１の各要素のうち少なくとも一部の機能が専用のハードウエアとして動作するようにしてもよい。この場合、専用のハードウエアは、ＣＰＵ２１の制御に基づいて動作する。
【００７８】
以上説明したように、本実施形態によれば、学習モデル抽出装置は、母集団に属する複数のモデルのそれぞれについてユーティリティ関数を用いて有用値を算出し、複数のモデルのうち、算出された有用値がより高い複数のモデルを親モデルとして選択し、選択された複数の親モデルの出力結果を演算して得られた出力結果を出力する仮想モデルを生成し、ユーティリティ関数を用いて仮想モデルの有用値を算出する。
学習モデル抽出装置はさらに、仮想モデルを母集団に追加するとともに、母集団に属する複数のモデルのうち、有用値が低いモデルを母集団から削除することで、母集団を形成するモデルを置き換え、仮想モデル生成、有用値算出、およびモデル置換の各処理を、所定の終了条件に到達するまで繰り返して、母集団から有用値の最も高いモデルを抽出する。
したがって、本実施形態によれば、コンピュータ資源への負荷を低減しつつ、多数の学習モデルから、より高精度な学習モデルを、高速で自動的に抽出することができ、最適化された学習モデルによる高精度の推論が実現される。
【００７９】
なお、上記において特定の実施形態が説明されているが、当該実施形態は単なる例示であり、本発明の範囲を限定する意図はない。本明細書に記載された装置及び方法は上記した以外の形態において具現化することができる。また、本発明の範囲から離れることなく、上記した実施形態に対して適宜、省略、置換及び変更をなすこともできる。かかる省略、置換及び変更をなした形態は、請求の範囲に記載されたもの及びこれらの均等物の範疇に含まれ、本発明の技術的範囲に属する。
【符号の説明】
【００８０】
１…学習モデル抽出装置、１１…モデル記憶部、１２…データ入力部、１３…有用値算出部、１４…仮想モデル生成部、１５…モデル置換部、１６…モデル抽出部、１７…通信部、２１…ＣＰＵ、２２…ＲＯＭ、２３…ＲＡＭ、２４…外部メモリ、２５…入力部、２６…表示部、２７…通信Ｉ／Ｆ
【要約】
情報処理装置（１）は、母集団に属する複数のモデルのそれぞれについて所定の関数を用いて適応度を算出する第１の適応度算出部（１３）と、複数のモデルのうち、第１の適応度算出部により算出された前記適応度がより高い複数のモデルを親モデルとして選択し、選択された複数の親モデルの出力結果を演算して得られた出力結果を出力する仮想モデルを生成する仮想モデル生成部（１４）と、所定の関数を用いて仮想モデルの適応度を算出する第２の適応度算出部（１３）と、仮想モデルを母集団に追加するとともに、母集団に属する前記複数のモデルのうち、適応度が低いモデルを母集団から削除することで、母集団を形成するモデルを置き換えるモデル置換部（１５）と、仮想モデル生成部、第２の適応度算出部、およびモデル置換部による処理を、所定の終了条件に到達するまで繰り返して、母集団から適応度の高いモデルを抽出するモデル抽出部（１６）とを備える。【図１】
0006801149.tif 000003
【図２】
0006801149.tif 000004
【図３】
0006801149.tif 000005
【図４】
0006801149.tif 000006
【図５】
0006801149.tif 000007
【図６】
0006801149.tif 000008