(57)【特許請求の範囲】
【請求項１】
予測関数を利用して入力から出力を予測する予測装置であって、
入力と出力との既知の組み合わせから構成される学習データから、前記予測関数のための潜在ベクトルとハイパーパラメータとを推定する推定部と、
前記推定された潜在ベクトルとハイパーパラメータとに基づく前記予測関数を利用して、未知の入力に対応する出力を予測する予測部と、
を有し、
前記推定部は、前記予測関数の予測誤差が小さくなると共に、第１の学習データの潜在ベクトルと第２の学習データの潜在ベクトルとの第１の近傍関係が前記第１の学習データと前記第２の学習データとの入力の第２の近傍関係と類似するように、前記潜在ベクトルを推定する予測装置。
【請求項２】
前記推定部は、前記予測関数の予測誤差が小さくなるように、前記ハイパーパラメータを推定する、請求項１記載の予測装置。
【請求項３】
前記予測関数はガウス過程に従う、請求項１又は２記載の予測装置。
【請求項４】
前記第１の近傍関係と前記第２の近傍関係との相違は、Ｋｕｌｌｂａｃｋ−Ｌｅｉｂｌｅｒ（ＫＬ）ダイバージェンスを用いて表される、請求項１乃至３何れか一項記載の予測装置。
【請求項５】
予測関数を利用して入力から出力を予測する予測装置により実行される予測方法であって、
入力と出力との既知の組み合わせから構成される学習データから、前記予測関数のための潜在ベクトルとハイパーパラメータとを推定するステップと、
前記推定された潜在ベクトルとハイパーパラメータとに基づく前記予測関数を利用して、未知の入力に対応する出力を予測するステップと、
を有し、
前記推定するステップは、前記予測関数の予測誤差が小さくなると共に、第１の学習データの潜在ベクトルと第２の学習データの潜在ベクトルとの第１の近傍関係が前記第１の学習データと前記第２の学習データとの入力の第２の近傍関係と類似するように、前記潜在ベクトルを推定する予測方法。
【請求項６】
請求項１乃至４何れか一項記載の予測装置の各部としてプロセッサを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械学習に関し、学習データを用いて推定された予測関数を利用して未知の入力に対する出力を予測するための技術に関する。
【背景技術】
【０００２】
近年、人工知能などの機械学習の研究及び利用が盛んに行われている。入力に対応する出力を予測するため、入力と出力とが対になった複数のデータ（学習データ）が与えられたとき、これらのデータから予測モデル又は予測関数を推定し、推定された予測モデル又は予測関数を利用して未知の入力に対する出力を予測するというアプローチがある。
【０００３】
このような既知の学習データを利用して入力から出力を予測する手法が多数提案されている（例えば、非特許文献１）。基本的には、これらの手法は入力の値が近ければ出力の値も近くなることを前提としている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Edward Snelson, and Zoubin Ghahramani, Sparse Gaussian processes using pseudo-inputs, Advances in Neural Information Processing Systems, 1257-1264, 2005
【非特許文献２】Multi-task Gaussian process prediction, Bonilla, Edwin V and Chai, Kian M and Williams, Christopher, Advances in Neural Information Processing Systems, 153-160, 2007
【非特許文献３】Gaussian process latent variable models for visualisation of high dimensional data, Lawrence, Neil D, Advances in Neural Information Processing Systems, 329-336, 2004
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、入力の値が近くても出力の値が大きく離れている場合や、入力の値が離れていても出力の値が近くなる場合も存在する。このような入力値と出力値との近傍関係が成り立たないケースについて、従来の手法によると、良好な予測精度を実現することは困難である。
【０００６】
上述した問題点を鑑み、本発明の課題は、入力値と出力値との近傍関係が成り立たないケースに対処可能な予測装置を提供することである。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明の一態様は、予測関数を利用して入力から出力を予測する予測装置であって、入力と出力との既知の組み合わせから構成される学習データから、前記予測関数のための潜在ベクトルとハイパーパラメータとを推定する推定部と、前記推定された潜在ベクトルとハイパーパラメータとに基づく前記予測関数を利用して、未知の入力に対応する出力を予測する予測部とを有する予測装置に関する。
【０００８】
本発明の他の態様は、予測関数を利用して入力から出力を予測する予測装置により実行される予測方法であって、入力と出力との既知の組み合わせから構成される学習データから、前記予測関数のための潜在ベクトルとハイパーパラメータとを推定するステップと、前記推定された潜在ベクトルとハイパーパラメータとに基づく前記予測関数を利用して、未知の入力に対応する出力を予測するステップとを有する予測方法に関する。
【発明の効果】
【０００９】
本発明によると、入力値と出力値との近傍関係が成り立たないケースに対処可能な予測装置を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、本発明の一実施例による予測装置の機能構成を示すブロック図である。
【図２】図２は、本発明の一実施例による予測処理を示すフロー図である。
【図３】図３は、本発明の一実施例による潜在ベクトル及びハイパーパラメータの推定処理を示すフロー図である。
【図４】図４は、本発明の一実施例の適用例に関する平均二乗平方根誤差を示す図である。
【図５】図５は、本発明の一実施例の適用例を示す概略図である。
【図６】図６は、本発明の一実施例による予測装置のハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【００１１】
以下、図面に基づいて本発明の実施の形態を説明する。
【００１２】
以下の実施例では、既知の入力と出力とのペアからなる複数の学習データを利用して予測関数を推定し、推定された予測関数を利用して未知の入力に対する出力を予測する予測装置が開示される。後述される実施例を概略すると、予測装置は、学習データから予測関数のための潜在ベクトルとハイパーパラメータとを推定し、推定された潜在ベクトルとハイパーパラメータとに基づく予測関数を利用して、未知の入力に対応する出力を予測する。ここで、予測装置は、予測関数の予測誤差が小さくなると共に、異なる学習データの潜在ベクトルの間の近傍関係と当該学習データの入力の間の近傍関係とが類似するように、潜在ベクトル及びハイパーパラメータを推定する。
【００１３】
まず、図１を参照して、本発明の一実施例による予測装置を説明する。図１は、本発明の一実施例による予測装置の機能構成を示すブロック図である。
【００１４】
図１に示されるように、予測装置１００は、推定部１１０及び予測部１２０を有し、推定部１１０は、初期化部１１１、潜在ベクトル推定部１１２及びハイパーパラメータ推定部１１３を有する。
【００１５】
推定部１１０は、入力と出力との既知の組み合わせから構成される学習データから、予測関数のための潜在ベクトルとハイパーパラメータとを推定する。具体的には、推定部１１０には、入力と出力とのＮ個の既知の組み合わせからなる学習データ
【００１６】
【数１】
0006662715.tif 000002
が与えられる。ここで、ｘｎはｎ番目のデータの入力であり、ｙｎはｎ番目のデータの出力である。以下の説明では、各入力ｘｎはＬ次元の実数値ベクトル
【００１７】
【数２】
0006662715.tif 000003
として定義されるが、これに限定されることなく、離散値ベクトル、グラフ、系列などの任意のデータ構造であってもよい。また、各出力ｙｎはＤ次元の実数値ベクトル
【００１８】
【数３】
0006662715.tif 000004
として定義されるが、これに限定されることなく、離散値ベクトル、非負値ベクトル、整数値ベクトルなどであってもよい。また、入力ｘｎ及び出力ｙｎは欠損値を含んでいてもよい。
【００１９】
Ｎ個の学習データが与えられると、推定部１１０は、以下のように、当該学習データから予測関数のための潜在ベクトルとハイパーパラメータとを推定する。
【００２０】
まず、初期化部１１１は、潜在ベクトルの集合
【００２１】
【数４】
0006662715.tif 000005
と、ハイパーパラメータ又はハイパーパラメータの集合θとをランダムに初期化する。ここで、ｚｎはｎ番目のデータの潜在ベクトルであり、Ｋ次元の実数値ベクトル
【００２２】
【数５】
0006662715.tif 000006
として定義される。
【００２３】
次に、潜在ベクトル推定部１１２は、学習データから潜在ベクトルの集合Ｚを推定する。具体的には、潜在ベクトル推定部１１２は、潜在ベクトルから出力を予測するための予測関数ｆｄを含む式
【００２４】
【数６】
0006662715.tif 000007
を利用して、学習データから潜在ベクトルの集合Ｚを推定する。ここで、ｙｎｄはｎ番目のデータの第ｄ要素の出力値であり、ｆｄは潜在ベクトルから第ｄ要素の出力値を予測するための予測関数であり、εはノイズである。潜在ベクトル推定部１１２は、入力である潜在ベクトルｚｎから出力ｙｎｄを予測したときの誤差が小さくなるように潜在ベクトルｚｎを推定する。
【００２５】
具体的には、予測関数ｆｄ（）がガウス過程であると仮定すると、入力である潜在ベクトルｚｎから出力ｙｎｄを予測したときの誤差は、負の対数尤度
【００２６】
【数７】
0006662715.tif 000008
により評価できる。ここで、
【００２７】
【数８】
0006662715.tif 000009
は尤度であり、Ｋはカーネル関数
【００２８】
【数９】
0006662715.tif 000010
により定義されるＮ×Ｎの共分散行列であり、θはハイパーパラメータの集合であり、Ｄは出力ｙｎの次元である。例えば、カーネル関数として、ガウスカーネル
【００２９】
【数１０】
0006662715.tif 000011
が利用されてもよい。ここで、ｎ＝ｎ'であるとき、δｎｎ'＝１であり、ｎ≠ｎ'であるとき、δｎｎ' ＝０であり、
【００３０】
【数１１】
0006662715.tif 000012
である。なお、カーネル関数Ｋは、ガウスカーネルに限定されず、多項式カーネルなどの他の何れかのカーネルであってもよい。また、誤差関数ＥＹとして負の対数尤度が利用されたが、誤差関数ＥＹは、これに限定されず、二乗誤差、ヒンジ誤差などの他の何れかの誤差であってもよい。また、予測関数ｆｄ（）は、ガウス過程に限定されず、線形回帰、ロジスティック回帰などの他の何れかの回帰又は分類モデルであってもよい。
【００３１】
また、潜在ベクトル推定部１１２は、ある学習データの潜在ベクトルと他の学習データの潜在ベクトルとの関係が当該学習データと他の学習データとの入力との関係と類似するように潜在ベクトルの集合Ｚを推定する。当該関係として、例えば、近傍関係が利用されてもよい。
【００３２】
例えば、ｎ番目の学習データとｎ'番目の学習データの潜在ベクトルの間の近傍関係は、
【００３３】
【数１２】
0006662715.tif 000013
により計算されてもよい。しかしながら、潜在ベクトル間の近傍関係は、これに限定されず、２つの潜在ベクトルが近ければ大きな値をとる何れかの式であってもよい。
【００３４】
他方、ｎ番目の学習データとｎ'番目の学習データとの入力の間の近傍関係は、同様に、
【００３５】
【数１３】
0006662715.tif 000014
により計算されてもよい。
【００３６】
このとき、潜在ベクトル推定部１１２は、式（５）及び式（６）の近傍関係が可能な限り同じになるような潜在ベクトルの集合Ｚを推定する。例えば、これら２つの近傍関係の相違を示す指標として、Ｋｕｌｌｂａｃｋ−Ｌｅｉｂｌｅｒ（ＫＬ）ダイバージェンスの和
【００３７】
【数１４】
0006662715.tif 000015
が利用されてもよい。しかしながら、近傍関係の相違を示す指標は、これに限定されず、類似した近傍関係には小さな値をとり、類似していない近傍関係には大きな値をとる何れかの式により表されてもよい。
【００３８】
本実施例では、潜在ベクトル推定部１１２は、式（２）により表される予測誤差が小さくなり、かつ、式（７）により表される異なる学習データの潜在ベクトルの間の近傍関係と入力の間の近傍関係との類似性が高くなるように、潜在ベクトルの集合Ｚを推定する。例えば、潜在ベクトル推定部１１２は、式（２）及び式（７）から構成される目的関数
【００３９】
【数１５】
0006662715.tif 000016
を最小化するような潜在ベクトルの集合Ｚを求めてもよい。ここで、λ（＞０）は重みパラメータであり、最適なλとして、交差検定などを用いて汎化性能が高いものが選ばれてもよい。
【００４０】
ハイパーパラメータ推定部１１３は、予測誤差が小さくなるように予測関数ｆｄ（）のハイパーパラメータθを推定する。具体的には、ハイパーパラメータ推定部１１３は、式（２）を最小化するハイパーパラメータθを決定してもよい。
【００４１】
潜在ベクトル推定部１１２及びハイパーパラメータ推定部１１３は、所定の終了条件が充足されるまで、上述した各自の処理を繰り返してもよい。当該終了条件として、例えば、所定の繰り返し数に達した、式（８）の目的関数の変化が所定の閾値以下に収束した、潜在ベクトルの集合Ｚ及びハイパーパラメータθの変化が所定の閾値以下に収束した、などであってもよい。
【００４２】
予測部１２０は、推定された潜在ベクトルとハイパーパラメータとに基づく予測関数を利用して、未知の入力に対応する出力を予測する。具体的には、予測部１２０は、推定部１１０により推定された潜在ベクトルの集合Ｚとハイパーパラメータθとを取得し、推定された潜在ベクトルの集合Ｚとハイパーパラメータθとから予測関数
【００４３】
【数１６】
0006662715.tif 000017
を導出する。例えば、予測関数ｆｄ（）がガウス過程である場合、予測部１２０は、
【００４４】
【数１７】
0006662715.tif 000018
を利用して、未知の入力に対して出力を予測してもよい。ここで、
【００４５】
【数１８】
0006662715.tif 000019
である。
【００４６】
次に、図２〜３を参照して、本発明の一実施例による予測装置における処理を説明する。図２は、本発明の一実施例による予測処理を示すフロー図であり、図３は、本発明の一実施例による潜在ベクトル及びハイパーパラメータの推定処理を示すフロー図である。
【００４７】
図２に示されるように、ステップＳ１０１において、推定部１１０は、所与の学習データ
【００４８】
【数１９】
0006662715.tif 000020
を利用して、予測関数のための潜在ベクトルの集合Ｚとハイパーパラメータθとを推定する。具体的には、図３に示されるように、ステップＳ２０１において、推定部１１０は、潜在ベクトルの集合Ｚ
【００４９】
【数２０】
0006662715.tif 000021
とハイパーパラメータθとをランダムに初期化する。
【００５０】
ステップＳ２０２において、推定部１１０は、学習データから潜在ベクトルの集合Ｚを推定する。具体的には、潜在ベクトル推定部１１２は、潜在ベクトルから出力を予測するための予測関数ｆｄを含む式
【００５１】
【数２１】
0006662715.tif 000022
を利用して、潜在ベクトルｚｎから出力ｙｎｄを予測したときの誤差が小さくなるように潜在ベクトルｚｎを推定する。例えば、予測関数ｆｄ（）がガウス過程であると仮定すると、入力である潜在ベクトルｚｎから出力ｙｎｄを予測したときの予測誤差は、負の対数尤度
【００５２】
【数２２】
0006662715.tif 000023
により評価できる。また、推定部１１０は、あるデータの潜在ベクトルと他のデータの潜在ベクトルとの関係が当該データと他のデータとの入力との関係と類似するように潜在ベクトルの集合Ｚを推定する。例えば、ｎ番目のデータとｎ'番目のデータの潜在ベクトルの間の近傍関係は、
【００５３】
【数２３】
0006662715.tif 000024
により計算されてもよく、ｎ番目のデータとｎ'番目のデータとの入力の間の近傍関係は、
【００５４】
【数２４】
0006662715.tif 000025
により計算されてもよい。
【００５５】
このとき、推定部１１０は、これら２つの近傍関係の相違を示す指標として、Ｋｕｌｌｂａｃｋ−Ｌｅｉｂｌｅｒ（ＫＬ）ダイバージェンスの和
【００５６】
【数２５】
0006662715.tif 000026
を利用してもよい。その後、推定部１１２は、式（２）及び式（７）から構成される目的関数
【００５７】
【数２６】
0006662715.tif 000027
を最小化するような潜在ベクトルの集合Ｚを求める。
【００５８】
ステップＳ２０３において、推定部１１０は、予測誤差が小さくなるように予測関数ｆｄ（）のハイパーパラメータθを推定する。具体的には、ハイパーパラメータ推定部１１３は、式（２）を最小化するハイパーパラメータθを決定してもよい。
【００５９】
ステップＳ２０４において、推定部１１０は、終了条件が充足されたか判断する。当該終了条件として、例えば、所定の繰り返し数に到達した、式（８）の目的関数の変化が所定の閾値以下に収束した、潜在ベクトルの集合Ｚ及びハイパーパラメータθの変化が所定の閾値以下に収束した、などであってもよい。
【００６０】
終了条件が充足されている場合（Ｓ２０４：Ｙｅｓ）、当該推定処理は終了し、ステップＳ１０２に移行する。他方、終了条件が充足されていない場合（Ｓ２０４：Ｎｏ）、推定部１１０は、ステップＳ２０２に移行する。なお、ステップＳ２０２とＳ２０３とは、異なる順序により、又はパラレルに実行されてもよい。
【００６１】
ステップＳ１０２において、予測部１２０は、推定された潜在ベクトルとハイパーパラメータとに基づく予測関数を利用して、未知の入力に対応する出力を予測する。具体的には、予測部１２０は、推定部１１０により推定された潜在ベクトルの集合Ｚとハイパーパラメータθとを取得し、推定された潜在ベクトルの集合Ｚとハイパーパラメータθとから予測関数
【００６２】
【数２７】
0006662715.tif 000028
を導出して、未知の入力に対して出力を予測してもよい。
【００６３】
ここで、本発明を評価するため、北米の気象データを利用した実験を行った。この実験では、北米の１２５地点（Ｎ＝１２５）において、緯度経度を入力とし（Ｌ＝２の入力ベクトル）ＣＯ２、湿度、気圧等の１６個の気象データを出力とした（Ｄ＝１６の出力ベクトル）。このうち１割の出力データを未知とし、その予測に対する平均二乗平方根誤差により各種の従来手法と本発明（Ｐｒｏｐｏｓｅｄ）とを対比した。従来手法としては、ガウス過程（ＧＰ）、マルチタスクガウス過程（ＭＴＧＰ）（非特許文献２）、ガウス過程潜在変数モデル（ＧＰＬＶＭ）（非特許文献３）、行列分解（ＭＦ）、ｋ近傍法（ＫＮＮ）を利用した。
【００６４】
図４に示されるように、多数のデータ項目について本発明による予測値が最も低い誤差を実現した。また、図５において、入力である緯度経度と、本発明により推定された潜在ベクトルとの関係を示す。λ＝１０、λ＝１０３のケースでは、近傍関係は保存されているが、予測精度を高めるために入力が変換されていることが分かる。この可視化によって、実際の位置でなく、気候の関連性に基づく関係性を解析することができる。
【００６５】
次に、図６を参照して、本発明の一実施例による予測装置のハードウェア構成を説明する。図６は、本発明の一実施例による予測装置のハードウェア構成を示すブロック図である。
【００６６】
図６に示されるように、予測装置１００は、典型的には、サーバにより実現されてもよく、例えば、バスを介し相互接続されるドライブ装置１０１、補助記憶装置１０２、メモリ装置１０３、プロセッサ１０４、インタフェース装置１０５及び通信装置１０６から構成される。予測装置１００における上述した各種機能及び処理を実現するプログラムを含む各種コンピュータプログラムは、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、フラッシュメモリなどの記録媒体１０７によって提供されてもよい。プログラムを記憶した記録媒体１０７がドライブ装置１０１にセットされると、プログラムが記録媒体１０７からドライブ装置１０１を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０７により行う必要はなく、ネットワークなどを介し何れかの外部装置からダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータなどを格納する。メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムやデータを読み出して格納する。プロセッサ１０４は、メモリ装置１０３に格納されたプログラムやプログラムを実行するのに必要なパラメータなどの各種データに従って、予測装置１００の各種機能及び処理を実行する。インタフェース装置１０５は、ネットワーク又は外部装置に接続するための通信インタフェースとして用いられる。通信装置１０６は、インターネットなどのネットワークと通信するための各種通信処理を実行する。しかしながら、上述したハードウェア構成は単なる一例であり、予測装置１００は、上述したハードウェア構成に限定されるものでなく、他の何れか適切なハードウェア構成により実現されてもよい。
【００６７】
なお、上述した予測装置１００の各部及びステップＳ１０１〜Ｓ１０２及びＳ２０１〜Ｓ２０４は、コンピュータのメモリ装置１０３に記憶されたプログラムをプロセッサ１０４が実行することによって実現されてもよい。
【００６８】
以上、本発明の実施例について詳述したが、本発明は上述した特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００６９】
１００  予測装置
１１０  推定部
１１１  初期化部
１１２  潜在ベクトル推定部
１１３  ハイパーパラメータ推定部
１２０  予測部
【図１】
0006662715.tif 000029
【図２】
0006662715.tif 000030
【図３】
0006662715.tif 000031
【図４】
0006662715.tif 000032
【図５】
0006662715.tif 000033
【図６】
0006662715.tif 000034