(57)【特許請求の範囲】
【請求項１】
種別の異なる複数の観測データと、その評価値とを訓練データとして、多重核関数学習法を使用して推定値を計算する方法であって、前記観測データが時系列データであり、前記種別の異なる複数の観測データは、前記時系列データに、異なるフィルタをかけた後の時系列データであり、前記時系列のデータが時間軸に沿ってT個のデータｗを持つ場合に、x(i)q= [x(i)q,1,x(i)q,2, ..., x(i)q,T]T、ただし、ベクトルの肩のTは転置の記号であり、i番目の時系列データの第q番目のフィルタの出力がx(i)q,tと定義され、コンピュータが、
個々の種別のデータ毎に類似度行列Ａqを計算するステップであって、前記類似度行列Ａqが、Ｎ×Ｎの行列であり、その(i,j)成分がx(i)q及びx(j)qであり、且つ下記式によって定義される：
【数１】
0005570008.tif 000017
前記類似度行列を計算するステップと、
前記計算された類似度行列Ａqを用いて、グラフ・ラプラシアンＬｑを計算するステップであって、前記グラフ・ラプラシアンＬｑが、Ｎ×Ｎの行列であり、第q番目のフィルタをかけた、i番目とj番目の時系列データの類似度行列Ａqから生成されたグラフ・ラプラシアンであり、且つ下記式で定義される：
【数２】
0005570008.tif 000018
ここで、δはクロネッカーのデルタであり、uqは結合定数であり、q = 1,2,...,Mである、前記グラフ・ラプラシアンＬを計算するステップと、
前記計算されたグラフ・ラプラシアンＬｑを変分ベイズ法に用いて、前記結合定数uqと前記複数の観測データの観測変数の分散とを計算するステップと
を実行することを含む、前記方法。
【請求項２】
前記結合定数と前記複数の観測データの前記観測変数の分散とを計算するステップが、
前記観測変数の分散から前記結合定数を計算することと、前記結合定数から前記観測変数の分散を計算することを、前記結合定数から前記観測変数の分散が収束するまで続けるステップ
を含む、請求項１に記載の方法。
【請求項３】
前記コンピュータが、
前記結合定数uqと前記複数の観測データの前記観測変数の分散の値とを用いて、所与の観測データから、評価値の分布を出力するステップ
を実行することをさらに含む、請求項１又は２に記載の方法。
【請求項４】
前記異なるフィルタが、周期成分と取り出すためのフィルタ、トレンド成分を取り出すためのフィルタ、及び残差成分を取り出すためのフィルタである、請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記結合定数uqと前記複数の観測データの前記観測データの観測変数の分散とを計算するステップが、
前記複数の観測データの各前記観測変数は分散β-1をもつ正規分布に従い、且つ、複数の前記結合定数uqをベクトルとしてまとめてuと記すと、当該uはガンマ分布に従うという仮定の下で計算される、
請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記複数の観測データが、自動車の最適設計パラメータのデータである、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
種別の異なる複数の観測データと、その評価値とを訓練データとして、コンピュータの処理により、多重核関数学習法を使用して推定値を計算するシステムであって、前記観測データが時系列データであり、前記種別の異なる複数の観測データは、前記時系列データに、異なるフィルタをかけた後の時系列データであり、前記時系列のデータが時間軸に沿ってT個のデータｗを持つ場合に、x(i)q= [x(i)q,1,x(i)q,2, ..., x(i)q,T]T、ただし、ベクトルの肩のTは転置の記号であり、i番目の時系列データの第q番目のフィルタの出力がx(i)q,tと定義され、前記システムが、
個々の種別のデータ毎に類似度行列Ａqを計算するステップであって、前記類似度行列Ａqが、Ｎ×Ｎの行列であり、その(i,j)成分がx(i)q及びx(j)qであり、且つ下記式によって定義される：
【数１】
0005570008.tif 000019
前記第１の計算手段と、
前記計算された類似度行列Ａqを用いて、グラフ・ラプラシアンＬｑを計算するステップであって、前記グラフ・ラプラシアンＬｑが、Ｎ×Ｎの行列であり、第q番目のフィルタをかけた、i番目とj番目の時系列データの類似度行列Ａqから生成されたグラフ・ラプラシアンであり、且つ下記式で定義される：
【数２】
0005570008.tif 000020
ここで、δはクロネッカーのデルタであり、uqは結合定数であり、q = 1,2,...,Mである、前記第２の計算手段と、
前記計算されたグラフ・ラプラシアンＬｑを変分ベイズ法に用いて、前記結合定数uqと前記複数の観測データの観測変数の分散とを計算する第３の計算手段と
を備えている、前記システム。
【請求項８】
前記第３の計算手段が、
前記観測変数の分散から前記結合定数を計算することと、前記結合定数から前記観測変数の分散を計算することを、前記結合定数から前記観測変数の分散が収束するまで続ける手段
を備えている、請求項７に記載のシステム。
【請求項９】
前記結合定数uqと前記複数の観測データの前記観測変数の分散の値とを用いて、所与の観測データから、評価値の分布を出力する出力手段
をさらに備えている、請求項７又は８に記載のシステム。
【請求項１０】
前記異なるフィルタが、周期成分と取り出すためのフィルタ、トレンド成分を取り出すためのフィルタ、及び残差成分を取り出すためのフィルタである、請求項７〜９のいずれか一項に記載のシステム。
【請求項１１】
前記第３の計算手段が、
前記複数の観測データの各前記観測変数は分散β-1をもつ正規分布に従い、且つ、複数の前記結合定数uqをベクトルとしてまとめてuと記すと、当該uはガンマ分布に従うという仮定の下で計算される、
請求項７〜１０のいずれか一項に記載のシステム。
【請求項１２】
種別の異なる複数の観測データと、その評価値とを訓練データとして、多重核関数学習法を使用して推定値を計算する為のコンピュータ・プログラムであって、前記観測データが時系列データであり、前記種別の異なる複数の観測データは、前記時系列データに、異なるフィルタをかけた後の時系列データであり、前記時系列のデータが時間軸に沿ってT個のデータｗを持つ場合に、x(i)q= [x(i)q,1,x(i)q,2, ..., x(i)q,T]T、ただし、ベクトルの肩のTは転置の記号であり、i番目の時系列データの第q番目のフィルタの出力がx(i)q,tと定義され、前記訓練データが記憶装置に格納されており、コンピュータに、請求項１〜６のいずれか一項に記載の方法の各ステップを実行させる、前記コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、機械学習のための技法、特に、カーネル回帰の技法に関し、より詳しくは、多重核(multiple kernel)による回帰技法に関する。
【背景技術】
【０００２】
近年、例えば、任意経路に対するコスト（例えば、所用時間）を予測するために、カーネル回帰の技法が採用されている。本願発明者らは、特願２００８−２４０３５１号明細書に記述されているように、経路同士の類似度（カーネル関数）を表すために文字列カーネルを使用したガウス過程回帰により、地図上の任意経路に対する所用時間を予測する技法に想到した。このとき、文字列カーネルは、部分文字列の長さをパラメータとしてもつ。文字列カーネルと旅行時間の関係についての考察から、旅行時間は、さまざまな長さの部分文字列の寄与を統合したものと想定され、従って、本願発明者は、多重核関数の枠組みで予測モデルを作ることがより望ましいということに気付いた。
【０００３】
別の分野として、自動車の最適設計パラメータの推測技法がある。自動車の設計開発段階においては、所望の強度の条件を満たしつつも、最小のコストで済む設計パラメータを見出す必要がある。この作業は通常、シミュレーションを主とし、実車実験を従として進められるが、この場合、限られた実験点から、設計パラメータに対する目的関数（例えば、人体に加わる最大衝撃度）の依存性を知ることが重要である。それが分かると、現在のパラメータをどのように改善したらよりよくなるのかが分かる。一般に、その依存性は非線形であるので、この場合もカーネル回帰が好適であるが、設計パラメータには、様々な物理量が混在しており、単一のカーネル関数では、精度のよいモデリングを行うことが困難である。よって、物理量毎にグループ分けした上で、適切な複数のカーネル関数を用いることが望ましい。
【０００４】
その他の考えられる例として、顧客企業への販売見込み度スコアの計算がある。すなわち、潜在的に顧客になり得る企業のそれぞれを、何らかの数値の組として表現する。例えば、利益率などの経営指標、従業員数、競合他社の浸透状況、あるいはこれまでの購買履歴や業種をあらわす指標、などを使って、各企業を一つの属性ベクトルとして表す。そうして、既に売込みをした企業のデータを訓練データとして、過去の売上げ実績と営業担当者の感触を加味して、売り込み優先度を、何らかの実数値で計算する。その情報を用いて、ある未知の企業がどの程度見込みのある企業なのか知りたいという要望がある。この場合も、属性と見込み度の関係はやはり非線形になるはずで、カーネル回帰を用いることが望ましい。しかし、企業をあらわす属性には、質的に異なる量が混在しており、この場合も、質的に異なる量の各々に対応する適切な複数のカーネル関数を用いることが望ましい。
【０００５】
以上の例から見て取れるように、多重核関数学習法は、実世界におけるデータの異種混合性に対処するための極めて一般的な技法であるといえる。
【０００６】
特開２００７−１２２４１８号公報は、複数の説明変数と、ある状態の発生の有無をあらわす従属変数とを有するサンプルの集合である学習データをデータベースから読み出す読出ステップと、前記説明変数ごとに用意された要素カーネル関数の和としてのカーネル関数を用いて定義された回帰式における回帰係数を、前記学習データを用いてあらかじめ与えられた目的関数を最適化することによって求める係数計算ステップと、入力パラメータとして複数の説明変数を前記回帰式に入力して従属変数を求める従属変数算出ステップと、求めた従属変数を確率予測関数に入力して前記ある状態が発生または発生しない確率を予測する確率予測ステップを開示する。ここで使用されるカーネル関数も、説明変数ごとに用意された要素カーネル関数の和である点で、多重核関数の一種である。
【０００７】
しかし、従来より、多重核関数学習法は、計算量が大きく、実用的なサイズの問題には、計算上の困難があった。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特願２００８−２４０３５１号明細書
【特許文献２】特開２００７−１２２４１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
この発明の目的は、実用的なサイズの問題も妥当な計算量で取り扱うことができる多重核関数学習技法を提供することにある。
【課題を解決するための手段】
【００１０】
本発明は例えば、複数の時系列データに、異なるフィルタをかけたデータを想定する。このデータは例えば、上述した、実験により得られた、自動車の最適設計パラメータのデータである。また、フィルタとは例えば、ノイズ除去の目的で使われるローパスフィルタや、トレンド成分の除去の目的で使われるハイパスフィルタ、あるいは、補間や区分線形近似などである。
【００１１】
そこで、i番目の時系列データの第q番目のフィルタの出力を、x(i)q,tと表記する。また、それぞれの時系列データは、時間軸に沿ってT個のデータをもつとすると、
x(i)q = [x(i)q,1,x(i)q,2, ..., x(i)q,T]T
ただし、ベクトルの肩のTは、転置の記号である。
【００１２】
ここで、類似度行列Ａqを、その(i,j)成分が、x(i)qとx(j)qとの何らかの類似度を表すものとして定義する。例えば、ユークリッド空間の内積や、それを単調減少関数で変換したものなど、さまざまなものが考えられる。しかしここではそのような多様性は、フィルタの側で実現されているとして、類似度行列Ａqを次のようにして定義する。
【数１】
0005570008.tif 000002
これは、定義から分かるように、Ｎ×Ｎの行列となる。
【００１３】
本発明によると、この類似度行列で以って、下記のようにグラフ・ラプラシアンＬが定義される。
【数２】
0005570008.tif 000003
ここで、δは、クロネッカーのデルタである。uqは、結合定数であり、データから決定される（後述）。
【００１４】
訓練データから、結合定数{uq}を最適化することが本発明の目的であり、結合定数{uq}が最適化されると、下記のように、Ｍ個の類似度行列の一次結合として、類似度行列Ａが得られる。
【数３】
0005570008.tif 000004
【００１５】
本発明の知見によれば、観測変数と、それに付随する潜在変数、及び結合定数に確率モデルを想定し、変分ベイズ法を基に最適化を行うことにより、妥当な計算量で、多重核関数学習処理を計算することが可能となる。
【００１６】
ここで想定されるのは、次のような自然な仮定である。
−  観測モデルは、分散β-1をもつ正規分布である。
−  観測値を説明するための潜在変数も、正規分布である。
−  結合定数{uq}は、ガンマ事前分布に従う。
【００１７】
βと結合定数{uq}が、データから点推定されると、任意入力に対する出力の分布を計算することが可能となる。
【発明の効果】
【００１８】
この発明によれば、コンピュータの処理により、実用的なサイズの問題も妥当な計算量で取り扱うことができる多重核関数学習技法が提供される。
【図面の簡単な説明】
【００１９】
【図１】本発明を実施するための一例のハードウェア構成のブロック図である。
【図２】本発明の一実施例に係る機能論理ブロック図である。
【図３】フィルタされた各種時系列信号の波形を示す図である。
【図４】回帰用パラメータ処理のフローチャートを示す図である。
【図５】回帰用パラメータ処理のフローチャートを示す図である。
【図６】回帰用パラメータ処理のフローチャートを示す図である。
【図７】回帰用パラメータ処理のフローチャートを示す図である。
【図８】回帰処理のフローチャートを示す図である。
【発明を実施するための形態】
【００２０】
以下、図面に従って、本発明の実施例を説明する。これらの実施例は、本発明の好適な態様を説明するためのものであり、発明の範囲をここで示すものに限定する意図はないことを理解されたい。また、以下の図を通して、特に断わらない限り、同一符号は、同一の対象を指すものとする。
【００２１】
図１を参照すると、本発明の一実施例に係るシステム構成及び処理を実現するためのコンピュータ・ハードウェアのブロック図が示されている。図１において、システム・バス１０２には、ＣＰＵ１０４と、主記憶（ＲＡＭ）１０６と、ハードディスク・ドライブ（ＨＤＤ）１０８と、キーボード１１０と、マウス１１２と、ディスプレイ１１４が接続されている。ＣＰＵ１０４は、好適には、３２ビットまたは６４ビットのアーキテクチャに基づくものであり、例えば、インテル社のＰｅｎｔｉｕｍ（商標）４、インテル社のＣｏｒｅ（商標）  ２  ＤＵＯ、ＡＭＤ社のＡｔｈｌｏｎ（商標）などを使用することができる。主記憶１０６は、好適には、１ＧＢ以上の容量、より好ましくは、２ＧＢ以上の容量をもつものである。
【００２２】
ハードディスク・ドライブ１０８には、オペレーティング・システムが、格納されている。オペレーティング・システムは、Ｌｉｎｕｘ（商標）、マイクロソフト社のＷｉｎｄｏｗｓ（商標）  ７、Ｗｉｎｄｏｗｓ  ＸＰ（商標）、Ｗｉｎｄｏｗｓ（商標）２０００、アップルコンピュータのＭａｃ  ＯＳ（商標）などの、ＣＰＵ１０４に適合する任意のものでよい。
【００２３】
ハードディスク・ドライブ１０８にはさらに、訓練データとして、複数の時系列データにそれぞれ、異なるフィルタをかけた結果の時系列データが、所定のデータフォーマットで保存されている。これらの時系列データは、この実施例では、自動車の設計開発段階でシミュレーションの間に様々なセンサから取得した時系列データである。
【００２４】
ハードディスク・ドライブ１０８にはさらに、本発明に従う多重核関数の回帰用パラメータ計算プログラムと、計算されたパラメータに基づき、カーネル回帰を適用して回帰計算を行うプログラムが格納されている。これらのプログラムは、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（商標）などの、既知の任意のプログラミング言語処理系で作成することができる。これらのプログラムについては、図２の機能ブロック図以下を参照して、後でより詳しく説明する。
【００２５】
キーボード１１０及びマウス１１２は、オペレーティング・システムが提供するグラフィック・ユーザ・インターフェースに従い、ディスプレイ１１４に表示されたアイコン、タスクバー、ウインドウなどのグラフィック・オブジェクトを操作するために使用される。キーボード１１０及びマウス１１２はまた、取得した時系列データの取り込み操作や本発明の実施例に係るプログラムを開始または終了する操作を行うためにも使用される。
【００２６】
ディスプレイ１１４は、これには限定されないが、好適には、１０２４×７６８以上の解像度をもち、３２ビットtrue colorのＬＣＤモニタである。ディスプレイ１１４は、所要時間などのコストを予測する経路を含む地図などを表示するために使用される。
【００２７】
図２は、本発明の一実施例に係る機能ブロック図を示す。訓練データ２０２は、この実施例では、実験により得られた、自動車の最適設計パラメータのデータを含む。このようなデータに対して、Ｍ個のフィルタを使って、Ｎ本の時系列データをそれぞれ、変換したとする。
【００２８】
そこで、i番目の時系列データの第q番目のフィルタの出力を、x(i)q,tと表記する。また、それぞれの時系列データは、時間軸に沿ってT個のデータをもつとすると、
x(i)q = [x(i)q,1,x(i)q,2, ..., x(i)q,T]T
ただし、ベクトルの肩のTは、転置の記号である。
【００２９】
図３に、フィルタの例を示す。図３(a)は、フィルタをかける前の元信号の時系列データであり、図３(b)は、フィルタをかけて周期成分を取り出した時系列データである。図３(c)は、フィルタをかけてトレンド成分を取り出した時系列データである。図３(d)は、フィルタをかけて残差成分を取り出した時系列データである。
【００３０】
訓練データ２０２は、評価値ｙN ≡ [y(1),y(2),...,y(N)]Tを含む。これは、訓練データ２０２における、個々の時系列データに対応する評価値の並びである。評価値ｙNは、実験結果に基づき、人為的な判断、あるいは、その他の測定ツールにより決定することができる。
【００３１】
訓練データ２０２は、ＣＳＶ、ＸＭＬなどの既知の適当なデータフォーマットで、ハードディスク・ドライブ１０８に保存される。
【００３２】
回帰パラメータ計算モジュール２０４は、訓練データ２０２を入力して、観測モデルの分散βと、結合定数uのモード値を含む回帰用パラメータ２０６を出力する。回帰用パラメータ２０６は、好適には、主記憶１０６の所定の領域に格納される。なお、回帰用パラメータ２０６は、ハードディスク・ドライブ１０８の所定の領域の所定のファイルに含めてもよい。回帰パラメータ計算モジュール２０４の詳細については、図４〜図７のフローチャートを参照して、後で説明する。
【００３３】
観測データ２０８は、好適には、訓練データ２０２の測定に使用したのと同一のセンサを使用して測定された時系列データである。観測データ２０８もまた、ＣＳＶ、ＸＭＬなどの既知の適当なデータフォーマットで、ハードディスク・ドライブ１０８に保存される。
【００３４】
回帰計算モジュール２１０は、回帰パラメータ計算モジュール２０４によって計算された回帰用パラメータ２０６及び訓練データ２０２を参照して、観測データ２０８に対応する評価値の予測分布を、計算結果２１２として与える。計算結果は、適当な視覚化ツール（図示しない）の処理により、表、折れ線グラフなどの形式で、ディスプレイ１１４に表示することができる。
【００３５】
次に、図４〜図６のフローチャートを参照して、回帰パラメータ計算モジュール２０４の処理を説明する。特に図４は、回帰パラメータ計算処理の全体の概要を示すフローチャートである。
【００３６】
尚、以下の計算を行うために、本実施例では、次のモデルを想定する。
- 観測モデルは、分散β-1をもつ正規分布である。
- 観測値を説明するための潜在変数も正規分布である。
- 結合定数{up}は、事前分布として、ガンマ分布に従う。{up}をベクトルとしてまとめてuと記すと、uのガンマ分布は、以下のとおりとなる。
【数４】
0005570008.tif 000005
この式で、νは、予め適当な数値（例えば１程度）を選んでおくとする。
【００３７】
ガンマ分布は、指数分布の分散に対する共役自然分布として知られている。そこで、事前分布として共役自然分布を選ぶと、後の計算が劇的に簡単になることも知られている。こうして、ガンマ分布を事前分布として選ぶことは有利である。それでいて、ガンマ分布を選んでも、ほとんど一般性は失われない。なぜなら、結合定数は、その解釈上、負値をとらないことが要請され、また、もしモデリングがうまくいっていれば、ある特定の値の周りに鋭いピークをもつことが期待される。すなわち、単峰性を持つ分布であることが期待される。実用的な扱いやすさの観点から、ガンマ分布は、これらの条件をみたすほぼ唯一の分布である。
【００３８】
図４において、ステップ４０２では、回帰パラメータ計算モジュール２０４は、訓練データ２０２から、評価値ｙNと、Ｌ1, ..., ＬMを入力する。
【００３９】
ここで、Ｌq 但し、q = 1,2,...,Mとあるのは、次のようにして定義されたものである。
【数５】
0005570008.tif 000006
【００４０】
すなわち、Ｌqは、第q番目のフィルタをかけた、i番目とj番目の時系列データの類似度行列Ａqから生成されたグラフ・ラプラシアンであって、類似度行列ＡqがＮ×Ｎの行列なので、ＬqもＮ×Ｎの行列となる。
【００４１】
ステップ４０４では、回帰パラメータ計算モジュール２０４は、
ni = Tr(Ｌ1Ｌi) 但し、i = 1,2,...,Mを計算する。
【００４２】
ここで、Ｌ1は、下記で定義される。
【数６】
0005570008.tif 000007
また、Trは、行列のトレース、すなわち、対角成分の和である。
【００４３】
ステップ４０６では、回帰パラメータ計算モジュール２０４は、βと、u~1,...,u~Mを初期化する。ここでβは、ｙNの分散の逆数程度に初期化される。u~1,...,u~Mは例えば、各々が1/M程度の値に初期化される。
【００４４】
尚、u~iとあるのは、uiのモード値であって、本明細書を通して、表記の便宜上、u~iと、
【数７】
0005570008.tif 000008
を同一視する。
【００４５】
ステップ４０８では、回帰パラメータ計算モジュール２０４は、Λ,μ,u~1,...,u~M,βを計算する。ここでΛとμは初出であり、ΛはＮ×Ｎの行列、μはＮ次元のベクトルである。
【００４６】
ステップ４０８のより具体的な計算の内容は、図５のフローチャートを参照して、説明される。
【００４７】
図５において、ステップ５０２では、回帰パラメータ計算モジュール２０４は、あるβに対して、Λ,μ,u~1,...,u~Mを求める。そのより具体的な計算の内容は、図６のフローチャートを参照して、後で説明される。
【００４８】
ステップ５０４では、回帰パラメータ計算モジュール２０４は、Λ,μ,u~1,...,u~Mよりβを求める。そのより具体的な計算の内容は、図７のフローチャートを参照して、後で説明される。
【００４９】
ステップ５０６では、回帰パラメータ計算モジュール２０４は、Λ,μ,u~1,...,u~M,βは収束したかどうか判断する。ここで収束したかどうかの判断は、計算ループの一回前の各々の値と比較して、それらとの差が所定の閾値より小さいかどうかで行う。
【００５０】
回帰パラメータ計算モジュール２０４は、収束していないと判断すると、ステップ５０２に戻る。一方、ステップ５０６で収束したと判断すると、回帰パラメータ計算モジュール２０４は処理を終え、Λ,μ,u~1,...,u~M,βの値が確定する。
【００５１】
確定した値のうち、u~1,...,u~M,βは、回帰用パラメータ２０６としてセットされ、回帰計算モジュール２１０が利用可能となる。
【００５２】
次に図６のフローチャートを参照して、図５のステップ５０２をより詳細に説明する。図６において、回帰パラメータ計算モジュール２０４は、ステップ６０２で、βの値を入力する。これは、実際は図４のステップ４０６で用意されたものである。
【００５３】
ステップ６０４では、回帰パラメータ計算モジュール２０４は、下記の式に従い行列の値を計算して、Λに入力する。既述のように、ΛはＮ×Ｎの行列である。
【数８】
0005570008.tif 000009
ここで、ＩNは、Ｎ×Ｎの単位行列である。
【００５４】
ステップ６０６では、回帰パラメータ計算モジュール２０４は、ステップ６０４で計算されたΛを用いて、下記の式に従い、μを計算する。既述のように、μはＮ次元のベクトルである。
μ ← βΛ-1yN
【００５５】
ステップ６０８では、回帰パラメータ計算モジュール２０４は、下記の式に従い、γiと、u~i(i = 1,...,M)を計算する。
【数９】
0005570008.tif 000010
【００５６】
ステップ６１０では、回帰パラメータ計算モジュール２０４は、Λ,μ,u~1,...,u~Mは収束したかどうか判断する。ここで収束したかどうかの判断は、計算ループの一回前の各々の値と比較して、それらとの差が所定の閾値より小さいかどうかで行う。
【００５７】
ステップ６１０で、回帰パラメータ計算モジュール２０４が収束したと判断すると、Λ,μ,u~1,...,u~Mの値を図５のステップ５０４に渡す。収束していない場合は、処理は、ステップ６０４に戻る。
【００５８】
次に図７のフローチャートを参照して、図５のステップ５０４をより詳細に説明する。図７において、回帰パラメータ計算モジュール２０４は、ステップ７０２で、Λ,μ,u~1,...,u~Mの値を入力する。これは、実際は図５のステップ５０２、すなわち図６のフローチャートの処理で用意されたものである。
【００５９】
ステップ７０４では、回帰パラメータ計算モジュール２０４は、下記の式に従い、N/βの値を計算する。
【数１０】
0005570008.tif 000011
【００６０】
ステップ７０６では、回帰パラメータ計算モジュール２０４は、下記の式に従い、N/βから、βの値を計算する。
【数１１】
0005570008.tif 000012
【００６１】
ステップ７０８では、回帰パラメータ計算モジュール２０４は、βが収束したかどうか判断する。ここで収束したかどうかの判断は、計算ループの一回前の各々の値と比較して、それらとの差が所定の閾値より小さいかどうかで行う。
【００６２】
ステップ７０８で、回帰パラメータ計算モジュール２０４が収束したと判断すると、βの値が確定する。収束していない場合は、処理は、ステップ７０４に戻る。
【００６３】
この結果、Λ,μ,u~1,...,u~M,βが全て確定するので、回帰パラメータ計算モジュール２０４は、このうち、u~1,...,u~M,βを回帰用パラメータ２０６にセットする。
【００６４】
次に、図８のフローチャートを参照して、回帰計算モジュール２１０による処理を説明する。
【００６５】
この回帰で求められるのは、入力時系列データｘを与えたときの、yの確率分布である。その、未知入力に対する予測分布は、一般には次の式で与えられる。
【数１２】
0005570008.tif 000013
訓練フェーズを終えた時点で、β,ni,γiが揃っており、νは例えば1程度に設定することで、上記積分を計算することは原理的には可能であるが、計算量が大きい。
そこで、p(y|x,data) = N(y|mL(u~),s(u~)2)という近似式を用いるのが、計算量的に妥当である。この近似は、Christopher M. Bishop, "Pattern Recognition and Machine Learning (Information Science and Statistics) ", Springer Science Media. LLC. 2006の第４章に記載されているラプラス近似に基づく。この近似は、Nが十分大きいときに妥当である。
【００６６】
上記計算によれば、予測分布は、下記のように既述することができる。
y = mL(u~)
なお、上記記法の式の内容については、以下で順次説明する。
【００６７】
図８において、ステップ８０２では、回帰計算モジュール２１０は、観測データ２０８から、時系列データｘを得る。
【００６８】
ステップ８０４では、回帰計算モジュール２１０は、入力時系列データｘにM種類のフィルタをかけて、M本の時系列データを作る。すなわち、q = 1,2,...,Mに対して、次のT次元ベクトルができる(Tは、時間軸上のデータ点数)。
xq ≡ [xq,1,xq,2,xq,3,...,xq,T]T ∈ RT
【００６９】
ここで、訓練データにおける第qフィルタで処理された時系列データをそれぞれ、
xq(1),xq(2),...,xq(T) ∈ RTとする。
さらに、aq(xq(i),xq(j)) ≡ Ａqi,jと定義する。
【００７０】
以上の準備の下、ステップ８０４では、次の式によって、l0と、lが計算される。
【数１３】
0005570008.tif 000014
【００７１】
ステップ８０８では、回帰計算モジュール２１０は、下記の式によりＤを計算する。
【数１４】
0005570008.tif 000015
【００７２】
ステップ８１０では、回帰計算モジュール２１０は、下記の式によりmL,s2Lを計算する。
【数１５】
0005570008.tif 000016
【００７３】
ステップ８１２では、回帰計算モジュール２１０は、出力yの期待値mLを出力する。これは、yの確率分布であり、必要に応じて、結果計算モジュール２１２によってディスプレイ１１４に表示される。
【００７４】
なお、上記実施例は、時系列データに対する異なるフィルタ毎に異なるカーネルを適用するマルチ・カーネル・スキームであったが、これには限定されず、任意経路に対するコスト予測、顧客企業への販売見込み度スコアの計算など、一般に訓練データ内のサンプルに対する類似度ないしカーネルが定義できる問題であれば、さまざまな分野に適用可能である。例えば、特願２００８−２４０３５１号明細書に記載の任意経路に対するコスト予測であれば、経路についてのカーネル行列を本明細書記載の類似度行列と同一視すればよい。
【００７５】
また、例示されているハードウェア構成は一例であって、マルチプロセッサ環境、ネットワーク接続のクラウドコンピューティング環境など、任意のハードウェア環境で使用可能である。
【符号の説明】
【００７６】
１０２  システム・バス
１０４  ＣＰＵ
１１０  キーボード
１１２  マウス
１１４  ディスプレイ
１０６  主記憶
１０８  ハードディスク・ドライブ
２０２  訓練データ
２０４  回帰パラメータ計算モジュール
２０６  回帰用パラメータ
２０８  観測データ
２１０  回帰計算モジュール
２１２  計算結果
【図１】
0005570008.tif 000021
【図２】
0005570008.tif 000022
【図３】
0005570008.tif 000023
【図４】
0005570008.tif 000024
【図５】
0005570008.tif 000025
【図６】
0005570008.tif 000026
【図７】
0005570008.tif 000027
【図８】
0005570008.tif 000028