(57)【要約】【課題】入出力データが連続的な値の時に、対象となる全試行の遂行が事実上不可能な実験を行う際に、少ない実験回数で目的関数を推定可能な能動学習システムを提供する。【解決手段】ブースティング装置１は入力手段１００から入力される初期データとそのデータの初期分布とを基に仮説を求め、仮説から現在のデータへの予測値を計算し、予測値から誤差を計算してデータの分布を更新する。入力候補データ選択手段２２はブースティング装置１で最終的に得られた仮説を使用し、過去のデータに含まれない入力候補データの選択を行い、この入力候補データを実験者に対する新しい実験として指示する。関数値入力手段２３は上記の入力候補データに対して実験者の実験３０によって得られた関数値を受取る。データ更新手段手段２４は得られた入力候補データとその関数値を過去のデータに加える。【選択図】      図１
2005258480.tif 000002
【特許請求の範囲】
【請求項１】
選択した入出力のデータを基に、入出力データ間に少なくとも近似的に成り立つ関数関係の推定を行う能動学習法を実行する能動学習システムであって、
過去の入出力データから一定の表現形を用いて関数関係を推定しかつ予め定められた単一及び複数種類のうちのいずれかの複数の学習アルゴリズムを下位アルゴリズムとして用いて前記下位アルゴリズムに次入力データを選択する時点までの入出力データを訓練データとして学習させる学習手段と、
前記学習手段各々のアルゴリズムから得られた複数の仮説から得られる最終仮説を用いて複数の入力候補データに対する関数値の予測を行う関数予測手段と、
前記学習された複数の仮説の予測値の分散を使った関数の値を基に前記入力候補データの中から入力データを選択する入力データ指定手段とを有することを特徴とする能動学習システム。
【請求項２】
選択した入出力のデータを基に、入出力データ間に少なくとも近似的に成り立つ関数関係の推定を行う能動学習法を実行する能動学習システムであって、
過去の入出力データから一定の表現形を用いて関数関係を推定しかつ予め定められた単一及び複数種類のうちのいずれかの複数の学習アルゴリズムを下位アルゴリズムとして用いて前記下位アルゴリズムに次入力データを選択する時点までの入出力データを訓練データとして学習させる学習手段と、
データのリサンプリングを繰り返すことによって受動的な学習アルゴリズムの精度を向上させるブースティング技術によって前記学習手段の学習精度を向上させるブースティング手段と、
前記ブースティング手段によって得られる最終仮説を用いて複数の入力候補データに対する関数値の予測を行う関数予測手段と、
前記学習された複数の仮説の予測値の分散を使った関数の値を基に前記入力候補データの中から入力データを選択する入力データ指定手段とを有することを特徴とする能動学習システム。
【請求項３】
前記学習手段及び前記関数予測手段において、ランダムに選ばれた前記複数の入力候補データに対して前記下位アルゴリズムがそれぞれ学習を行うことを特徴とする請求項１または請求項２記載の能動学習システム。
【請求項４】
前記入力データ指定手段において、前記複数の仮説の予測値の分散が最大であるデータを前記入力候補データとして選択することを特徴とする請求項１から請求項３のいずれか記載の能動学習システム。
【請求項５】
前記入力候補データ及び前記関数値を前記過去のデータに追加するデータ更新手段を含むことを特徴とする請求項１から請求項４のいずれか記載の能動学習システム。
【請求項６】
前記入力候補データに対する関数値を実験によって求める実験手段を含むことを特徴とする請求項１から請求項５のいずれか記載の能動学習システム。
【請求項７】
前記入力候補データに対する関数値をシミュレーションによって求めるシミュレーション手段を含むことを特徴とする請求項１から請求項４のいずれか記載の能動学習システム。
【請求項８】
前記学習手段において、前記下位アルゴリズムの入力データとしてそれぞれ任意の規則性にしたがった結論及びシミュレーション計算によって求めた結果のいずれかを用いることを特徴とする請求項１から請求項８のいずれか記載の能動学習システム。
【請求項９】
選択した入出力のデータを基に、入出力データ間に少なくとも近似的に成り立つ関数関係の推定を行う能動学習法であって、
過去の入出力データから一定の表現形を用いて関数関係を推定しかつ予め定められた単一及び複数種類のうちのいずれかの複数の学習アルゴリズムを下位アルゴリズムとして用いて前記下位アルゴリズムに次入力データを選択する時点までの入出力データを訓練データとして学習させる学習段階と、
前記学習段階各々のアルゴリズムから得られた複数の仮説から得られる最終仮説を用いて複数の入力候補データに対する関数値の予測を行う関数予測段階と、
前記学習された複数の仮説の予測値の分散を使った関数の値を基に前記入力候補データの中から入力データを選択する入力データ指定段階とを有することを特徴とする能動学習法。
【請求項１０】
選択した入出力のデータを基に、入出力データ間に少なくとも近似的に成り立つ関数関係の推定を行う能動学習法であって、
過去の入出力データから一定の表現形を用いて関数関係を推定しかつ予め定められた単一及び複数種類のうちのいずれかの複数の学習アルゴリズムを下位アルゴリズムとして用いて前記下位アルゴリズムに次入力データを選択する時点までの入出力データを訓練データとして学習させる学習段階と、
データのリサンプリングを繰り返すことによって受動的な学習アルゴリズムの精度を向上させるブースティング技術によって前記学習段階の学習精度を向上させるブースティング段階と、
前記ブースティング段階によって得られる最終仮説を用いて複数の入力候補データに対する関数値の予測を行う関数予測段階と、
前記学習された複数の仮説の予測値の分散を使った関数の値を基に前記入力候補データの中から入力データを選択する入力データ指定段階とを有することを特徴とする能動学習法。
【請求項１１】
前記学習段階及び前記関数予測段階において、ランダムに選ばれた前記複数の入力候補データに対して前記下位アルゴリズムがそれぞれ学習を行うことを特徴とする請求項９または請求項１０のいずれか記載の能動学習法。
【請求項１２】
前記入力データ指定段階において、前記複数の仮説の予測値の分散が最大であるデータを前記入力候補データとして選択することを特徴とする請求項９から請求項１１のいずれか記載の能動学習法。
【請求項１３】
選択した入出力のデータを基に、入出力データ間に少なくとも近似的に成り立つ関数関係の推定を行う能動学習法のプログラムであって、コンピュータに、過去の入出力データから一定の表現形を用いて関数関係を推定しかつ予め定められた単一及び複数種類のうちのいずれかの複数の学習アルゴリズムを下位アルゴリズムとして用いて前記下位アルゴリズムに次入力データを選択する時点までの入出力データを訓練データとして学習させる学習処理と、前記学習処理各々のアルゴリズムから得られた複数の仮説から得られる最終仮説を用いて複数の入力候補データに対する関数値の予測を行う関数予測処理と、前記学習された複数の仮説の予測値の分散を使った関数の値を基に前記入力候補データの中から入力データを選択する入力データ指定処理とを実行させるためのプログラム。
【請求項１４】
選択した入出力のデータを基に、入出力データ間に少なくとも近似的に成り立つ関数関係の推定を行う能動学習法のプログラムであって、コンピュータに、過去の入出力データから一定の表現形を用いて関数関係を推定しかつ予め定められた単一及び複数種類のうちのいずれかの複数の学習アルゴリズムを下位アルゴリズムとして用いて前記下位アルゴリズムに次入力データを選択する時点までの入出力データを訓練データとして学習させる学習処理と、データのリサンプリングを繰り返すことによって受動的な学習アルゴリズムの精度を向上させるブースティング技術によって前記学習処理の学習精度を向上させるブースティング処理と、前記ブースティング処理によって得られる最終仮説を用いて複数の入力候補データに対する関数値の予測を行う関数予測処理と、前記学習された複数の仮説の予測値の分散を使った関数の値を基に前記入力候補データの中から入力データを選択する入力データ指定処理とを実行させるためのプログラム。
【請求項１５】
前記コンピュータは、前記学習処理及び関数予測処理において、ランダムに選ばれた前記複数の入力候補データに対して前記下位アルゴリズムがそれぞれ学習を行うことを特徴とする請求項１３または請求項１４記載のプログラム。
【請求項１６】
前記コンピュータは、前記入力データ指定処理において、前記複数の仮説の予測値の分散が最大であるデータを前記入力候補データとして選択することを特徴とする請求項１３から請求項１５のいずれか記載のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は能動学習システム及びそれに用いる能動学習法並びにそのプログラムに関し、特に分子生物学等の分野の実験や設計を効率的に遂行する計画を立案する方法に関する。
【０００２】
【従来の技術】
一般に、従来の「実験計画法」においては、例えば、ある機械の性能向上といった目的（これを特性と呼ぶ）に対し、影響を及ぼすような要因（これを因子と呼ぶ）を抽出し、因子のとり得る値（これを水準と呼ぶ）によって、特性が向上するかどうかを検査することが目的となっている。すなわち、「実験計画法」では、因子のとる水準を変動させて実験することによって、因子同士の相関とその特性への影響とを解析している。
【０００３】
しかしながら、従来の「実験計画法」では、実際の実験において、過去に得られた実験結果を踏まえて、次に行う実験で使用するべき因子の水準を逐一決めるわけではない。つまり、従来の「実験計画法」は特性の追求のために、どのような実験手順を行うかという戦略を決定する方法ではない。
【０００４】
【発明が解決しようとする課題】
上述した従来の「実験計画法」において生じる問題を、一例として「免疫ペプチドの結合能の特定問題」を挙げて以下に説明する。体内のＭＨＣ（ＭａｊｏｒＨｉｓｔｏｃｏｍｐａｔｉｂｉｌｉｔｙ  Ｃｏｍｐｌｅｘ）細胞と呼ばれる細胞が、抗原の持つペプチドと呼ばれる小さい蛋白質のかけらと結合することによって、免疫系は抗原を認識していると考えられている。このため、「免疫ペプチドの結合能の特定問題」は、医学、特に免疫学の分野における最重要問題の一つである。
【０００５】
例えば、ある蛋白質が長さ１０のアミノ酸配列（以下、ペプチドと呼ぶ）と結合するとし、この時、アミノ酸配列に依存して結合能が変わるとする。どのようなペプチドがこの蛋白質に対して結合能が高いのかを仮に生化学実験を行って知ろうとすれば、長さ１０のペプチドを全種類生成し、それぞれの結合能を測定する実験を行うという手順を経る必要がある。
【０００６】
しかしながら、アミノ酸の種類は２０なので、長さ１０のペプチドに対しては、２０10の組合せが存在することになる。これら全ての配列に対する結合能のデータを生化学実験から得るのは到底不可能である。
【０００７】
つまり、より一般的に述べれば、変数ｘと、それに対応するラベル（出力）ｙのデータとから、ｘとｙとの関係を表現する関数ｆ（ｙ＝ｆ（ｘ））を知りたい時、変数ｘの取り得る範囲が非常に広く、全てのｘに対してｆ（ｘ）の値を実験的に求めることは現実的に不可能な場合が多々存在する。このような場合、従来の「実験計画法」によれば、現実には実行不可能な数の実験を行わなければ解析を行うができない、すなわち、実際には解析することができないことになる。
【０００８】
このように、従来、過去に得られたデータ（ｘ，ｙ）から次の実験すべき入力候補データを決めながら関数ｆを推定していくための精度の良い方法が知られておらず、そのような方法が待望されている。
【０００９】
そこで、本発明の目的は上記の問題点を解消し、入出力データが連続的な値の時に、対象となる全試行の遂行が事実上不可能な実験を行う際に、少ない実験回数で目的関数の推定を行うことができる能動学習システム及びそれに用いる能動学習法並びにそのプログラムを提供することにある。
【００１０】
【課題を解決するための手段】
本発明による能動学習システムは、選択した入出力のデータを基に、入出力データ間に少なくとも近似的に成り立つ関数関係の推定を行う能動学習法を実行する能動学習システムであって、
過去の入出力データから一定の表現形を用いて関数関係を推定しかつ予め定められた単一及び複数種類のうちのいずれかの複数の学習アルゴリズムを下位アルゴリズムとして用いて前記下位アルゴリズムに次入力データを選択する時点までの入出力データを訓練データとして学習させる学習手段と、
前記学習手段各々のアルゴリズムから得られた複数の仮説から得られる最終仮説を用いて複数の入力候補データに対する関数値の予測を行う関数予測手段と、前記学習された複数の仮説の予測値の分散を使った関数の値を基に前記入力候補データの中から入力データを選択する入力データ指定手段とを備えている。
【００１１】
本発明による他の能動学習システムは、選択した入出力のデータを基に、入出力データ間に少なくとも近似的に成り立つ関数関係の推定を行う能動学習法を実行する能動学習システムであって、
過去の入出力データから一定の表現形を用いて関数関係を推定しかつ予め定められた単一及び複数種類のうちのいずれかの複数の学習アルゴリズムを下位アルゴリズムとして用いて前記下位アルゴリズムに次入力データを選択する時点までの入出力データを訓練データとして学習させる学習手段と、
データのリサンプリングを繰り返すことによって受動的な学習アルゴリズムの精度を向上させるブースティング技術によって前記学習手段の学習精度を向上させるブースティング手段と、
前記ブースティング手段によって得られる最終仮説を用いて複数の入力候補データに対する関数値の予測を行う関数予測手段と、
前記学習された複数の仮説の予測値の分散を使った関数の値を基に前記入力候補データの中から入力データを選択する入力データ指定手段とを備えている。
【００１２】
本発明による能動学習法は、選択した入出力のデータを基に、入出力データ間に少なくとも近似的に成り立つ関数関係の推定を行う能動学習法であって、
過去の入出力データから一定の表現形を用いて関数関係を推定しかつ予め定められた単一及び複数種類のうちのいずれかの複数の学習アルゴリズムを下位アルゴリズムとして用いて前記下位アルゴリズムに次入力データを選択する時点までの入出力データを訓練データとして学習させる学習段階と、
前記学習段階各々のアルゴリズムから得られた複数の仮説から得られる最終仮説を用いて複数の入力候補データに対する関数値の予測を行う関数予測段階と、
前記学習された複数の仮説の予測値の分散を使った関数の値を基に前記入力候補データの中から入力データを選択する入力データ指定段階とを備えている。
【００１３】
本発明による他の能動学習法は、選択した入出力のデータを基に、入出力データ間に少なくとも近似的に成り立つ関数関係の推定を行う能動学習法であって、
過去の入出力データから一定の表現形を用いて関数関係を推定しかつ予め定められた単一及び複数種類のうちのいずれかの複数の学習アルゴリズムを下位アルゴリズムとして用いて前記下位アルゴリズムに次入力データを選択する時点までの入出力データを訓練データとして学習させる学習段階と、
データのリサンプリングを繰り返すことによって受動的な学習アルゴリズムの精度を向上させるブースティング技術によって前記学習段階の学習精度を向上させるブースティング段階と、
前記ブースティング段階によって得られる最終仮説を用いて複数の入力候補データに対する関数値の予測を行う関数予測段階と、
前記学習された複数の仮説の予測値の分散を使った関数の値を基に前記入力候補データの中から入力データを選択する入力データ指定段階とを備えている。
【００１４】
本発明による能動学習法のプログラムは、選択した入出力のデータを基に、入出力データ間に少なくとも近似的に成り立つ関数関係の推定を行う能動学習法のプログラムであって、コンピュータに、過去の入出力データから一定の表現形を用いて関数関係を推定しかつ予め定められた単一及び複数種類のうちのいずれかの複数の学習アルゴリズムを下位アルゴリズムとして用いて前記下位アルゴリズムに次入力データを選択する時点までの入出力データを訓練データとして学習させる学習処理と、前記学習処理各々のアルゴリズムから得られた複数の仮説から得られる最終仮説を用いて複数の入力候補データに対する関数値の予測を行う関数予測処理と、前記学習された複数の仮説の予測値の分散を使った関数の値を基に前記入力候補データの中から入力データを選択する入力データ指定処理とを実行させている。
【００１５】
本発明による他の能動学習法のプログラムは、選択した入出力のデータを基に、入出力データ間に少なくとも近似的に成り立つ関数関係の推定を行う能動学習法のプログラムであって、コンピュータに、過去の入出力データから一定の表現形を用いて関数関係を推定しかつ予め定められた単一及び複数種類のうちのいずれかの複数の学習アルゴリズムを下位アルゴリズムとして用いて前記下位アルゴリズムに次入力データを選択する時点までの入出力データを訓練データとして学習させる学習処理と、データのリサンプリングを繰り返すことによって受動的な学習アルゴリズムの精度を向上させるブースティング技術によって前記学習処理の学習精度を向上させるブースティング処理と、前記ブースティング処理によって得られる最終仮説を用いて複数の入力候補データに対する関数値の予測を行う関数予測処理と、前記学習された複数の仮説の予測値の分散を使った関数の値を基に前記入力候補データの中から入力データを選択する入力データ指定処理とを実行させている。
【００１６】
すなわち、本発明の能動学習システムは、上述した課題を解決するために、連続入出力データ用の能動学習を用いた実験計画法を提案している。つまり、本発明の能動学習システムでは、受動的な学習アルゴリズムの精度を、データのリサンプリングを繰り返すことによって向上させる手法である「ブースティング」技術を、能動学習の有力手法の一つである集団質問学習と適切に組合せることで、精度の高い能動学習を実現し、実験計画の立案に適用する。
【００１７】
上記のように、本発明の能動学習システムでは、入力と出力との間に正確にまたは近似的に成り立つ関数関係について、実験によって得られる入出力データを基に推定を行う実験計画法において、過去の入出力データから一定の表現形を用いて関数関係を推定する予め定められた学習アルゴリズムを下位アルゴリズムとして用い、下位アルゴリズムに当該時点までの入出力データを訓練データとして学習させる学習段階と、学習段階の学習精度をブースティング技術によって向上させるブースティング段階と、ブースティング段階によって複数の仮説の重み付き平均として得られる最終仮説を用いて複数の入力候補データに対する関数値の予測を行う関数値予測段階と、複数の仮説の予測値の分散を使った関数の値を基に入力候補データを入力として選択する入力データ指定段階とを行うことを特徴とする実験計画法が得られる。
【００１８】
言い換えると、本発明の能動学習システムは、実験によって得られる入出力データを基に入力と出力との間に成り立つ関数関係を推定する実験計画法において、受動学習によって過去のデータから仮説を推定する仮説推定段階と、仮説に基づいて次の入力候補データを指示する入力データ指定段階と、入力候補データに対する関数値を実験によって求める実験段階と、入力候補データ及び関数値を過去のデータに追加するデータ更新段階とを含むことを特徴とする実験計画法が得られる。この場合、上記の各段階は次の実験の入力データを選択する各時点で、つまり関数関係の推定が終了するまで、次の実験の入力データを選択する毎に実行される。
【００１９】
ここで、仮説推定段階においてはブースティングを用いることが好ましい。また、入力データ指定段階は過去のデータにない複数の入力候補データを生成する入力候補データ生成段階と、仮説に基づいて複数の入力候補データから次の入力候補データを選択する入力候補データ選択段階とからなる。
【００２０】
また、本発明の能動学習システムでは、入力と出力との間に正確にまたは近似的に成り立つ関数関係について、実験によって得られる入出力データを基に推定を行う実験計画プログラムにおいて、過去の入出力データから一定の表現形を用いて関数関係を推定する任意の学習アルゴリズムを下位アルゴリズムとして用い、下位アルゴリズムに当該時点までの入出力データを訓練データとして学習させる学習処理と、学習処理の学習精度をブースティング技術によって向上させるブースティング処理と、ブースティング処理によって精度が高められた複数の仮説の予測値の分散を使った関数の値を基に入力候補データを入力として選択する入力データ指定処理とをコンピュータに実行させている。
【００２１】
言い換えると、本発明の能動学習システムでは、実験によって得られる入出力データを基に入力と出力との間に成り立つ関数関係を推定する実験計画プログラムにおいて、受動学習によって過去のデータから仮説を推定する仮説推定処理と、仮説に基づいて次の入力候補データを指示する入力候補データ指示処理と、入力候補データに対する関数値を実験によって求める実験処理と、入力候補データ及び関数値を過去のデータに追加するデータ更新処理とをコンピュータに実行させている。この場合、上記の各段階は次の実験の入力点を選択する各時点で、つまり関数関係の推定が終了するまで、次の実験の入力を選択する毎に実行される。
【００２２】
ここで、仮説推定処理はブースティング処理を含むことが好ましい。また、入力候補データ処理は、過去のデータにない複数の入力候補データを生成する入力候補データ生成処理と、仮説に基づいて複数の入力候補データから次の入力候補データを選択する入力候補データ選択処理とからなる。
【００２３】
本発明の「実験計画法」は、上記の従来の「実験計画法」に対し、従来の「実験計画法」の表現を用いると、次のようになる。すなわち、本発明の「実験計画法」は、因子を入力として特性を出力とするような関数ｆを推定する際に、結果を知りたい実験の因子の水準を逐一指定することによって、少ない実験回数で関数ｆを推定する方法である。さらに、表現を一般化すると、入力ｘとそのラベル（出力）ｙとの関係を表す関数（仮説）ｆ（ｙ＝ｆ（ｘ））を効率良く推定するために行う実験の順序を計画することを指す。
【００２４】
本発明では上記の実験計画法を能動学習によって実現する。能動学習とは、例えば、安倍と中村による解説「能動学習概要」（「情報処理」３８巻７号、５５８−５６１頁、１９９７年発行）等に記載されているように、学習者が環境から選択的に情報を獲得し、学習する方法を指す。
【００２５】
能動学習の手法としては、多くの方法が提案されている。例えば、チャロナー（Ｃｈａｌｏｎｅｒ）とベルディネリィ（Ｖｅｒｄｉｎｅｌｌｉ）との論文「ベイジアンエクスペリメンタルデザイン：アレビュー」（Ｂａｙｅｓｉａｎ  ｅｘｐｅｒｉｍｅｎｔａｌ  ｄｅｓｉｇｎ：ａＲｅｖｉｅｗ）（「スタティスティカルサイエンス」（Ｓｔａｔｉｓｔｉｃａｌ  Ｓｃｉｅｎｃｅ），第１０巻，２７３−３０４頁，１９９５年発行）では、ベイズ決定理論に基づく能動学習手法が提案されている。
【００２６】
また、バウム（Ｂａｕｍ）の論文「ニューラルネットアルゴリズムズザットラーンインポリノミアルタイムフロムイグザンプルズアンドクエリーズ」（Ｎｅｕｒａｌｎｅｔ  ａｌｇｏｒｉｔｈｍｓ  ｔｈａｔ  ｌｅａｒｎ  ｉｎｐｏｌｙｎｏｍｉａｌ  ｔｉｍｅ  ｆｒｏｍ  ｅｘａｍｐｌｅｓ  ａｎｄ  ｑｕｅｒｉｅｓ）（「アイトリプルイートランザクションズオンニューラルネットワークス」（ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ），第２巻，５−１９頁，１９９１年発行）では、過去の学習データから境界点と推定される点を新たな入力候補データとする学習方法が提案されている。
【００２７】
これらの手法と共に、データ効率性を実現するための「集団質問学習」と呼ばれる学習方法が提案されており、有力な能動学習手法の一つとされている。代表的な集団質問学習手法としては、セング（Ｓｅｕｎｇ）らの論文「クエリーバイコミッティ」（Ｑｕｅｒｙ  ｂｙ  Ｃｏｍｍｉｔｔｅｅ）（「プロシーディングスオブザフィフスアニュアルエーシーエムワークショップオンコンピュテーショナルラーニングセオリー（Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ｆｉｆｔｈａｎｎｕａｌ  ＡＣＭ  ｗｏｒｋｓｈｏｐ  ｏｎ  ｃｏｍｐｕｔａｔｉｏｎａｌ  ｌｅａｒｎｉｎｇ  ｔｈｏｅｒｙ）」の予稿集，２８７−２９４頁，１９９２年発行）に記載された方法がある。この方法ではランダム化された複数の学習者に予測をさせ、その不一致度が最大の点を新たな入力候補データとし、学習を行っている。
【００２８】
一方、能動学習をしない学習は受動学習と呼ばれる。受動学習において、学習者は環境から情報を選択的に得ることはなく、所与の大量のデータからデータに内在する規則（仮説）を推定する。受動学習において、近年、与えられたデータからそれまでの仮説が不得意とするデータ領域を重点的に学習させるようにリサンプリングを繰り返すことによって学習精度を向上させる「ブースティング」と呼ばれる技術が注目されており、実験的にも高い性能を有することが確かめられてきている。
【００２９】
「ブースティング」の手法については、フロインド（Ｆｒｅｕｎｄ）とシャピレ（Ｓｈａｐｉｒｅ）との論文「アデシジョンセオレティックジェネラライゼーションオブオンラインラーニングアンドアンアプリケーショントゥーブースティング」（Ａ  ｄｅｃｉｓｉｏｎ−ｔｈｅｏｒｅｔｉｃ  ｇｅｎｅｒａｌｉｚａｔｉｏｎ  ｏｆ  ｏｎ−ｌｉｎｅ  ｌｅａｒｎｉｎｇ  ａｎｄ  ａｎａｐｐｌｉｃａｔｉｏｎ  ｔｏ  ｂｏｏｓｔｉｎｇ）（「プロシーディングスオブザセカンドヨーロピアンコンファレンスオンコンピュテーショナルラーニングセオリー（Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ｓｅｃｏｎｄ  ｅｕｒｏｐｅａｎ  ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  ｃｏｍｐｕｔａｔｉｏｎａｌ  ｌｅａｒｎｉｎｇ  ｔｈｏｅｒｙ）」の予稿集，２３−３７頁，１９９５年発行）に記載されている。
【００３０】
さらに、フロインド（Ｆｒｅｕｎｄ）とシャピレ（Ｓｈａｐｉｒｅ）との論文「エクスペリメンツウィズアニューブースティングアルゴリズム」（Ｅｘｐｅｒｉｍｅｎｔｓ  ｗｉｔｈ  ａ  ｎｅｗ  ｂｏｏｓｔｉｎｇ  ａｌｇｏｒｉｔｈｍ）（「プロシーディングスオブザサーティーンスインターナショナルコンファレンスオンマシンラーニング（Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ｔｈｉｒｔｅｅｎｔｈ  ｉｎｔｅｒｎａｔｉｏｎａｌ  ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  ｍａｃｈｉｎｅ  ｌｅａｒｎｉｎｇ）」の予稿集，１４８−１５６頁，１９９６年発行）においては、受動学習における「ブースティング」技術が、そこそこの学習性能を持つ学習アルゴリズムを使用し、任意の学習精度を持つ学習アルゴリズムを構成するという、優位性を実験的に示している。
【００３１】
しかしながら、ブースティング技術は、受動学習でのみ使用されており、能動学習にはまだ適用されていない。すなわち、能動学習においては、リサンプリングを繰り返すといった「ブースティング」技術特有の考え方はこれまで無く、この技術を能動学習の枠組で使用する方法は提案されていない。
【００３２】
また、能動学習としては、特開平１１−３１６７５４号公報に開示された技術が既に知られている。ところが、この能動学習法では、その特長として、重みの総和が最大の出力値の重み和と、重みの総和とが次に大きい出力値の重みの総和との差が最も小さい点を入力候補点とし、それらの中から入力として選択することをあげているが、この手法は出力値がある特定の離散的な数値だけを対象としている。本発明は連続的な値の場合の課題の解決手法に、分散の関数を使っている点が最大の特徴で、特開平１１−３１６７５４号公報に開示された技術とは異なる。
【００３３】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して説明する。図１は本発明の実施の形態による能動学習のアルゴリズムの流れを示すための図であり、図２は本発明の実施の形態による能動学習機械の構成を示すブロック図である。
【００３４】
図１において、ブースティング装置１は学習予測誤差計算手段１１と、データ分布更新手段１２と、判定手段１３とを備え、関数計算手段２１と、入力候補データ選択手段２２と、関数値入力手段２３と、データ更新手段２４と、判定手段２５と、実験シミュレーション３０とを含む装置と、入力手段１００とに接続されている。尚、上記の各手段をステップに置き換えることで、プログラムによって実現することも可能である。
【００３５】
図２において、能動学習機械４は前処理装置４１と、下位学習機械４２１〜４２Ｎからなる下位学習機械装置４２と、仮説・予測値記憶領域４３１〜４３Ｎを持つ仮説・予測値記憶装置４３と、後処理装置４４と、上記の各装置をコンピュータで実現する際にそのコンピュータで実行させるプログラムを記録する記録媒体４５とから構成されている。
【００３６】
これら図１及び図２を用いて本発明の実施の形態による実験計画法について説明する。本実施の形態では、まず、入力手段１００において、初期データ、そのデータの初期分布を入力する。
【００３７】
次に、能動学習における質問の繰り返しに入るが、繰り返しの最初の部分は、ブースティング装置１の処理で実行される。その処理は能動学習機械４において前処理装置４１と下位学習機械４２とで行われる。
【００３８】
ブースティング装置１においても、学習予測誤差計算手段１１とデータ分布更新手段１２と判定手段１３とによってデータのリサンプリングが繰り返される。まず、ブースティング装置１では学習予測誤差計算手段１１において、下位学習アルゴリズムを使用して現在のデータからの学習が行われ、学習結果として仮説を得る。下位学習アルゴリズムは回帰木等、連続値を扱うもの学習アルゴリズムならどんなものでもよい。その結果は仮説・予測値記憶装置４３に出力される。
【００３９】
さらに、学習予測誤差計算手段１１において、仮説から現在のデータへの予測値を計算し、予測値から誤差を計算する。次に、データ分布更新手段１２において、学習予測誤差計算手段手段１１で得られた誤差から、データのリサンプリング分布を更新する。
【００４０】
最後に、判定手段１３において、リサンプリング回数が一定値に達していれば、ブースティング装置１による処理を終了し、そうでなければ学習予測誤差計算手段１１に戻り、上述した処理を繰り返しを行う。
【００４１】
また、ブースティング装置１の処理の反復回数は１回であってもよい。その時、データ分布更新手段１２のデータ分布の更新と判定手段１３の条件判断文、判定手段１３から学習予測誤差計算手段１１に戻るループは必要なくなる。つまり、ブースティング処理なしの下位学習処理となる。
【００４２】
関数計算手段２１では学習された複数の仮説の予測値の分散を使った関数の値を計算する。入力候補データ選択手段２２では関数計算手段２１による計算結果から得られた分散を使った関数の値を基に入力候補データの選択を行い、この入力候補データを実験者による実験（実験シミュレーション３０）に対する新しい実験として指示する。
【００４３】
関数値入力手段２３では実験者による実験（実験シミュレーション３０）によって試された入力候補データの関数値を受け取る。データ更新手段２４では得られた入力候補データとその関数値とを過去のデータに加える。最後に、判定手段２５において、質問回数が一定値に達していれば、能動学習を終了する。この時点で得られる仮説を最終仮説として出力する。
【００４４】
以上、本発明の実施の形態について説明したが、本発明はこれに限定されるものではなく、当業者の通常の知識の範囲内でその変更や改良が可能であることは明らかである。
【００４５】
図３は本発明の第１の実施例による能動学習システムの構成を示すブロック図である。図３において、能動学習システム５は能動学習機械４と、過去の入出力を記憶する記憶装置［実験結果データベース（属性値と結果）］６とを備えている。
【００４６】
ここで、能動学習機械４は上述した本発明の実施の形態の能動学習機械４と同様の動作を行う。尚、能動学習システム５は図２に示す能動学習機械４と入出力が同じであるが、外部に記憶装置を必要としないシステムを構築することができる。
【００４７】
図４は本発明の第２の実施例による能動学習システムの構成を示すブロック図である。図４において、本発明の第２の実施例による能動学習システムは能動学習機械４を組入れたシステムの一例である。
【００４８】
能動学習機械４のシステムによって出力された次の入力候補を、人手による実験・シミュレーション計算７で実験者が実際に実験を行い、その入力候補と実験結果との組を記憶装置６に記憶する。また、能動学習機械４はそれを訓練データとして学習を行い、次の入力候補を出力する。
【００４９】
上記のような操作を繰返し行うことで、実験者は能動学習機械４の指示に従えば、無数にある実験対象の中から効率よく実験対象を選ぶことができるようになり、目的に添った実験を効率よく行うことができるようになる。
【００５０】
図５は本発明の第３の実施例による能動学習システムの構成を示すブロック図である。図５において、能動学習システム５は能動学習機械４に記憶装置６を組み合わせたシステムである。
【００５１】
本実施例では本発明の第２の実施例において必要であった記憶装置６が能動学習システム５の外部に必要なくなり、場所の低減化やデータベース・能動学習機械間のデータの転送時間を減らすことができる。
【００５２】
図６は本発明の第４の実施例による能動学習システムの構成を示すブロック図である。図６において、本発明の第４の実施例による能動学習システムは能動学習機械４を組入れたシステムの一例である。能動学習機械４のシステムによって出力された次の入力候補に対応したシミュレーションをシミュレータ８が自動的に行い、その入力候補とシミュレーション結果との組を記憶装置６に記憶する。
【００５３】
さらに、能動学習機械４はそれを訓練データとして学習を行い、次の入力候補を出力する。このような操作を繰返し行うことで、無数にある実験対象の中から効率よく実験対象を選ぶことができるようになる上、利用者は入力候補データの属性とその結果値との組合せ方だけを与えおけば、目的に添った実験を自動的に行うことができるようになる。但し、この能動学習システムではユーザがシミュレータ８等に必要なシステム（例えば、コンピュータやシミュレーションを行うための装置）を準備しておく必要がある。
【００５４】
図７は本発明の第５の実施例による能動学習システムの構成を示すブロック図である。図７において、能動学習システム５は能動学習機械４に記憶装置６を組込んで構成されている。
【００５５】
この能動学習システム５を用いることによって、上述した本発明の第４の実施例において必要であった記憶装置６がシステムの外部に必要なくなり、場所の低減化や記憶装置６と能動学習機械４との間のデータ転送時間を減らすことができる。
【００５６】
図８は本発明の第６の実施例による能動学習システムの構成を示すブロック図である。図８において、能動学習システム９は能動学習機械４にシミュレータ８を組込んで構成されている。この能動学習システム９ではシステムの目的が限定されてしまうものの、システム利用者は記憶装置６だけを準備しておけばよく、上述した本発明の第５の実施例に比べてシミュレータ８等の外部システムを準備する手間を減らすことができる。
【００５７】
図９は本発明の第７の実施例による能動学習システムの構成を示すブロック図である。図９において、能動学習システム１０は能動学習機械４にシミュレータ８と記憶装置６とを組込んで構成されている。このようなシステムにすることによって、利用者の負担は上述した本発明の第１〜第６の実施例に比べて激減し、人は入力候補データの属性とその結果値との組合せ方だけを与えおけば、目的に添った実験を自動的に行うことができるようになる。
【００５８】
図１０は本発明の第８の実施例による能動学習機械の構成を示すブロック図である。図１０において、本発明の第８の実施例は前処理装置４１と下位学習機械装置４２との間に下位学習機械装置４２の入力データ生成機械装置４６を設けた以外は図２に示す本発明の第１の実施例による能動学習機械４と同様の構成となっており、同一構成要素には同一符号を付してある。
【００５９】
入力データ生成機械装置４６は入力データ生成機械４６１〜４６Ｎからなり、記憶装置６に蓄えられたデータに加工を加えて下位学習機械装置４２に供給しているので、下位学習機械装置４２が入力データ生成機械装置４６から与えられるデータで学習することが可能となり、より幅の広い問題に適用することが可能になる。
【００６０】
このように、本発明では、受動学習において、ほどほどの精度を挙げることが可能な学習アルゴリズムであれば任意の精度にまで予測精度を向上させることが可能なブースティング技術を、能動学習の手法である集団質問学習と適切な方法とによって組合せることによって、精度の高い能動学習手法を実現することができる。
【００６１】
また、本発明では、実験の数が多いあるいは一回の試行の負担が大きいために、現実的にすべての試行を行うことが不可能な実験に対して、上述した方法を実験計画の立案に適用することによって、効率的でかつ精度の高い実験計画の実現が可能となる。
【００６２】
【発明の効果】
以上説明したように本発明の能動学習システムは、選択した入出力のデータを基に、入出力データ間に少なくとも近似的に成り立つ関数関係の推定を行う能動学習法を実行する能動学習システムにおいて、過去の入出力データから一定の表現形を用いて関数関係を推定しかつ予め定められた単一及び複数種類のうちのいずれかの複数の学習アルゴリズムを下位アルゴリズムとして用いて下位アルゴリズムに次入力データを選択する時点までの入出力データを訓練データとして学習させる学習手段と、学習手段各々のアルゴリズムから得られた複数の仮説から得られる最終仮説を用いて複数の入力候補データに対する関数値の予測を行う関数予測手段と、学習された複数の仮説の予測値の分散を使った関数の値を基に入力候補データの中から入力データを選択する入力データ指定手段とを設けることによって、入出力データが連続的な値の時に、対象となる全試行の遂行が事実上不可能な実験を行う際に、少ない実験回数で目的関数の推定を行うことができるという効果が得られる。
【００６３】
また、本発明の他の能動学習システムは、選択した入出力のデータを基に、入出力データ間に少なくとも近似的に成り立つ関数関係の推定を行う能動学習法を実行する能動学習システムにおいて、過去の入出力データから一定の表現形を用いて関数関係を推定しかつ予め定められた単一及び複数種類のうちのいずれかの複数の学習アルゴリズムを下位アルゴリズムとして用いて下位アルゴリズムに次入力データを選択する時点までの入出力データを訓練データとして学習させる学習手段と、データのリサンプリングを繰り返すことによって受動的な学習アルゴリズムの精度を向上させるブースティング技術によって学習手段の学習精度を向上させるブースティング手段と、ブースティング手段によって得られる最終仮説を用いて複数の入力候補データに対する関数値の予測を行う関数予測手段と、学習された複数の仮説の予測値の分散を使った関数の値を基に入力候補データの中から入力データを選択する入力データ指定手段とを設けることによって、入出力データが連続的な値の時に、対象となる全試行の遂行が事実上不可能な実験を行う際に、少ない実験回数で目的関数の推定を行うことができるという効果が得られる。
【図面の簡単な説明】
【図１】本発明の実施の形態による能動学習のアルゴリズムの流れを示すための図である。
【図２】本発明の実施の形態による能動学習機械の構成を示すブロック図である。
【図３】本発明の第１の実施例による能動学習システムの構成を示すブロック図である。
【図４】本発明の第２の実施例による能動学習システムの構成を示すブロック図である。
【図５】本発明の第３の実施例による能動学習システムの構成を示すブロック図である。
【図６】本発明の第４の実施例による能動学習システムの構成を示すブロック図である。
【図７】本発明の第５の実施例による能動学習システムの構成を示すブロック図である。
【図８】本発明の第６の実施例による能動学習システムの構成を示すブロック図である。
【図９】本発明の第７の実施例による能動学習システムの構成を示すブロック図である。
【図１０】本発明の第８の実施例による能動学習機械の構成を示すブロック図である。
【符号の説明】
１  ブースティング装置
４，４０  能動学習機械
５，９，１０  能動学習システム
６  記憶装置
７  実験・シミュレーション計算
８  シミュレータ
１１  学習予測誤差計算手段
１２  データ分布更新手段
１３  判定手段
２１  関数計算手段
２２  入力候補データ選択手段
２３  関数値入力手段
２４  データ更新手段
２５  判定手段
３０  実験シミュレーション
４１  前処理装置
４２  下位学習機械装置
４３  仮説・予測値記憶装置
４４  後処理装置
４５  記録媒体
４６  入力データ生成機械装置
１００  入力手段
４２１〜４２Ｎ  下位学習機械
４３１〜４３Ｎ  仮説・予測値記憶領域
４６１〜４６Ｎ  入力データ生成機械
【図１】
2005258480.tif 000003
【図２】
2005258480.tif 000004
【図３】
2005258480.tif 000005
【図４】
2005258480.tif 000006
【図５】
2005258480.tif 000007
【図６】
2005258480.tif 000008
【図７】
2005258480.tif 000009
【図８】
2005258480.tif 000010
【図９】
2005258480.tif 000011
【図１０】
2005258480.tif 000012