(57)【要約】【課題】物体等の動きを予測する際に予測用データの種類や加工方法を選択せずとも自動的に過去のデータから予測値を算出することが可能な情報処理装置を提供すること。【解決手段】遺伝的アルゴリズムに基づく機械学習により、所定時刻より前に観測された観測値から、予め用意された処理関数を組み合わせて当該観測値の特徴量を抽出する複数の特徴量抽出式を生成し、当該複数の特徴量抽出式により算出される複数の特徴量に基づいて前記所定時刻の観測値を予測する予測式を生成する予測機構築部と、前記予測機構築部により生成された予測式を用いて、ある時刻ｔより前に観測された観測値から時刻ｔの観測値を予測する予測部と、を備える、情報処理装置が提供される。【選択図】図１
2011118786.tif 000002
【特許請求の範囲】
【請求項１】
遺伝的アルゴリズムに基づく機械学習により、所定時刻より前に観測された観測値から、予め用意された処理関数を組み合わせて当該観測値の特徴量を抽出する複数の特徴量抽出式を生成し、当該複数の特徴量抽出式により算出される複数の特徴量に基づいて前記所定時刻の観測値を予測する予測式を生成する予測機構築部と、
前記予測機構築部により生成された予測式を用いて、ある時刻ｔより前に観測された観測値から時刻ｔの観測値を予測する予測部と、
を備える、情報処理装置。
【請求項２】
前記予測部は、時刻ｔより前に観測された観測値から時刻ｔの観測値を予測した後、前記予測機構築部により生成された複数の特徴量抽出式及び予測式を用いて、予測した前記時刻ｔの観測値及び前記時刻ｔより前に観測された観測値から前記時刻ｔの次の時刻ｔ’に観測される観測値を予測する、請求項１に記載の情報処理装置。
【請求項３】
ある物体の動きに関する観測値の時刻ｔ０における初期値を用意し、当該初期値を最初の入力として前記予測部による前記観測値の予測処理を時刻ｔ０に続く時刻ｔｊ（ｊ＝１，…，Ｎ）について逐次的に実行させ、時刻ｔ１〜ｔＮにおける前記観測値の予測データを生成する予測データ生成部と、
前記予測データ生成部により生成された予測データを用いて前記物体の動きをシミュレートする動きシミュレータと、
をさらに備える、請求項３に記載の情報処理装置。
【請求項４】
前記予測機構築部は、前記複数の特徴量抽出式及び前記予測式を生成した後、新たに前記観測値が観測された場合、既に生成した前記複数の特徴量抽出式及び前記予測式に基づいて、新たに観測された観測値から前記複数の特徴量抽出式及び前記予測式を生成しなおす、請求項２に記載の情報処理装置。
【請求項５】
遺伝的アルゴリズムに基づく機械学習により、所定時刻より前に観測された観測値から、予め用意された処理関数を組み合わせて当該観測値の特徴量を抽出する複数の特徴量抽出式を生成し、当該複数の特徴量抽出式により算出される複数の特徴量に基づいて前記所定時刻の観測値を予測する予測式を生成する予測機構築ステップと、
前記予測機構築ステップにて生成された予測式を用いて、ある時刻ｔより前に観測された観測値から時刻ｔの観測値を予測する予測ステップと、
を含む、観測値予測方法。
【請求項６】
遺伝的アルゴリズムに基づく機械学習により、所定時刻より前に観測された観測値から、予め用意された処理関数を組み合わせて当該観測値の特徴量を抽出する複数の特徴量抽出式を生成し、当該複数の特徴量抽出式により算出される複数の特徴量に基づいて前記所定時刻の観測値を予測する予測式を生成する予測機構築機能と、
前記予測機構機能により生成された予測式を用いて、ある時刻ｔより前に観測された観測値から時刻ｔの観測値を予測する予測機能と、
をコンピュータに実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、観測値予測方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、定量的に特徴を決定づけることが難しい任意のデータ群から、そのデータ群の特徴量を機械的に抽出する手法に注目が集まっている。例えば、任意の音楽データを入力とし、その音楽データが属する音楽のジャンルを機械的に抽出するアルゴリズムを自動構築する手法が知られている。ジャズ、クラシック、ポップス等、音楽のジャンルは、楽器の種類や演奏形態に応じて定量的に決まるものではない。そのため、これまでは任意の音楽データが与えられたときに、その音楽データから機械的に音楽のジャンルを抽出することは一般的に難しいと考えられていた。
【０００３】
しかし、実際には、音楽データに含まれる音程の組み合わせ、音程の組み合わせ方、楽器の種類の組み合わせ、メロディラインやベースラインの構造等、様々な情報の組み合わせの中に、音楽のジャンルを分ける特徴が潜在的に含まれている。そのため、この特徴を抽出するアルゴリズム（以下、特徴量抽出機）を機械学習により自動構築できないか、という観点から特徴量抽出機の研究が行われた。その研究成果の一つとして、例えば、下記の特許文献１に記載された遺伝アルゴリズムに基づく特徴量抽出機の自動構築方法を挙げることができる。遺伝アルゴリズムとは、生物の進化過程に倣い、機械学習の過程で、選択、交差、突然変異の要素を考慮したものを言う。
【０００４】
同文献に記載の特徴量抽出機自動構築アルゴリズムを利用することにより、任意の音楽データから、その音楽データが属する音楽のジャンルを抽出する特徴量抽出機を自動構築することができるようになる。また、同文献に記載の特徴量抽出機自動構築アルゴリズムは、非常に汎用性が高く、音楽データに限らず、任意のデータ群から、そのデータ群の特徴量を抽出する特徴量抽出機を自動構築することができる。そのため、同文献  
【０００５】
に記載の特徴量抽出機自動構築アルゴリズムは、音楽データや映像データのような人工的なデータの特徴量解析、自然界に存在する様々な観測量の特徴量解析への応用が期待されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−４８２６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
これまで同文献に記載の特徴量抽出機自動構築アルゴリズムは、ある任意のデータの特徴量を解析する用途を目指して開発が進められてきた。しかし、このような既存データ解析に対する要求がある一方で、既存データから、その既存データと同じ特徴を持つ新規なデータを生成したいという要求もある。このような要求の最たるものは時系列データの未来予測である。つまり、過去に蓄積した時系列データから、その時系列データと同じ特徴を持つ未来の時系列データを生成する予測機を自動構築する手法の実現が求められている。この手法に関し、本件発明者は、上記の特徴量抽出機自動構築アルゴリズムを利用して、過去の時系列データから未来の時系列データを予測する予測機を自動構築する手法を考案した。本発明は、このような予測機の自動構築手法に関する。
【０００８】
つまり、本発明は、上記要求に鑑みてなされたものであり、本発明の目的とするところは、遺伝アルゴリズムに基づく特徴量抽出機自動構築アルゴリズムを用いて過去の時系列データから未来の時系列データを予測する予測機を自動生成することが可能な、新規かつ改良された情報処理装置、観測値予測方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明のある観点によれば、遺伝的アルゴリズムに基づく機械学習により、所定時刻より前に観測された観測値から、予め用意された処理関数を組み合わせて当該観測値の特徴量を抽出する複数の特徴量抽出式を生成し、当該複数の特徴量抽出式により算出される複数の特徴量に基づいて前記所定時刻の観測値を予測する予測式を生成する予測機構築部と、前記予測機構築部により生成された予測式を用いて、ある時刻ｔより前に観測された観測値から時刻ｔの観測値を予測する予測部と、を備える、情報処理装置が提供される。
【００１０】
また、前記予測部は、時刻ｔより前に観測された観測値から時刻ｔの観測値を予測した後、前記予測機構築部により生成された複数の特徴量抽出式及び予測式を用いて、予測した前記時刻ｔの観測値及び前記時刻ｔより前に観測された観測値から前記時刻ｔの次の時刻ｔ’に観測される観測値を予測するように構成されていてもよい。
【００１１】
また、上記の情報処理装置は、ある物体の動きに関する観測値の時刻ｔ０における初期値を用意し、当該初期値を最初の入力として前記予測部による前記観測値の予測処理を時刻ｔ０に続く時刻ｔｊ（ｊ＝１，…，Ｎ）について逐次的に実行させ、時刻ｔ１〜ｔＮにおける前記観測値の予測データを生成する予測データ生成部と、前記予測データ生成部により生成された予測データを用いて前記物体の動きをシミュレートする動きシミュレータと、をさらに備えていてもよい。
【００１２】
また、前記予測機構築部は、前記複数の特徴量抽出式及び前記予測式を生成した後、新たに前記観測値が観測された場合、既に生成した前記複数の特徴量抽出式及び前記予測式に基づいて、新たに観測された観測値から前記複数の特徴量抽出式及び前記予測式を生成しなおすように構成されていてもよい。
【００１３】
また、上記課題を解決するために、本発明の別の観点によれば、  遺伝的アルゴリズムに基づく機械学習により、所定時刻より前に観測された観測値から、予め用意された処理関数を組み合わせて当該観測値の特徴量を抽出する複数の特徴量抽出式を生成し、当該複数の特徴量抽出式により算出される複数の特徴量に基づいて前記所定時刻の観測値を予測する予測式を生成する予測機構築ステップと、前記予測機構築ステップにて生成された予測式を用いて、ある時刻ｔより前に観測された観測値から時刻ｔの観測値を予測する予測ステップと、を含む、観測値予測方法が提供される。
【００１４】
また、上記課題を解決するために、本発明の別の観点によれば、遺伝的アルゴリズムに基づく機械学習により、所定時刻より前に観測された観測値から、予め用意された処理関数を組み合わせて当該観測値の特徴量を抽出する複数の特徴量抽出式を生成し、当該複数の特徴量抽出式により算出される複数の特徴量に基づいて前記所定時刻の観測値を予測する予測式を生成する予測機構築機能と、前記予測機構機能により生成された予測式を用いて、ある時刻ｔより前に観測された観測値から時刻ｔの観測値を予測する予測機能と、をコンピュータに実現させるためのプログラムが提供される。
【発明の効果】
【００１５】
以上説明したように本発明によれば、遺伝アルゴリズムに基づく特徴量抽出機自動構築アルゴリズムを用いて過去の時系列データから未来の時系列データを予測する予測機を自動生成することが可能になる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態に係る情報処理装置の機能構成を示す説明図である。
【図２】同実施形態に係る観測値入力部による観測値の構成を示す説明図である。
【図３】同実施形態に係る予測機構築用データ準備部による予測機構築用データセットの生成方法を示す説明図である。
【図４】同実施形態に係る予測機構築部による予測機構築方法、及び予測部による観測値の予測方法を示す説明図である。
【図５】同実施形態に係る予測部による観測値の予測方法を示す説明図である。
【図６】同実施形態に係る予測部による予測値の出力方法を示す説明図である。
【図７】同実施形態に係る観測値予測方法の全体像を示す説明図である。
【図８】同実施形態に係る予測機構築用データセット準備方法を示す説明図である。
【図９】同実施形態に係る予測機の自動構築方法を示す説明図である。
【図１０】同実施形態に係る予測機の自動構築方法を示す説明図である。
【図１１】同実施形態に係る予測機の自動構築方法を示す説明図である。
【図１２】同実施形態に係る予測機の自動構築方法を示す説明図である。
【図１３】同実施形態に係る予測機の自動構築方法を示す説明図である。
【図１４】同実施形態に係る予測機の自動構築方法を示す説明図である。
【図１５】同実施形態に係る予測機の自動構築方法を示す説明図である。
【図１６】同実施形態に係る予測機の自動構築方法を示す説明図である。
【図１７】同実施形態に係る予測機の自動構築方法を示す説明図である。
【図１８】同実施形態に係る予測機の自動構築方法を示す説明図である。
【図１９】同実施形態に係る予測機の自動構築方法を示す説明図である。
【図２０】同実施形態に係る予測機の自動構築方法を示す説明図である。
【図２１】同実施形態に係る予測機の自動構築方法を示す説明図である。
【図２２】同実施形態に係る予測機の自動構築方法を示す説明図である。
【図２３】同実施形態に係る予測機を用いた観測値の予測方法を示す説明図である。
【図２４】同実施形態に係る観測値の予測方法を単振り子の動き予測に適用する場合の具体的な適用方法を示す説明図である。
【図２５】同実施形態に係る観測値の予測方法を単振り子の動き予測に適用した場合に得られた結果を示す説明図である。
【図２６】同実施形態に係る観測値の予測方法を２次元セルオートマトンのパターン変化予測に適用する場合の具体的な適用方法を示す説明図である。
【図２７】同実施形態に係る観測値の予測方法を２次元セルオートマトンのパターン変化予測に適用した場合に得られた結果を示す説明図である。
【図２８】同実施形態に係る観測値の予測方法を鳥の群れアルゴリズムに基づく鳥の動き予測に適用する場合の具体的な適用方法を示す説明図である。
【図２９】同実施形態に係る観測値の予測方法を鳥の群れアルゴリズムに基づく鳥の動き予測に適用した場合に得られた結果を示す説明図である。
【図３０】同実施形態に係る情報処理装置の機能を実現することが可能なハードウェア構成の一例を示す説明図である。
【発明を実施するための形態】
【００１７】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１８】
［説明の流れについて］
ここで、以下に記載する本発明の実施形態に関する説明の流れについて簡単に述べる。まず、図１を参照しながら、本実施形態に係る情報処理装置１００の機能構成について説明する。次いで、図２を参照しながら、本実施形態に係る観測値の入力方法について説明する。次いで、図３を参照しながら、本実施形態に係る予測機構築用データセットの準備方法について説明する。次いで、図４を参照しながら、本実施形態に係る予測機の自動構築方法、及び予測機による観測値の予測方法について説明する。次いで、図５を参照しながら、本実施形態に係る観測値の予測方法について説明する。次いで、図６を参照しながら、本実施形態に係る予測値の出力方法について説明する。
【００１９】
次いで、図７を参照しながら、本実施形態に係る観測値の予測方法について、その全体的な処理の流れを説明する。次いで、図８を参照しながら、本実施形態に係る観測値の予測方法の中で、予測機構築用データセットの準備方法に関する処理の流れについて説明する。次いで、図９〜図２２を参照しながら、本実施形態に係る観測値の予測方法の中で、予測機構築方法に関する処理の流れについて説明する。次いで、図２３を参照しながら、本実施形態に係る観測値の予測方法の中で、予測機を用いた観測値の予測方法に関する処理の流れについて説明する。
【００２０】
次いで、図２４、図２５を参照しながら、本実施形態に係る観測値の予測方法を用いて、単振り子の動き予測を実施する方法、及び実際に実験して得られた結果について説明する。次いで、図２６、図２７を参照しながら、本実施形態に係る観測値の予測方法を用いて、２次元セルオートマトンのパターン変化予測を実施する方法、及び実際に実験して得られた結果について説明する。次いで、図２８、図２９を参照しながら、本実施形態に係る観測値の予測方法を用いて、鳥の群れアルゴリズムに基づく鳥の動きを予測する方法、及び実際に実験して得られた結果について説明する。
【００２１】
次いで、図３０を参照しながら、本実施形態に係る情報処理装置１００の機能を実現することが可能なハードウェア構成例について説明する。最後に、同実施形態の技術的思想について纏め、当該技術的思想から得られる作用効果について簡単に説明する。
【００２２】
（説明項目）
１：実施形態
１−１：情報処理装置１００の機能構成
１−２：観測値予測方法の概要
１−３：アルゴリズムの詳細
１−３−１：全体的な流れ
１−３−２：予測機構築用データセットの準備
１−３−３：予測機の自動構築
１−３−４：予測機による観測値の予測
１−４：実験１（単振り子への適用）
１−５：実験２（２次元セルオートマトンへの適用）
１−６：実験３（鳥の群れアルゴリズムへの適用）
２：ハードウェア構成例
３：まとめ
【００２３】
＜１：実施形態＞
まず、本発明の一実施形態について説明する。本実施形態は、遺伝アルゴリズムに基づく特徴量抽出機の自動構築アルゴリズムを用いて、過去の時系列データから未来の時系列データを生成する予測機を自動構築する方法（以下、予測機自動構築方法）に関する。
【００２４】
以下、本実施形態に係る予測機自動構築方法を実現することが可能な情報処理装置１００の機能構成、予測機自動構築方法の概要、予測機自動構築方法のアルゴリズム、及び予測機自動構築方法の適用例について順次説明する。また、この中で、本実施形態に係る予測機自動構築方法を用いて生成された予測機による観測値の予測方法について説明する。
【００２５】
［１−１：情報処理装置１００の機能構成］
まず、図１を参照しながら、本実施形態に係る予測機自動構築方法及び予測方法を実現することが可能な情報処理装置１００の機能構成について説明する。図１は、本実施形態に係る情報処理装置１００の機能構成例を示す説明図である。
【００２６】
図１に示すように、情報処理装置１００は、観測値入力部１０２と、予測機構築用データ準備部１０４と、予測機構築部１０６と、予測部１０８とにより構成される。また、予測機構築部１０６は、特徴量抽出式リスト生成部１３２と、特徴量計算部１３４と、機械学習部１３６とにより構成される。以下、予測機自動構築方法に係る処理の流れ、及び予測方法に係る処理の流れに沿って、順次各構成要素の機能について説明する。
【００２７】
まず、観測値入力部１０２は、過去の時系列データである観測値を取得する。なお、観測値入力部１０２は、時系列データの観測デバイスであってもよいし、外部の観測デバイスから観測値を取得する取得デバイスであってもよい。また、観測値入力部１０２は、有線又は無線ネットワークにより外部から観測値を取得する通信デバイスであってもよいし、ユーザが観測値を入力するための入力デバイスであってもよい。観測値入力部１０２は、観測値を取得すると、取得した観測値を予測機構築用データ準備部１０４に入力する。
【００２８】
観測値入力部１０２により入力される観測値は、例えば、図２に示すような構造を有する時系列データである。図２に示すように、時系列データは、ある時刻ｔで観測された観測値１〜Ｋ（Ｋ≧１）を時刻ｔ＝１〜ｊ（ｊ≧１）まで集めた観測値群である。なお、観測値の種類は任意である。ここでは「観測」という表現を用いているが、必ずしも観測デバイスや測定デバイスを用いて定量化されたものでなくてもよい。例えば、観測値は、サンプルとして人工的に生成されたデータであってもよい。但し、以下では、ある物理量を観測デバイスにより観測して得られた観測値を用いるものとして説明を進める。
【００２９】
このような観測値（時系列データ）が入力されると、予測機構築用データ準備部１０４は、観測値から学習用のデータセット（以下、予測機構築用データセット）を生成する。この予測機構築用データセットは、予測に用いる予測元データと、その予測元データから生成される予測先データとの組み合わせにより構成される。例えば、予測機構築用データ準備部１０４は、図３に示すように、観測値から、所定時間長ｗを持つ時刻ｔ〜ｔ＋ｗ−１までの予測元データｔ（ｔ＝１〜ｄ；ｄ＝ｊ−ｗ）を抽出する。さらに、予測機構築用データ準備部１０４は、各予測元データｔの次の時刻ｔ＋ｗに対応する観測値を抽出し、各予測元データｔから予測されるべき予測先データｔを生成する。
【００３０】
このようにして予測機構築用データ準備部１０４により生成された予測機構築用データセットは、予測機構築部１０６に入力される。図４に示すように、予測機構築用データセットが入力されると（Ａ）、予測機構築部１０６は、入力された予測機構築用データセットを用いて遺伝アルゴリズムに基づく機械学習により予測機を自動構築する（Ｂ）。なお、予測機構築部１０６による予測機の自動構築アルゴリズムについては、後段において詳述する。
【００３１】
まず、特徴量抽出式リスト生成部１３２は、予め用意された処理関数をランダム組み合わせ、取捨選択しながら１つのスカラ量（以下、特徴量）を出力する特徴量抽出式を生成する。なお、特徴量抽出式リスト生成部１３２により生成される特徴量抽出式の組を特徴量抽出式リストと呼ぶことにする。特徴量抽出式リスト生成部１３２により生成された特徴量抽出式リストは、特徴量計算部１３４に入力される。
【００３２】
特徴量計算部１３４は、特徴量抽出式リストに含まれる各特徴量抽出式に対し、予測機構築用データセットの予測元データを入力して特徴量を算出する。そして、特徴量計算部１３４により算出された特徴量は、機械学習部１３６に入力される。機械学習部１３６は、予測機構築用データセットの予測先データと、特徴量計算部１３４より算出された特徴量とを用いて機械学習を行い、特徴量抽出式の組み合わせで表現される予測式を生成する。予測式は、例えば、特徴量抽出式の線形結合により表現される。この場合、結合係数は、同じ予測元データに対応する特徴量群及び予測先データから線形回帰等の統計的手法を利用して算出される。
【００３３】
また、機械学習部１３６は、ＡＩＣ（Ａｋａｉｋｅ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｃｒｉｔｅｒｉｏｎ）やＢＩＣ（Ｂａｙｅｓｉａｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｃｒｉｔｅｒｉｏｎ）等を用いて予測式の評価を行い、評価が高くなるように予測式を構成する特徴量抽出式に対して選択、交差、突然変異の各処理を実行する。これらの処理により予測式の構成要素とする特徴量抽出式の新たな組み合わせ（次世代の遺伝子）が生成される。次いで、機械学習部１３６は、新たな特徴量抽出式の組み合わせを用いて予測式を評価し、評価がさらに高くなるよう、選択、交差、突然変異の各処理により特徴量抽出式の組み合わせを更新（世代交代）する。
【００３４】
機械学習部１３６は、評価が変わらなくなるまで世代交代を繰り返した後、最も評価の高い予測式について、その予測式に含まれる各特徴量抽出式の結合係数から、その予測式に対する各特徴量抽出式の寄与率を算出する。また、機械学習部１３６は、各特徴量抽出式の寄与率を合算して、その予測式の合計寄与率を算出する。この合計寄与率は、予測式の評価値として利用される。機械学習部１３６の機能により評価値を算出すると、予測機構築部１０６は、その評価値が所定の終了条件を満たすか否かを判定する。その評価値が終了条件を満たす場合、予測機構築部１０６は、その予測式を予測機として予測部１０８に入力する。
【００３５】
一方、その評価値が所定の終了条件を満たさない場合、予測機構築部１０６は、特徴量抽出式リスト生成部１３２、特徴量計算部１３４、機械学習部１３６の機能を再び利用し、機械学習部１３６により算出された各特徴量抽出式の寄与率を用いて、遺伝アルゴリズムに基づく機械学習により新たな予測式を生成する。このとき、予測機構築部１０６は、予測式に含まれる特徴量抽出式を次世代（第２世代）の特徴量抽出式として、その特徴量抽出式の組を特徴量抽出式リスト生成部１３２に入力する。
【００３６】
特徴量抽出式リスト生成部１３２は、第２世代の特徴量抽出式から寄与率の高い特徴量抽出式を選択したり、特徴量抽出式間で構成要素（処理関数）を交換したり、特徴量抽出式の構成要素をランダムに変更したり、ランダムに処理関数を組み合わせて新たに特徴量抽出式を生成したりする。そして、特徴量抽出式リスト生成部１３２は、第２世代の特徴量抽出式から得られる特徴量抽出式、及び新たに生成した特徴量抽出式により第２世代の特徴量抽出式リストを生成する。そして、第２世代の特徴量抽出式リストは、特徴量計算部１３４に入力される。
【００３７】
第２世代の特徴量抽出式リストに対する特徴量計算部１３４の処理、及びその処理結果に対する機械学習部１３６の処理は、特徴量抽出式リスト生成部１３２により最初にランダム生成された特徴量抽出式リストに対するものと実質的に同じとなる。つまり、既に説明した特徴量計算部１３４、機械学習部１３６の機能により、第２世代の特徴量抽出式リストに対して各種の処理が実行され、機械学習部１３６により予測式、及び第３世代の特徴量抽出式が生成される。また、機械学習部１３６は、その予測式に対する第３世代の各特徴量抽出式の寄与率、及び予測式の評価値を算出する。
【００３８】
その後、予測機構築部１０６は、機械学習部１３６により算出された予測式の評価値に基づいて終了条件を満たしているか否かを判定する。その評価値が終了条件を満たす場合、予測機構築部１０６は、その予測式を予測機として予測部１０８に入力する。
【００３９】
一方、その評価値が所定の終了条件を満たさない場合、予測機構築部１０６は、特徴量抽出式リスト生成部１３２、特徴量計算部１３４、機械学習部１３６の機能を再び利用し、機械学習部１３６により算出された各特徴量抽出式の寄与率を用いて、遺伝アルゴリズムに基づく機械学習により新たな予測式を生成する。このとき、予測機構築部１０６は、予測式に含まれる特徴量抽出式を次世代（第３世代）の特徴量抽出式として、その特徴量抽出式の組を特徴量抽出式リスト生成部１３２に入力する。なお、第３世代の特徴量抽出式に対する予測機構築部１０６の処理は、第２世代の特徴量抽出式に対する処理と実質的に同じである。
【００４０】
また、予測機構築部１０６は、機械学習部１３６により逐次生成される予測式の評価値が終了条件を満たすまで、第３世代、第４世代、…、第Ｎ世代と世代交代を繰り返しながら既に説明した処理を繰り返し実行する。そして、予測機構築部１０６は、機械学習部１３６により算出された予測式の評価値が終了条件を満たした時点で世代交代を終了し、予測式を予測機として出力する。このように、予測機構築部１０６は、遺伝アルゴリズムを用いて精度の高い予測機を構築する。なお、予測機構築部１０６の動作に関するアルゴリズムについては後述において、より詳細に説明する。
【００４１】
さて、予測部１０８には、実際に予測したい予測先データの元となる予測元データが入力される。例えば、予測部１０８には、図４に示すように、時刻ｔ−ｗ〜ｔ−１までの観測値が予測元データとして入力される（Ｃ）。そこで、予測部１０８は、予測機構築部１０６から入力された予測機に予測元データを入力し、次の時刻に観測されるであろう観測値（予測先データ）を予測する。例えば、予測元データが時刻ｔ−ｗ〜ｔ−１までの観測値である場合、この予測元データの入力に対し、予測機からは時刻ｔに観測されるであろう観測値が予測先データとして出力される（Ｄ）。
【００４２】
さらに、予測部１０８は、時刻ｔ−ｗ＋１〜ｔ−１までの観測値と、予測機から出力された時刻ｔの観測値に対応する予測値とを予測元データとして予測機に入力し、時刻ｔ＋１に対応する予測値を算出する。そして、図５に示すように、予測部１０８は、予測機に入力する予測元データの時刻範囲を逐次変更しながら、予測機を繰り返し用いて、ある未来の時刻までの間に観測されるであろう観測値の時系列データを予測する。
【００４３】
図５の例では、まず、時刻ｊまでの所定時間内に観測された観測値１〜Ｋが予測元データの初期値（予測元データ１）として用いられ、予測機により時刻ｊ＋１の観測値１〜Ｋが予測先データ１として算出されている。次いで、時刻ｊ＋１までの所定時間内に観測された観測値１〜Ｋが予測元データ２として用いられ、予測機により時刻ｊ＋２の観測値１〜Ｋが予測先データ２として算出されている。その後も同様の処理が繰り返し実行され、結果として予測先データ１〜ｆが得られる。この場合、予測部１０８は、図６に示すように、予測先データ１〜ｆを予測値として出力する。なお、予測先データ１〜ｆは、例えば、外部出力されたり、保存されたり、画面上に表示されたりする。
【００４４】
以上、本実施形態に係る情報処理装置１００の機能構成について説明した。なお、上記説明において、予測部１０８は、同じ予測機を繰り返し利用して予測値を算出する構成とされていた。しかし、本実施形態に係る情報処理装置１００の構成はこれに限定されず、例えば、予測値の算出後に新たな観測値が入力された場合、予測機構築部１０６の機能により予測機を更新し、新たな観測値以降の予測値を更新後の予測機を用いて算出するように構成されていてもよい。また、予測値を利用して予測機の更新を行うように構成されていてもよい。このような変形についても、本実施形態の技術的範囲に含まれる。
【００４５】
［１−２：観測値予測方法の概要］
次に、後述する予測機自動構築及び予測に係るアルゴリズムの詳細な説明に先立ち、同アルゴリズムの全体像を把握するための一助とすべく、同アルゴリズムの中で行われる処理の全体的な流れについて概観する。
【００４６】
本実施形態に係る観測値予測方法は、予測機の自動構築方法と、予測機を用いた予測方法とに大きく分けられる。予測機の自動構築方法は、遺伝アルゴリズムに基づく機械学習により現在までの観測値から未来に観測されるであろう観測値を算出する予測機を生成する方法である。一方、予測機を用いた予測方法は、予測機を繰り返し利用して未来の観測値を時系列データの形で算出する方法である。
【００４７】
予測機の自動構築方法に係る処理は、図２に示すような観測値の入力から始まる（Ｓｔｅｐ．１）。観測値が入力されると、図３に示すように、入力された観測値から予測機構築用のデータセットが生成される（Ｓｔｅｐ．２）。予測機構築用データセットは、観測値から抽出された所定時間長の予測元データと、予測元データの次の時刻に対応する予測先データとで構成される。この所定時間長は、ユーザが任意に決められるようにしてもよいし、アルゴリズムの実行効率や実行環境に応じて適切に自動選択されるようにしてもよい。予測機構築用データセットが生成されると、図４の（Ａ）（Ｂ）に示すように、生成された予測機構築用データセットを用いて、遺伝的探索方法（遺伝アルゴリズムに基づく機械学習）により予測機が自動構築される（Ｓｔｅｐ．３）。
【００４８】
Ｓｔｅｐ．１〜Ｓｔｅｐ．３が予測機の自動構築方法に係る主な処理内容である。Ｓｔｅｐ．３で生成された予測機は、Ｓｔｅｐ．４、Ｓｔｅｐ．５の予測機を用いた予測方法に係る処理の中で利用される。
【００４９】
予測機を用いた予測方法に係る処理は、図４の（Ｃ）に示すように、予測元データとなる観測値を予測機へ入力することから始まる。観測値が入力されると、図４の（Ｂ）に示すように、予測機は、入力された観測値の次の時刻に対応する観測値の予測値を出力する。そして、図５に示すように、予測機の出力と入力された観測値とを予測元データとして予測機に入力することにより、次の予測値が算出される（Ｓｔｅｐ．４）。さらに、予測機を繰り返し用いることにより、図６に示すような未来の時系列データが算出される。この算出された未来の時系列データは、予測値として出力される（Ｓｔｅｐ．５）。
【００５０】
以上、本実施形態に係る観測値予測方法について概説した。
【００５１】
［１−３：アルゴリズムの詳細］
次に、本実施形態に係る観測値予測方法を実現するためのアルゴリズムについて詳細に説明する。
【００５２】
（１−３−１：全体的な流れ）
まず、図７を参照しながら、本実施形態の観測値予測方法に係る処理の全体的な流れについて説明する。図７は、本実施形態の観測値予測方法に係る処理の全体的な流れを示す説明図である。なお、ここで説明する処理は、上記の情報処理装置１００により実行される。
【００５３】
図７に示すように、情報処理装置１００は、まず、観測値入力部１０２の機能を利用し、予測機構築用データ準備部１０４に観測値を入力する（Ｓｔｅｐ．１）。次いで、情報処理装置１００は、予測機構築用データ準備部１０４の機能を利用し、入力された観測値を用いて予測機構築用データセットを準備する（Ｓｔｅｐ．２）。
【００５４】
次いで、情報処理装置１００は、予測機構築部１０６の機能を利用し、予測機構築用データセットを用いて遺伝アルゴリズムに基づく機械学習により予測機を自動構築する（Ｓｔｅｐ．３）。次いで、情報処理装置１００は、予測部１０８の機能を利用し、予測機を繰り返し利用して未来に観測されるであろう観測値の予測値を算出する（Ｓｔｅｐ．４）。次いで、情報処理装置１００は、予測値１０８の機能を利用して算出した予測値を出力する（Ｓｔｅｐ．５）。
【００５５】
以上、本実施形態の観測値予測方法に係る処理の全体的な流れについて説明した。
【００５６】
（１−３−２：予測機構築用データセットの準備）
次に、図８を参照しながら、図７のＳｔｅｐ．２に対応する予測機構築用データセットの準備処理の流れについて説明する。図８は、図７のＳｔｅｐ．２に対応する予測機構築用データセットの準備処理の流れを示す説明図である。
【００５７】
ここで述べる予測機構築用データセットの準備処理は、予測機構築用データ準備部１０４の機能により実行される。また、Ｓｔｅｐ．１にて、時刻ｔ＝１〜ｊ−ｗで観測された観測値１〜Ｋが予測機構築用データ準備部１０４に入力されているものとする。また、予測元データの時間長は所定値ｗに設定されているものとする。
【００５８】
図８に示すように、予測機構築用データ準備部１０４は、時刻ｔ＝１〜ｊ−ｗに対応する観測値のそれぞれに対して逐次的に次の処理を実行する（Ｓ２０２、Ｓ２０８；観測値の時刻ループ）。
【００５９】
まず、予測機構築用データ準備部１０４は、パラメータｑを１に設定する（Ｓ２０２）。次いで、予測機構築用データ準備部１０４は、時刻ｑ〜ｑ＋ｗ−１の観測値１〜Ｋを予測元データＤｑとして切り出す（Ｓ２０４）。次いで、予測機構築用データ準備部１０４は、時刻ｑ＋ｗの観測値１〜Ｋを予測先データＤｑとして切り出す（Ｓ２０６）。
【００６０】
次いで、予測機構築用データ準備部１０４は、パラメータｑを１づつ増加させながら、再びステップＳ２０４、Ｓ２０６の処理を繰り返し実行する。予測機構築用データ準備部１０４は、パラメータｑ＝１〜ｊ−ｗについてステップＳ２０４、Ｓ２０６の処理を実行し終わると、予測機構築用データセットを予測機構築部１０６に入力する。そして、予測機構築用データ準備部１０４は、予測機構築用データセットの準備処理を終了する。
【００６１】
以上、予測機構築用データセットの準備処理の流れについて説明した。
【００６２】
（１−３−３：予測機の自動構築）
次に、図９〜図２２を参照しながら、図７のＳｔｅｐ．３に対応する予測機の自動構築処理の流れについて説明する。図９〜図２２は、図７のＳｔｅｐ．３に対応する予測機の自動構築処理の流れを示す説明図である。ここで述べる予測機の自動構築処理は、予測機構築部１０６の機能により実行される。
【００６３】
（全体）
図９に示すように、予測機構築部１０６は、まず、特徴量抽出式リスト生成部１３２の機能を利用し、ランダムに処理関数を組み合わせて特徴量抽出式リストを生成する（Ｓ３０２）。次いで、予測機構築部１０６は、特徴量計算部１３４の機能を利用し、予測機構築用データセット及び特徴量抽出式リストに含まれる各特徴量抽出式を用いて特徴量を計算する（Ｓ３０４）。次いで、予測機構築部１０６は、機械学習部１３６の機能を利用し、特徴量及び予測機構築用データセットの予測先データを用いて遺伝アルゴリズムに基づく機械学習により、特徴量抽出式を組み合わせて生成された予測式を生成する（Ｓ３０６）。
【００６４】
次いで、予測機構築部１０６は、機械学習部１３６の機能を利用して予測式に含まれる特徴量抽出式（第２世代の特徴量抽出式）の予測式に対する寄与率、及びその寄与率に基づく予測式の評価値を計算し、その評価値に基づいて終了条件を判定する（Ｓ３０８）。ステップＳ３０８にて終了条件に達した場合、予測機構築部１０６は、予測式を予測機として出力する（Ｓ３１０）。一方、評価値が終了条件に達していない場合、予測機構築部１０６は、特徴量抽出式リスト生成部１３２の機能により、遺伝アルゴリズムに基づいて第２世代の特徴量抽出式から第２世代の特徴量抽出式リストを生成する（Ｓ３０２）。
【００６５】
次いで、予測機構築部１０６は、第２世代の特徴量抽出式リストに基づくステップＳ３０４〜Ｓ３１０の処理を実行して予測式を生成し、その評価値を算出する（Ｓ３０４〜Ｓ３１０）。評価値が終了条件を満たした場合、予測機構築部１０６は、予測式を予測機として出力する。一方、評価値が終了条件を満たさない場合、予測機構築部１０６は、第２世代の特徴量抽出式に対して実行したのと同様に、ステップＳ３０２〜Ｓ３０６の処理を再び実行する。このように、予測式の評価値が終了条件を満たすまで世代交代を繰り返す。そして、予測式の評価値が終了条件を満たした時点で予測式を予測機として出力する。
【００６６】
以下、ステップＳ３０２、Ｓ３０４、Ｓ３０６の処理について、より詳細に説明する。なお、上記の終了条件は、例えば、ユーザにより終了操作が行われたこと、又は、最終世代の予測機が十分な精度を持つこと（評価値が所定値より十分に高いこと）である。
【００６７】
（Ｓ３０２：特徴量抽出式リストの生成）
まず、ステップＳ３０２の処理について、図１０〜図１８を参照しながら、より詳細に説明する。ここで実行される処理は、主に、特徴量抽出式リスト生成部１３２の機能により実行される。
【００６８】
図１０に示すように、特徴量抽出式リスト生成部１３２は、ステップＳ３０２にて生成すべき特徴量抽出式リストが、第２世代以降であるか否かを判断する（Ｓ３００２）。第２世代以降の特徴量抽出式リストを生成する場合、特徴量抽出式リスト生成部１３２は、ステップＳ３００６に処理を進める。一方、第１世代の特徴量抽出式リストを生成する場合、特徴量抽出式リスト生成部１３２は、ステップＳ３００４に処理を進める。
【００６９】
ステップＳ３００４に処理を進めた場合、特徴量抽出式リスト生成部１３２は、予め用意された処理関数（後述する処理対象の軸及びオペレータ）をランダムに組み合わせて特徴量抽出式リストを生成する（Ｓ３００４）。一方、ステップＳ３００６に処理を進めた場合、特徴量抽出式リスト生成部１３２は、遺伝アルゴリズムに次世代の特徴量抽出式を入力して次世代の特徴量抽出式リストを生成する（Ｓ３００６）。ステップＳ３００４又はＳ３００６にて生成された特徴量抽出式リストは、特徴量計算部１３４に入力される。その後、予測機構築部１０６は、ステップＳ３０６に処理を進める。
【００７０】
（Ｓ３００４（Ｃｆ．Ｓ３０２）：特徴量抽出式リストのランダム生成）
ここで、上記のステップＳ３００４に係る処理について、図１１を参照しながら、より詳細に説明する。なお、特徴量抽出式リストに含める特徴量抽出式の数は、予めｍに設定されているものとする。
【００７１】
まず、ステップＳ３００４において、特徴量抽出式リスト生成部１３２は、ランダムに処理関数を組み合わせた特徴量抽出式の生成処理をｍ回繰り返す（Ｓ３０１２、Ｓ３０１６）。つまり、特徴量抽出式リスト生成部１３２は、パラメータＭを１からｍまで増加させつつ、ステップＳ３０１４の処理を繰り返し実行する。まず、特徴量抽出式リスト生成部１３２は、パラメータＭを０に設定し（Ｓ３０１２）、ランダムに処理関数を組み合わせて特徴量抽出式を生成する（Ｓ３０１４）。
【００７２】
次いで、特徴量抽出式リスト生成部１３２は、パラメータＭを１増加させてステップＳ３０１４の処理を再び実行する（Ｓ３０１６）。パラメータＭがｍに達するまでステップＳ３０１４の処理を繰り返し実行した後、特徴量抽出式リスト生成部１３２は、ステップＳ３０１４の処理にて生成したｍ個の特徴量抽出式（特徴量抽出式リスト）を特徴量計算部１３４に入力する。そして、特徴量抽出式リスト生成部１３２は、ステップＳ３００４の処理を終了する。
【００７３】
（Ｓ３０１４（Ｃｆ．Ｓ３００４）：特徴量抽出式のランダム生成）
ここで、上記のステップＳ３０１４に係る処理について、図１２を参照しながら、より詳細に説明する。なお、特徴量抽出式の構築に用いる処理関数（処理対象の軸、オペレータ）は、予め設定されているものとする。なお、ここで言う処理対象の軸とは、例えば、時間、周波数、位置、観測値の種類等、演算の対象とする座標軸を意味する。つまり、どの座表軸に沿ってオペレータによる演算を実行するか（演算の方向）、という情報が処理対象の軸により指定される。
【００７４】
また、ここで言うオペレータとは、処理内容を示す演算子である。特徴量抽出式は、例えば、微分演算、最大値出力、ローパスフィルタ、ハイパスフィルタ、不偏分散、高速フーリエ変換、絶対値出力等、様々な種類のオペレータを利用して構築することができる。なお、オペレータの種類によっては、オペレータに演算用のパラメータが指定されることもある。例えば、ローパスフィルタやハイパスフィルタの場合、遮断域又は透過域を指定するためのパラメータが指定される。また、特徴量抽出式には、処理関数の他、処理対象とするデータの種類を示す情報（以下、種類情報）が含まれていてもよい。
【００７５】
まず、ステップＳ３０１４において、特徴量抽出式リスト生成部１３２は、入力データの種類（種類情報）をランダムに決定する（Ｓ３０２２）。但し、入力データの種類が１種類の場合、ステップＳ３０１４の処理はスキップしてもよい。次いで、特徴量抽出式リスト生成部１３２は、特徴量抽出式を構成する処理対象の軸及びオペレータの組（処理関数）をランダムに決定する（Ｓ３０２４）。そして、特徴量抽出式リスト生成部１３２は、ランダムに決定した処理関数を組み合わせて特徴量抽出式を生成し、その特徴量抽出式の出力が１つの値（スカラ量）になるか否かを判定する（Ｓ３０２８）。
【００７６】
ステップＳ３０２８において特徴量抽出式の出力が１つの値になる場合、特徴量抽出式リスト生成部１３２は、図１１のステップＳ３０１６に処理を進める。一方、特徴量抽出式の出力が１つの値にならない場合、特徴量抽出式リスト生成部１３２は、ステップＳ３０２４に処理を戻し、再び処理関数をランダムに決定して特徴量抽出式を生成する。
【００７７】
（Ｓ３００６（Ｃｆ．Ｓ３０２）：遺伝アルゴリズムによる特徴量抽出式リスト生成）
ここで、上記のステップＳ３００６に係る処理について、図１３を参照しながら、より詳細に説明する。
【００７８】
なお、第ｇ世代（ｇ≧２）の特徴量抽出式が特徴量抽出式リスト生成部１３２に入力されているものとする。また、ステップＳ３００６にて実行される選択操作により生成すべき特徴量抽出式の数をｍｓ、交差操作により生成すべき特徴量抽出式の数をｍｘ、突然変異により生成すべき特徴量抽出式の数をｍｍ、ランダムに生成すべき特徴量抽出式の数をｍｒとする。そして、特徴量抽出式リストに含める特徴量抽出式の数をｍとする。
【００７９】
まず、特徴量抽出式リスト生成部１３２は、選択数ｍｓ、交差数ｍｘ、突然変異数ｍｍ、ランダム生成数ｍｒを決定する（Ｓ３０３２）。なお、選択数ｍｓ、交差数ｍｘ、突然変異数ｍｍ、ランダム生成数ｍｒは、ｍ＝ｍｓ＋ｍｘ＋ｍｍ＋ｍｒを満たすようにランダムに決定されてもよいし、予め一部又は全部の数が決定されていてもよいし、或いは、第ｇ世代の特徴量抽出式に対する寄与率から選択数ｍｓを決定し、その選択数ｍｓに応じて交差数ｍｘ、突然変異数ｍｍ、ランダム生成数ｍｒをランダムに決定するように構成されていてもよい。
【００８０】
選択数ｍｓ、交差数ｍｘ、突然変異数ｍｍを決定すると、特徴量抽出式リスト生成部１３２は、第ｇ世代の特徴量抽出式から寄与率の高いｍｓ個の特徴量抽出式を選択し、特徴量抽出式リストに加える（Ｓ３０３４）。次いで、特徴量抽出式リスト生成部１３２は、第ｇ世代の特徴量抽出式間にて一部の処理関数を交換し、ｍｘ個の新たな特徴量抽出式を生成して特徴量抽出式リストに加える（Ｓ３０３６）。
【００８１】
次いで、特徴量抽出式リスト生成部１３２は、第ｇ世代の特徴量抽出式からｍｍ個の特徴量抽出式を選択し、その特徴量抽出式を構成する一部の処理関数をランダムに変更して特徴量抽出式リストに加える（Ｓ３０３８）。次いで、特徴量抽出式リスト生成部１３２は、ランダムにｍｒ個の特徴量抽出式を生成して特徴量抽出式リストに加える（Ｓ３０４０）。ステップＳ３０３２〜Ｓ３０４０までの処理が終了すると、特徴量抽出式リスト生成部１３２は、ｍ個の特徴量抽出式を含む特徴量抽出式リストを特徴量計算部１３４に入力する。そして、予測機構築部１０６は、ステップＳ３０４に処理を進める。
【００８２】
（Ｓ３０３４（Ｃｆ．Ｓ３００６）：選択）
ここで、上記のステップＳ３０３４に係る処理（選択処理）について、図１４を参照しながら、より詳細に説明する。なお、ここで行われる選択処理は、特徴量抽出式を生体、処理関数を遺伝子に見立てた場合に、進化の過程で優秀な遺伝子を持つ生体が高い確率で生き残る仕組みに対応する遺伝アルゴリズムの特徴的な処理の一つである。
【００８３】
図１４に示すように、まず、特徴量抽出式リスト生成部１３２は、第ｇ世代の特徴量抽出式を後述する寄与率の大きい順に並べ替える（Ｓ３０４２）。次いで、特徴量抽出式リスト生成部１３２は、寄与率の高い順に上位ｍｓ個の特徴量抽出式を特徴量抽出式リストに加える（Ｓ３０４４）。その後、特徴量抽出式リスト生成部１３２は、ステップＳ３０３６に処理を進める。
【００８４】
（Ｓ３０３６（Ｃｆ．Ｓ３００６）：交差）
ここで、上記のステップＳ３０３６に係る処理（交差処理）について、図１５を参照しながら、より詳細に説明する。なお、ここで行われる交差処理は、特徴量抽出式を生体、処理関数を遺伝子に見立てた場合に、進化の過程で生体の遺伝子が一部交換され、新たな遺伝子の組み合わせを持つ生体が生まれる仕組みに対応する遺伝アルゴリズムの特徴的な処理の一つである。
【００８５】
図１５に示すように、特徴量抽出式リスト生成部１３２は、交差処理により生成する特徴量抽出式を指定するためのインデックスＭＸを１からｍｘまで変化させながら、ステップＳ３０５４〜Ｓ３０６０の処理をｍｘ回繰り返し実行する（Ｓ３０５２、Ｓ３０６２）。まず、特徴量抽出式リスト生成部１３２は、インデックスＭＸを１に設定し、ステップＳ３０５４に処理を進める（Ｓ３０５２）。ステップＳ３０５４に処理を進めると、特徴量抽出式リスト生成部１３２は、第ｇ世代の特徴量抽出式から、寄与率に基づいて１つの特徴量抽出式（式Ａ）を選択する（Ｓ３０５４）。
【００８６】
次いで、特徴量抽出式リスト生成部１３２は、第ｇ世代の特徴量抽出式から、寄与率に基づいて１つの特徴量抽出式（式Ｂ）を選択する（Ｓ３０５６）。次いで、特徴量抽出式リスト生成部１３２は、ステップＳ３０５４にて選択された（式Ａ）に含まれる処理関数の一部と、ステップＳ３０５６にて選択された（式Ｂ）に含まれる処理関数の一部とを組み替えて新しい特徴量抽出式を生成する（Ｓ３０５８）。次いで、特徴量抽出式リスト生成部１３２は、ステップＳ３０５８にて生成した新しい特徴量抽出式を特徴量抽出式リストに加える（Ｓ３０６０）。
【００８７】
ステップＳ３０５４〜Ｓ３０６０の処理を実行した後、特徴量抽出式リスト生成部１３２は、インデックスＭＸを１増加させ、再びステップＳ３０５４〜Ｓ３０６０の処理を実行する。特徴量抽出式リスト生成部１３２は、インデックスＭＸがｍｘに達するまでステップＳ３０５４〜Ｓ３０６０の処理を繰り返してｍｘ個の特徴量抽出式を生成する。その後、特徴量抽出式リスト生成部１３２は、ステップＳ３０３８に処理を進める。
【００８８】
（Ｓ３０５４、Ｓ３０５６（Ｃｆ．Ｓ３０３６）：特徴量抽出式の選択）
ここで、上記のステップＳ３０５４、Ｓ３０５６に係る処理について、図１６を参照しながら、より詳細に説明する。
【００８９】
図１６に示すように、特徴量抽出式リスト生成部１３２は、まず、寄与率が高いものほど選択されやすいように個々の特徴量抽出式の選択確率に重み付けをした上で、第ｇ世代の特徴量抽出式の中から、ランダムに特徴量抽出式を１つ選択する（Ｓ３０７２）。次いで、特徴量抽出式リスト生成部１３２は、選択した特徴量抽出式が交差処理のために既に選択したものであるか否かを判定する（Ｓ３０７４）。
【００９０】
交差処理のために既に選択したものである場合、特徴量抽出式リスト生成部１３２は、ステップＳ３０７６に処理を進める。一方、交差処理のために既に選択したものでない場合、特徴量抽出式リスト生成部１３２は、ステップＳ３０３６を構成する次の処理ステップ（Ｓ３０５６（Ｓ３０５４の場合）又はＳ３０５８（Ｓ３０５６の場合））に処理を進める。
【００９１】
ステップＳ３０７６に処理を進めた場合、特徴量抽出式リスト生成部１３２は、既に同じ特徴量抽出式を選択したか否かを判定する（Ｓ３０７６）。既に同じ特徴量抽出式を選択している場合、特徴量抽出式リスト生成部１３２は、再びステップＳ３０７２に処理を戻し、新たに特徴量抽出式を１つ選択する（Ｓ３０７２）。一方、既に同じ特徴量抽出式を選択していない場合、特徴量抽出式リスト生成部１３２は、ステップＳ３０３６を構成する次の処理ステップ（Ｓ３０５６（Ｓ３０５４の場合）又はＳ３０５８（Ｓ３０５６の場合））に処理を進める。
【００９２】
（Ｓ３０３８（Ｃｆ．Ｓ３００６）：突然変異）
ここで、上記のステップＳ３０３８に係る処理（突然変異処理）について、図１７を参照しながら、より詳細に説明する。なお、ここで行われる突然変異処理は、特徴量抽出式を生体、処理関数を遺伝子に見立てた場合に、進化の過程で生体が持つ遺伝子の一部が突然に変異し、新たな遺伝子の組み合わせを持つ生体が生まれる仕組みに対応する遺伝アルゴリズムの特徴的な処理の一つである。
【００９３】
図１７に示すように、特徴量抽出式リスト生成部１３２は、インデックスＭＭを１からｍｍまで増加させつつ、ステップＳ３０８４〜Ｓ３０８８の処理を繰り返し実行して、ｍｍ個の特徴量抽出式を生成する（Ｓ３０８２、Ｓ３０９０）。まず、特徴量抽出式リスト生成部１３２は、インデックスＭＭを１に設定し（Ｓ３０８２）、第ｇ世代の特徴量抽出式から１つの特徴量抽出式（式Ａ）を選択する（Ｓ３０８４）。このとき、特徴量抽出式リスト生成部１３２は、図１６に示したステップＳ３０５４の処理と同様の処理を実行し、特徴量抽出式の寄与率に基づいて特徴量抽出式（式Ａ）を１つ選択する。
【００９４】
次いで、特徴量抽出式リスト生成部１３２は、特徴量抽出式に含まれる処理関数の一部をランダムに選択された処理関数に変更し、新しい特徴量抽出式を生成する（Ｓ３０８６）。次いで、特徴量抽出式リスト生成部１３２は、ステップＳ３０８６にて生成された新しい特徴量抽出式を特徴量抽出式リストに加える（Ｓ３０８８）。次いで、特徴量抽出式リスト生成部１３２は、インデックスＭＭを１増加させ、再びステップＳ３０８４〜Ｓ３０８８の処理を実行する（Ｓ３０９０）。
【００９５】
次いで、特徴量抽出式リスト生成部１３２は、インデックスＭＭがｍｍに達するまでステップＳ３０８４〜Ｓ３０８８の処理を繰り返し実行してｍｍ個の特徴量抽出式を生成する。その後、特徴量抽出式リスト生成部１３２は、ステップＳ３０４０に処理を進める。
【００９６】
（Ｓ３０４０（Ｃｆ．Ｓ３００６）：ランダム生成）
ここで、上記のステップＳ３０４０に係る処理（ランダム生成処理）について、図１８を参照しながら、より詳細に説明する。
【００９７】
図１８に示すように、特徴量抽出式リスト生成部１３２は、インデックスＭＲを１からｍｒまで増加させつつ、ステップＳ３０９４〜Ｓ３０９６の処理を繰り返し実行して、ｍｒ個の特徴量抽出式を生成する（Ｓ３０９２、Ｓ３０９８）。まず、特徴量抽出式リスト生成部１３２は、インデックスＭＲを１に設定し（Ｓ３０９２）、ランダムに処理関数を組み合わせて新しい特徴量抽出式を生成する（Ｓ３０９４）。
【００９８】
次いで、特徴量抽出式リスト生成部１３２は、ステップＳ３０９２にて生成した新しい特徴量抽出式を特徴量抽出式リストに加える（Ｓ３０９６）。次いで、特徴量抽出式リスト生成部１３２は、インデックスＭＲを１増加させ、再びステップＳ３０９４、Ｓ３０９６の処理を実行する（Ｓ３０９８）。次いで、特徴量抽出式リスト生成部１３２は、インデックスＭＲがｍｒに達するまでステップＳ３０９４、Ｓ３０９６の処理を繰り返し実行してｍｒ個の特徴量抽出式を生成する。なお、各特徴量抽出式は、出力がスカラ量となるように生成される。
【００９９】
ステップＳ３０４０の処理が終了するとステップＳ３００６の処理が完了する。ステップＳ３０３４、Ｓ３０３６、Ｓ３０３８、Ｓ３０４０にて生成された合計ｍ個の特徴量抽出式を含む特徴量抽出式リストは、特徴量計算部１３４に入力される。そして、図９に示すように、予測機構築部１０６は、ステップＳ３０４に処理を進める。
【０１００】
（Ｓ３０４：特徴量の計算）
次に、ステップＳ３０４の処理について、図１９を参照しながら、より詳細に説明する。ここで実行される処理は、主に、特徴量計算部１３４の機能により実行される。なお、特徴量計算部１３４には、特徴量抽出式リスト生成部１３２から、ステップＳ３００４又はＳ３００６にて生成された特徴量抽出式リストが入力されているものとする。また、この特徴量抽出式リストは、ｍ個の特徴量抽出式が含まれているものとする。
【０１０１】
図１９に示すように、特徴量計算部１３４は、インデックスＭを１からｍまで更新しつつ、ステップＳ３１０４〜Ｓ３１０８の処理を繰り返し実行する（Ｓ３１０２、Ｓ３１１０）。また、特徴量計算部１３４は、インデックスｑを１からｄまで更新しながら、ステップＳ３１０６の処理を繰り返し実行する（Ｓ３１０４、Ｓ３１０８）。
【０１０２】
まず、特徴量計算部１３４は、インデックスＭを１に設定してステップＳ３１０４に処理を進める（Ｓ３１０２）。次いで、特徴量計算部１３４は、インデックスｑを１に設定してステップＳ３１０６に処理を進める（Ｓ３１０４）。
【０１０３】
次いで、特徴量計算部１３４は、時刻ｑ〜ｑ＋ｗ−１の予測元データＤｑを特徴量抽出式［Ｍ］に入力して特徴量を算出する（Ｓ３１０６）。但し、特徴量抽出式［Ｍ］は、特徴量抽出式リストに含まれる特徴量抽出式のうち、Ｍ番目の特徴量抽出式を意味する。次いで、特徴量計算部１３４は、ステップＳ３１０４に処理を戻し（Ｓ３１０８）、インデックスｑを１増加させて（Ｓ３１０４）、再びステップＳ３１０６に処理を進める。
【０１０４】
そして、特徴量計算部１３４は、インデックスｑがｄに達するまでステップＳ３１０４〜Ｓ３１０８の処理を繰り返し実行し、予測元データＤｑ（ｑ＝１，…，ｄ）を特徴量抽出式［Ｍ］に入力して得られる特徴量［Ｍ］［ｑ］を算出する。
【０１０５】
次いで、特徴量計算部１３４は、ステップＳ３１１０に処理を進め、ステップＳ３１０２に処理を戻す（Ｓ３１１０）。次いで、特徴量計算部１３４は、インデックスＭを１増加させて（Ｓ３１０２）、再びステップＳ３１０４に処理を進め、ステップＳ３１０４〜Ｓ３１０８の処理を繰り返し実行する。
【０１０６】
そして、特徴量計算部１３４は、インデックスＭがｍに達するまでステップＳ３１０４〜Ｓ３１０８の処理を繰り返し実行して、予測元データＤｑ（ｑ＝１，…，ｄ）を特徴量抽出式［Ｍ］（Ｍ＝１，…，ｍ、ｑ＝１，…，ｄ）に入力して得られる特徴量［Ｍ］［ｑ］を算出する。
【０１０７】
このように、ステップＳ３０４において、特徴量計算部１３４は、特徴量抽出式［Ｍ］（Ｍ＝１，…，ｍ）のそれぞれに、予測元データＤｑ（ｑ＝１，…，ｄ）を入力して特徴量［Ｍ］［ｑ］（Ｍ＝１，…，ｍ、ｑ＝１，…，ｄ）を算出する。また、ステップＳ３０４の処理にて算出された特徴量［Ｍ］［ｑ］は、機械学習部１３６に入力される。その後、予測機構築部１０６は、図９に示すように、ステップＳ３０６に処理を進める。
【０１０８】
（Ｓ３０６：機械学習）
次に、ステップＳ３０６の処理について、図２０を参照しながら、より詳細に説明する。ここで実行される処理は、主に機械学習部１３６により実行される。なお、機械学習部１３６には、特徴量計算部１３４から特徴量［Ｍ］［ｑ］（Ｍ＝１，…，ｍ、ｑ＝１，…，ｄ）が入力されているものとする。また、機械学習部１３６には、予測先データＤｑ（ｑ＝１，…，ｄ）が入力されているものとする。
【０１０９】
図２０に示すように、機械学習部１３６は、インデックスｘを１からＫまで増加させつつ、ステップＳ３１１４の処理を繰り返し実行する（Ｓ３１１２、Ｓ３１１６）。まず、機械学習部１３６は、インデックスｘを１に設定し（Ｓ３１１２）、ステップＳ３１１４に処理を進める。次いで、機械学習部１３６は、観測値ｘに対応する特徴量［Ｍ］［ｑ］及び予測先データＤｑを利用して機械学習を実行し、観測値ｘに対する予測式を算出する（Ｓ３１１４）。複数の特徴量抽出式を線形結合して予測式を生成する場合、ステップＳ３１１４にて各結合係数が算出される。
【０１１０】
次いで、機械学習部１３６は、再びステップＳ３１１２に処理を戻し（Ｓ３１１６）、インデックスｘを１増加させて（Ｓ３１１２）、ステップＳ３１１４の処理を実行する。また、機械学習部１３６は、インデックスｘがＫに達するまでステップＳ３１１４の処理を繰り返し実行して観測値１〜Ｋのそれぞれに対する予測式を生成する。
【０１１１】
次いで、機械学習部１３６は、ステップＳ３１１２〜Ｓ３１１６にて構築された予測式に対する各特徴量抽出式の寄与率を算出する（Ｓ３１１８）。このとき、機械学習部１３６は、予測式に含まれる各特徴量抽出式の結合係数に基づき、予測式に対する各特徴量抽出式の寄与率を算出する。その後、予測機構築部１０６は、図９に示すように、ステップＳ３０８に処理を進める。
【０１１２】
（Ｓ３１１４（Ｃｆ．Ｓ３０６）：機械学習による予測機の生成）
ここで、上記のステップＳ３１１４に係る処理について、図２１を参照しながら、より詳細に説明する。
【０１１３】
図２１に示すように、機械学習部１３６は、特徴量抽出式リストの中から、予測式の生成に用いる特徴量抽出式をランダムに選択して初期集団（第１世代の遺伝子）を生成する（Ｓ３１２２）。但し、初期集団を構成する特徴量抽出式の数は、予めｐに設定されているものとする。次いで、機械学習部１３６は、インデクスＰを１〜ｐまで更新しながら、ステップＳ３１２６、Ｓ３１２８の処理を繰り返し実行する（Ｓ３１２４、Ｓ３１３０）。
【０１１４】
まず、機械学習部１３６は、インデックスＰを１に設定し、ステップＳ３１２６に処理を進める（Ｓ３１２４）。次いで、機械学習部１３６は、初期集団に含まれる特徴量抽出式に対して特徴量計算部１３４により算出された特徴量、及び予測元データに基づき、線形回帰、判別を実行して観測値１〜Ｋのそれぞれに対応する予測式を生成する（Ｓ３１２６）。次いで、機械学習部１３６は、例えば、ＡＩＣを用いてステップＳ３１２６で生成された予測式を評価する（Ｓ３１２８）。
【０１１５】
次いで、機械学習部１３６は、ステップＳ３１２４に処理を戻し（Ｓ３１３０）、インデックスＰを１増加させてステップＳ３１２６に処理を進める（Ｓ３１２４）。次いで、機械学習部１３６は、ステップＳ３１２６、Ｓ３１２８の処理を再び実行する。そして、機械学習部１３６は、インデックスＰがｐに達するまでステップＳ３１２６、Ｓ３１２８の処理を繰り返した後、ステップＳ３１３２に処理を進める。
【０１１６】
ステップＳ３１３２に処理を進めると、機械学習部１３６は、ＡＩＣを評価値として利用し、予測式の生成に用いる特徴量抽出式の組み合わせを選択、交差、突然変異により変化させる（Ｓ３１３２）。つまり、機械学習部１３６は、ステップＳ３１３２において、第１世代の遺伝子から第２世代の遺伝子を生成する。
【０１１７】
次いで、機械学習部１３６は、最も良い遺伝子の評価値が所定世代にわたって更新されていないか否かを判定する（Ｓ３１３４）。所定世代にわたって最も良い遺伝子の評価値が更新いない状態ではない場合、機械学習部１３６は、ステップＳ３１２４に処理を戻し、再びステップＳ３１２４〜Ｓ３１３４の処理を実行する。
【０１１８】
一方、所定世代にわたって最も良い遺伝子の評価値が更新されていない場合、機械学習部１３６は、図２０に示すように、ステップＳ３１１６に処理を進める。また、ステップＳ３１１２〜Ｓ３１１６の繰り返し処理を完了すると、機械学習部１３６は、ステップＳ３１１８に処理を進める。
【０１１９】
（Ｓ３１１８（Ｃｆ．Ｓ３０６）：寄与率の計算）
ここで、上記のステップＳ３１１８の処理について、図２２を参照しながら、より詳細に説明する。
【０１２０】
図２２に示すように、機械学習部１３６は、合計寄与率Ｃｏｎｓｔ［Ｍ］を０に初期化する（Ｓ３１４２）。次いで、機械学習部１３６は、インデックスｘを１からＫまで更新しながら、ステップＳ３１４６〜Ｓ３１５０の処理を繰り返し実行する（Ｓ３１４４、Ｓ３１５２）。また、ステップＳ３１４６に処理を進めた場合、機械学習部１３６は、インデックスＭを１からｍまで更新しながら、ステップＳ３１４８の処理を繰り返し実行する（Ｓ３１４６、Ｓ３１４８）。
【０１２１】
ステップＳ３１４８において、機械学習部１３６は、まず、観測値ｘに関して、予測式に対する特徴量抽出式［Ｍ］の寄与率を算出する。この寄与率は、予測式を生成する際に観測値毎に算出された特徴量抽出式［Ｍ］の結合係数に基づいて算出される。例えば、寄与率は、結合係数の二乗を含む値とする。なお、予測式に含まれない特徴量抽出式の寄与率は０である。次いで、機械学習部１３６は、合計寄与率Ｃｏｎｓｔ［Ｍ］＝Ｃｏｎｓｔ［Ｍ］＋観測値ｘに対する特徴量抽出式［Ｍ］の寄与率を計算する（Ｓ３１４８）。
【０１２２】
ステップＳ３１４４、Ｓ３１５２による処理の繰り返し、ステップＳ３１４６、Ｓ３１５０による処理の繰り返しにより、特徴量抽出式リストに含まれる全ての特徴量抽出式について、観測値１〜Ｋに関する各特徴量抽出式の合計寄与率Ｃｏｎｓｔ［Ｍ］が算出される。ステップＳ３１１８にて算出された各特徴量抽出式の合計寄与率Ｃｏｎｓｔ［Ｍ］は、予測式に対する評価値として利用される。ステップＳ３１１８の処理が終了すると、機械学習部１３６は、ステップＳ３０６の処理を終了する。
【０１２３】
以上、予測機の自動構築処理の流れについて説明した。
【０１２４】
（１−３−４：予測機による観測値の予測）
次に、図２３を参照しながら、図７のＳｔｅｐ．４に対応する予測機による観測値の予測処理の流れについて説明する。図２３はｍ、図７のＳｔｅｐ．４に対応する予測機による観測値の予測処理の流れを示す説明図である。なお、ここで説明する処理は、予測部１０８により実行される。また、予測部１０８には、予測機構築部１０６から予測機が入力されていているものとする。
【０１２５】
図２３に示すように、予測部１０８は、インデックスＦを１からｆまで更新しながら、ステップＳ４０４、Ｓ４０６の処理を繰り返し実行する（Ｓ４０２、Ｓ４０６）。ステップＳ４０４において、予測機１０８は、時刻ｊ＋Ｆーｗ〜ｊ＋Ｆ−１の予測値を予測元データＤＦとして切り出す（Ｓ４０４）。次いで、予測部１０８は、予測機に予測元データＤＦを入力し、時刻ｊ＋Ｆにおいて観測されるであろう予測値（予測先データＤＦ）を算出する（Ｓ４０６）。そして、インデックスＦを更新しながらステップＳ４０４、Ｓ４０６の処理を繰り返し実行することにより、図６に示すように、時刻ｊ〜ｊ＋ｆの予測値が算出される。
【０１２６】
以上、予測機による観測値の予測処理の流れについて説明した。
【０１２７】
以上説明したように、本実施形態に係る技術を適用すると、遺伝アルゴリズムに基づく機械学習により過去の観測値から未来の観測値を予測する予測機を精度良く自動構築することができる。また、この予測機を繰り返し利用して未来の観測値を予測することができる。そして、ユーザは、予測に用いる適切なデータを観測値から切り出したり、加工したり、予測モデルを構築したりする必要がなくなる。
【０１２８】
［１−４：実験１（単振り子への適用）］
ここで、本実施形態に係る予測アルゴリズムを具体例（トルク付き単振り子の動き予測）に適用した実験（以下、実験１）の結果を図２４、図２５に示す。
【０１２９】
図２４に示すように、実験１の条件は次の通りである。
（条件１）トルクで動作する２次元単振り子の動き予測を行う。
（条件２）トルクは、−１、０、＋１の３通りとする。
（条件３）観測値は、トルク、角度、角速度とする。
（但し、学習には、トルクと角度のみを利用する。）
（条件４）トルクが３０周期毎に１度ランダムに変化する。
（条件５）１０万ステップ分の観測値を学習に利用する。
（但し、予測元データの時間幅は１０ステップとする。）
【０１３０】
図２５に実験結果を示す。図２５は、上記のトルク付き２次元単振り子のアルゴリズムを用いて実際に動作している単振り子の動き（観測値）と、予測機を用いて予測される単振り子の動き（予測値）とを比較した結果である。両者を定量的に比較するため、図２５には、観測値と予測値との間の相関値を示した。図２５に示すように、時間と共に相関値が１に近づき、ある程度の時間が経過すると、相関値がほとんど１になる。つまり、十分に高い精度で単振り子の動きが予測されていることが分かる。
【０１３１】
また、図２５には、予測機の構築に利用された特徴量の数を併せて示した。特徴量数の推移を参照すると、時間の経過と共に特徴量数が徐々に減少していることが分かる。つまり、予測処理の開始直後は大量の特徴量で観測値の変化を予測するが、学習が進むにつれて徐々に少ない特徴量で観測値の変化を予測できるようになることが分かる。
【０１３２】
［１−５：実験２（２次元セルオートマトンへの適用）］
次に、本実施形態に係る予測アルゴリズムを他の具体例（２次元セルオートマトン）に適用した実験（以下、実験２）の結果を図２６、図２７に示す。
【０１３３】
図２６に示すように、実験２の条件は次の通りである。
（条件１）生存セルの周辺３×３の範囲に２つ又は３つの生存セルがあれば生存する。
（条件２）非生存セルの周辺３×３の範囲に３つの生存セルがあれば誕生する。
【０１３４】
また、３２×２４セルの中で変化する１０ステップ分の生存セルのパターン（以下、セルパターン）を学習に利用した。但し、３２×２４セルを全て学習するのではなく、図２６に示すように、５×５のセル（入力Ｍａｔｒｉｘ）を入力の対象にし、中心セルの生存／非生存を予測対象とした。そして、次の時刻における中心セルの生存／非生存を予測する予測機を自動構築し、その予測機を用いてセルパターンの予測処理を実行した。
【０１３５】
図２７に実験結果を示す。図２７は、上記の２次元セルオートマトンのアルゴリズムを用いて実際に変化していくセルパターン（観測値）と、予測機を用いて予測されるセルパターン（予測値）とを比較した結果である。両者を定量的に比較するため、図２７には、生存セルの予測Ｆ値を示した。図２７に示すように、時間と共にＦ値が１に近づき、ある程度の時間が経過すると、Ｆ値がほとんど１になる。つまり、十分に高い精度でセルパターンの変化が予測されていることが分かる。
【０１３６】
また、図２７には、予測機の構築に利用された特徴量の数を併せて示した。特徴量数の推移を参照すると、ある時間が経過した時点で特徴量数が減少することが分かる。つまり、予測処理の開始直後は多くの特徴量で観測値を予測するが、学習が進むにつれて少ない特徴量で観測値を予測できるようになることが分かる。
【０１３７】
［１−６：実験３（鳥の群れアルゴリズムへの適用）］
次に、本実施形態に係る予測アルゴリズムを他の具体例（鳥の群れアルゴリズムＢｏｉｄｓ＝Ｂｉｒｄ−ｏｌｄ）に適用した実験（以下、実験３）の結果を図２８、図２９に示す。
【０１３８】
図２８に示すように、実験３の条件は次の通りである。
（条件１）鳥は目標点に向かう。
（条件２）鳥は衝突を避けるために他の鳥から離れようとする。
（条件３）鳥は他の鳥と同じ方向に飛ぼうとする。
（条件４）鳥は群れの中心に向かおうとする。
【０１３９】
また、学習用には、鳥が向かおうとする目標点を基準とした相対座標、自身の加速度履歴、他の各鳥からの相対座標が利用される。さらに、目標点の位置は、ランダムに切り替えた。そして、鳥の数は２０羽、学習用のステップ数は１０００に設定した。
【０１４０】
図２９に実験結果を示す。図２９は、上記の鳥の群れアルゴリズムを用いて実際に変化していく鳥の群れのパターン（観測値）と、予測機を用いて予測される鳥の群れのパターン（予測値）とを比較した結果である。両者を定量的に比較するため、図２９には、観測値と予測値との間の相関値を示した。図２９に示すように、時間と共に相関値が１に近づき、瞬間的に相関値が落ち込むところがあるものの、ある程度の時間が経過すると、相関値がほとんど１になる。つまり、十分に高い精度でセルパターンの変化が予測されていることが分かる。
【０１４１】
また、図２９には、予測機の構築に利用された特徴量の数を併せて示した。特徴量数の推移を参照すると、ある時間が経過すると特徴量の数は、ある程度の数まで減少することが分かる。つまり、予測処理の開始直後は多くの特徴量で観測値を予測するが、学習が進むと比較的少ない特徴量で観測値を予測できるようになることが分かる。
【０１４２】
以上、本実施形態に係る予測機の自動構築方法、予測方法について説明し、これらを用いた実験結果を示した。これまで説明した予測機の自動構築方法は、例えば、コンピュータグラフィックスの背景映像（鳥の動き、木々や雲の動き、その他移動体の動き）をリアルに実現するためのアルゴリズム生成手段として利用することができる。先に述べた通り、本実施形態に係る予測機の自動構築アルゴリズムは、単に観測値を学習用データとして入力するだけで、適切な予測機を自動構築することができる。そのため、背景映像を生成するアルゴリズムを作成する手間が不要になる。また、予測機の演算自体は処理負荷が小さいため、小型のゲーム機や映像機器においても十分に実行可能である。このように、本実施形態に係る技術は、実用性の面でも非常にメリットの大きい技術である。
【０１４３】
＜２：ハードウェア構成例＞
ここで、上記の情報処理装置１００のハードウェア構成例について述べる。上記の情報処理装置１００が有する各構成要素の機能は、例えば、図３０に示す情報処理装置のハードウェア構成を用いて実現することが可能である。つまり、当該各構成要素の機能は、コンピュータプログラムを用いて図３０に示すハードウェアを制御することにより実現される。
【０１４４】
図３０に示すように、このハードウェアは、主に、ＣＰＵ９０２と、ＲＯＭ９０４と、ＲＡＭ９０６と、ホストバス９０８と、ブリッジ９１０と、を有する。さらに、このハードウェアは、外部バス９１２と、インターフェース９１４と、入力部９１６と、出力部９１８と、記憶部９２０と、ドライブ９２２と、接続ポート９２４と、通信部９２６と、を有する。但し、上記のＣＰＵは、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略である。また、上記のＲＯＭは、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略である。そして、上記のＲＡＭは、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略である。
【０１４５】
ＣＰＵ９０２は、例えば、演算処理装置又は制御装置として機能し、ＲＯＭ９０４、ＲＡＭ９０６、記憶部９２０、又はリムーバブル記録媒体９２８に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ＲＯＭ９０４は、ＣＰＵ９０２に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。ＲＡＭ９０６には、例えば、ＣＰＵ９０２に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。
【０１４６】
これらの構成要素は、例えば、高速なデータ伝送が可能なホストバス９０８を介して相互に接続される。一方、ホストバス９０８は、例えば、ブリッジ９１０を介して比較的データ伝送速度が低速な外部バス９１２に接続される。また、入力部９１６としては、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力部９１６としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラ（以下、リモコン）が用いられることもある。
【０１４７】
出力部９１８としては、例えば、ＣＲＴ、ＬＣＤ、ＰＤＰ、又はＥＬＤ等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置である。但し、上記のＣＲＴは、Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅの略である。また、上記のＬＣＤは、Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙの略である。そして、上記のＰＤＰは、Ｐｌａｓｍａ  ＤｉｓｐｌａｙＰａｎｅｌの略である。さらに、上記のＥＬＤは、Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙの略である。
【０１４８】
記憶部９２０は、各種のデータを格納するための装置である。記憶部９２０としては、例えば、ハードディスクドライブ（ＨＤＤ）等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。但し、上記のＨＤＤは、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略である。
【０１４９】
ドライブ９２２は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体９２８に記録された情報を読み出し、又はリムーバブル記録媒体９２８に情報を書き込む装置である。リムーバブル記録媒体９２８は、例えば、ＤＶＤメディア、Ｂｌｕ−ｒａｙメディア、ＨＤ  ＤＶＤメディア、各種の半導体記憶メディア等である。もちろん、リムーバブル記録媒体９２８は、例えば、非接触型ＩＣチップを搭載したＩＣカード、又は電子機器等であってもよい。但し、上記のＩＣは、Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略である。
【０１５０】
接続ポート９２４は、例えば、ＵＳＢポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ、ＲＳ−２３２Ｃポート、又は光オーディオ端子等のような外部接続機器９３０を接続するためのポートである。外部接続機器９３０は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はＩＣレコーダ等である。但し、上記のＵＳＢは、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓの略である。また、上記のＳＣＳＩは、Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅの略である。
【０１５１】
通信部９２６は、ネットワーク９３２に接続するための通信デバイスであり、例えば、有線又は無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、又はＷＵＳＢ用の通信カード、光通信用のルータ、ＡＤＳＬ用のルータ、又は各種通信用のモデム等である。また、通信部９２６に接続されるネットワーク９３２は、有線又は無線により接続されたネットワークにより構成され、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、可視光通信、放送、又は衛星通信等である。但し、上記のＬＡＮは、Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋの略である。また、上記のＷＵＳＢは、Ｗｉｒｅｌｅｓｓ  ＵＳＢの略である。そして、上記のＡＤＳＬは、Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅの略である。
【０１５２】
＜３：まとめ＞
最後に、本発明の実施形態に係る技術内容について簡単に纏める。ここで述べる技術内容は、例えば、ＰＣやゲーム機等の情報処理装置に対して適用可能である。
【０１５３】
上記の情報処理装置の機能構成は次のように表現することができる。当該情報処理装置は、遺伝的アルゴリズムに基づく機械学習により、所定時刻より前に観測された観測値から、予め用意された処理関数を組み合わせて当該観測値の特徴量を抽出する複数の特徴量抽出式を生成し、当該複数の特徴量抽出式により算出される複数の特徴量に基づいて前記所定時刻の観測値を予測する予測式を生成する予測機構築部と、前記予測機構築部により生成された予測式を繰り返し用いて、ある時刻ｔより前に観測された観測値から時刻ｔの観測値を予測する予測部と、を有する。
【０１５４】
このような構成にすることで、観測値を学習用のデータとして直接利用することができるため、適切な学習用のデータを観測値から切り出したり、適切なデータ形式に観測値を加工したりする手間が不要になる。さらに、予測モデルを考えずとも自動的に予測式が生成されるため、観測値の元となる現象の解析やモデル化が不要になる。さらに、遺伝アルゴリズムを用いているため、精度良く観測値を予測することが可能な予測式が生成される。
【０１５５】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【０１５６】
１００    情報処理装置
１０２    観測値入力部
１０４    予測機構築用データ準備部
１０６    予測機構築部
１０８    予測部
１３２    特徴抽出式リスト生成部
１３４    特徴量計算部
１３６    機械学習部
【図１】
2011118786.tif 000003
【図２】
2011118786.tif 000004
【図３】
2011118786.tif 000005
【図４】
2011118786.tif 000006
【図５】
2011118786.tif 000007
【図６】
2011118786.tif 000008
【図７】
2011118786.tif 000009
【図８】
2011118786.tif 000010
【図９】
2011118786.tif 000011
【図１０】
2011118786.tif 000012
【図１１】
2011118786.tif 000013
【図１２】
2011118786.tif 000014
【図１３】
2011118786.tif 000015
【図１４】
2011118786.tif 000016
【図１５】
2011118786.tif 000017
【図１６】
2011118786.tif 000018
【図１７】
2011118786.tif 000019
【図１８】
2011118786.tif 000020
【図１９】
2011118786.tif 000021
【図２０】
2011118786.tif 000022
【図２１】
2011118786.tif 000023
【図２２】
2011118786.tif 000024
【図２３】
2011118786.tif 000025
【図２４】
2011118786.tif 000026
【図２５】
2011118786.tif 000027
【図２６】
2011118786.tif 000028
【図２７】
2011118786.tif 000029
【図２８】
2011118786.tif 000030
【図２９】
2011118786.tif 000031
【図３０】
2011118786.tif 000032