ワームス(Warmuth)著 「サポートベクタマシン フォア アクティブ ラーニング イン ザ ドラッグ ディスカバリー プロセス(Support Vector Machines for Active Learning in the Drug Discovery Process)」、2003年発行の論文誌「ジャーナル オブ ケミカル インフォメーション サイエンス(Journal of Chemical InformationSciences)」、43巻2号、pp.667−673
安倍直樹、馬見塚拓著 「クエリー ラーニング ストラテジーズ ユージング ブースティング アンド バギング(Query Learning Strategies using Boosting and Bagging)」、1998年発行の国際会議予稿集「プロシーディングス オブ ザ フィフィーンス インターナショナル コンフェレンス オン マシン ラーニング(Proceedings of The 15-th International Conference on Machine Learning)」、pp.1―9
ブライマン(Breiman)著 「バギング プレディクターズ(Bagging Predictors)」、 1996年発行の論文誌「マシンラーニング(Machine Learning)」、24巻2号、pp.123−140
フロインド(Freund)とシャピレ(Shapire)著 「ア ディシジョン セオレティック ジェネラライゼーション オブ オンライン ラーニング アンド アンアプリケーション トゥー ブースティング(A decision -thoretic generalization of on-line learning and an application to boosting)」 1995年発行の国際会議予稿集「プロシーディングス オブ セカンド ヨーロピアン コンファランス オン コンピューテーショナル ラーニング セオリー(Proceedings of the second European conference on computational learning theory)」、pp.23―37
従来の能動学習システムの問題点は、既知データ中に様々なラベル値のデータが存在していることが前提であり、或るラベル値(所望ラベル値)のデータ(所望データ)が全く存在しないか、ごく僅かしか存在しない場合、システムを起動させても所望ラベル値を効率的に学習できないことである。
その理由は、既知データ中に、所望データが全く存在しないか、ごく僅かしか存在しない場合、学習アルゴリズムは、任意のデータに対して所望ラベル値以外の値と予測するルールを生成しがちになり、所望データに対しても所望ラベル値以外と予測され、ランダムに選択するのと実質的に何ら変わりがなくなるためである。例えば、ラベルの値が2値{A,B}の場合、既知データ中に、ラベルAのデータが全く存在しない場合には、常にラベルBと予測するルールが生成され、その予測結果に基づいてデータを選択しても、選択されたデータはランダムに選択したデータと実質的に何ら変わりがない。また、ラベルの値が3値{A,B,C}で、3つのラベルが独立の事象を示す時、既知データ中に、ラベルAのデータが全く存在しないか、ごく僅かしか存在しない場合には、任意のデータに対して、ラベルBまたはCと予測するルールが生成されがちであり、ラベルAを持つ所望データは、意味のあるルールで予測されず、ランダムに選択されるだけであり、ラベルAは効率的に学習されないからである。ラベルの値が連続値の場合も、或る範囲のラベル値を所望ラベル値と考えれば、同様であり、所望ラベル値を効率的に学習できない。
その理由は、従来の能動学習システムでは、学習にラベルが明らかになった既知データを用いており、既知データ以外の利用者の補助的な知識をシステムで用いることができないからである。利用者は、領域に対する背景知識や特許・文献などの補助知識を持っている場合がある。例えば、創薬におけるスクリーニングで、活性あり化合物と活性なし化合物とを学習する場合、文献などの補助情報から、活性がありそうな化合物が分かるが、手元にその化合物が無いために実験で活性の有無を確かめられない場合、そのような活性のありそうな化合物は、既知データでもなく未知データでもないため、従来の能動学習システムでは扱うことができない。そのため、活性のありそうな化合物の情報を用いて、より効率的に学習することができない。また、スクリーニングで、活性あり化合物と活性なし化合物とを学習する場合、活性なし化合物に分類されるが、それ以外の活性なし化合物に比べて僅かだが活性のある化合物があった場合、そのような僅かな活性あり化合物は、従来の能動学習システムでは既知データの中の活性なし化合物に分類してしか用いることができない。そのため、僅かに活性があるという情報を用いて、より効率的に学習することができない。
本発明の目的は、既知データ中に或るラベル値付近(所望ラベル値)のデータ(所望データ)が全く存在しないか、ごく僅かしか存在しない場合にも、効率的な学習をすることができる能動学習システムを提供することにある。
本発明は、第1の態様において、ラベルの値が未知のデータについてラベルの値が所定の値であるデータとの類似度を計算し、該計算した類似度に基づいて次に学習するデータを選択する第1のデータ選択部と、ラベルの値が既知のデータに基づいてルールを学習し、該学習したルールをラベルの値が未知のデータの集合に適用して次に学習するデータを選択する第2のデータ選択部とを備えることを特徴とする能動学習システムを提供する。
本発明は、第2の態様において、1以上の記述子と1以上のラベルとで構成されるデータのうち、所望ラベルの値を既知とした既知データの集合と前記所望ラベルの値を未知とした未知データの集合とを記憶する記憶部と、前記記憶部に記憶された既知データの集合から前記所望ラベルの値が所定値を持つデータを所定データとして選択し、前記各未知データ毎に前記所定データとの類似度を計算し、該計算した類似度に基づいて次に学習すべきデータを前記未知データの集合から選択する第1のデータ選択動作と、前記記憶部に記憶された既知データに基づいて任意のデータの記述子の入力に対してそのデータの前記所望ラベルの値を計算するルールを学習し、該学習したルールを前記未知データの集合に適用して各未知データの前記所望ラベルの値を予測し、該予測結果に基づいて次に学習すべきデータを前記未知データの集合から選択する第2のデータ選択動作とのうち、指定された側の動作を行うデータ選択手段と、前記データ選択手段で選択されたデータを出力装置から出力し、前記所望ラベルの値が入力装置から入力されたデータを前記未知データの集合から取り除いて前記既知データの集合に追加する制御手段とを備えることを特徴とする能動学習システムを提供する。
本発明は、第3の態様において、1以上の記述子と1以上のラベルとで構成されるデータのうち、所望ラベルの値を既知とした既知データの集合と前記所望ラベルの値を未知とした未知データの集合と既知データまたは未知データの所望ラベルの値を書き換えた補助データの集合とを記憶する記憶部と、前記記憶部に記憶された既知データの集合と補助データの集合とから計算用データを生成し前記記憶部に記憶する計算用データ生成手段と、前記記憶部に記憶された計算用データの集合から前記所望ラベルの値が所定値を持つデータを所定データとして選択し、前記各未知データ毎に前記所定データとの類似度を計算し、該計算した類似度に基づいて次に学習すべきデータを前記未知データの集合から選択する第1のデータ選択動作と、前記記憶部に記憶された計算用データに基づいて任意のデータの記述子の入力に対してそのデータの前記所望ラベルの値を計算するルールを学習し、該学習したルールを前記未知データの集合に適用して各未知データの前記所望ラベルの値を予測し、該予測結果に基づいて次に学習すべきデータを前記未知データの集合から選択する第2のデータ選択動作とのうち、指定された側の動作を行うデータ選択手段と、前記データ選択手段で選択されたデータを出力装置から出力し、前記所望ラベルの値が入力装置から入力されたデータを前記未知データの集合から取り除いて前記既知データの集合に追加する制御手段とを備えることを特徴とする能動学習システムを提供する。
本発明は、第4の態様において、1以上の記述子と1以上のラベルとで構成されるデータのうち、所望ラベルの値を既知とした既知データの集合と前記所望ラベルの値を未知とした未知データの集合と既知データまたは未知データの所望ラベルの値を書き換えた補助データの集合とを記憶する記憶部と、前記記憶部に記憶された既知データの集合と補助データの集合とから、重み付きの計算用データを生成し前記記憶部に記憶する計算用データ生成手段と、前記記憶部に記憶された重み付きの計算用データの集合から前記所望ラベルの値が所定値を持つデータを所定データとして選択し、前記各未知データ毎に前記所定データとの類似度をデータの重みを考慮して計算し、該計算した類似度に基づいて次に学習すべきデータを前記未知データの集合から選択する第1のデータ選択動作と、前記記憶部に記憶された重み付きの計算用データに基づいて任意のデータの記述子の入力に対してそのデータの前記所望ラベルの値を計算するルールをデータの重みを考慮して学習し、該学習したルールを前記未知データの集合に適用して各未知データの前記所望ラベルの値を予測し、該予測結果に基づいて次に学習すべきデータを前記未知データの集合から選択する第2のデータ選択動作とのうち、指定された側の動作を行うデータ選択手段と、前記データ選択手段で選択されたデータを出力装置から出力し、前記所望ラベルの値が入力装置から入力されたデータを前記未知データの集合から取り除いて前記既知データの集合に追加する制御手段とを備えることを特徴とする能動学習システムを提供する。
本発明は、第5の態様において、コンピュータを用いた能動学習方法であって、前記コンピュータが、ラベルの値が未知のデータについてラベルの値が所定の値であるデータとの類似度を計算し、該計算した類似度に基づいて次に学習するデータを選択する能動学習サイクルを1サイクル以上繰り返した後、ラベルの値が既知のデータに基づいてルールを学習し、該学習したルールをラベルの値が未知のデータの集合に適用して次に学習するデータを選択する能動学習サイクルへ移行することを特徴とする能動学習方法を提供する。
[第1の実施形態例]
図1を参照すると、本発明の第1の実施形態例にかかる能動学習システムは、利用者からの指示やデータを入力するキーボード等で構成された入力装置1と、プログラム制御により動作する処理装置2と、半導体メモリや磁気ディスク等で構成される記憶装置3〜7と、ディスプレイ装置等で構成される出力装置8とから構成されている。記憶装置3〜7は物理的に別の装置である必要はなく、同じ記憶装置を論理的に分割したものを記憶装置3〜7として使用することが可能である。
記憶装置3は、入力装置1から入力された既知データ31、未知データ32および補助データ33を記憶する。既知データ31、未知データ32および補助データ33のデータ構造の一例を図2に示す。図2を参照すると、既知データ31、未知データ32および補助データ33は、自データを一意に識別するための識別子201、1以上の記述子202および1以上のラベル203を含んで構成される。記述子202は当該データの構造などを特徴付けるものである。ラベル203は当該データの或る事象に関する状態を示し、クラスまたは関数値である。ここで、1以上のラベル203のうち、予測の対象となるラベルを所望ラベルと呼び、未知データ32にあっては所望ラベルの値は未知(未設定状態)であり、既知データ31にあっては所望ラベルの値は既知(設定済状態)になっている。補助データ33の所望ラベルの値は、既知データ31と同じく設定済状態であるが、既知データ31の所望ラベルの値が実際に確かめられた確かな値であるのに対し、補助データ33の所望ラベルの値は不確実な値である点で相違する。
補助データ33としては、所望ラベルの値が不確実なため既知データ31として扱うのには適当でないが、効率的な学習の補助として有効に利用できるデータが利用される。例えば、創薬におけるスクリーニングで、活性あり化合物と活性なし化合物とを学習する場合、利用者の有する当該領域における知識と文献などの情報とから活性がありそうな或る化合物に注目したとする。その化合物が手元にあって実験で活性の有無を確かめられれば、既知データに分類できるが、そのような実験ができない場合、既知データには分類できない。また、活性がありそうな化合物なので、未知データに分類してしまうのも勿体ない。このようなとき、本実施形態では、所望ラベルの値を活性ありに設定して補助データとして扱うことで、言わば仮の既知データとして真の既知データと明確に区別して学習に利用できるようにする。同様に、創薬におけるスクリーニングで、活性あり化合物と活性なし化合物とを学習する場合、他の活性なし化合物に比べて僅かだが活性のある化合物は、従来においては既知データ中の活性なし化合物に分類してしか用いることができなかったが、本実施形態では、所望ラベルの値を活性ありに設定した補助データとして扱うことにより、仮の既知データとして真の既知データと明確に区別して学習に利用できるようにする。
さらに、異なる事象であっても、類似している事象であれば、それらのラベルの値は或る程度同じ値をとる傾向がある点に着目して、既知データあるいは未知データの所望ラベルの値を該所望ラベルが示す事象と類似する事象の状態を示す他のラベルの値で書き換えることで、既知データまたは未知データから補助データを生成することも可能である。例えば、創薬におけるスクリーニングにおいて活性化合物を探索する例として、創薬の多くのターゲットになっているGタンパク質共役型受容体(GPCR)のうち生体アミン受容体に作用するリガンド化合物、特に生体アミン受容体ファミリーの1つであるアドレナリンに作用するリガンド化合物を探索する場合を例にすると、次のようにして既知データあるいは未知データから補助データを生成できる。まず、複数のラベルのうちラベル1がアドレナリンに対する活性の有無を示し、ラベル2がヒスタミンに対する活性の有無を示すものとする。このとき、ラベル1が活性なしあるいは未知、ラベル2が活性ありとなっている或る化合物のデータのラベル1をラベル2の活性ありに書き換えたデータを補助データとする。これは、ヒスタミンはアドレナリンと同じGPCRの生体アミン受容体のファミリーに属していること、タンパク質同士が類縁関係にあるとき、リガンド化合物もしばしば似ていることがあることを利用者が考慮したことによる。
再び図1を参照すると、記憶装置4は、入力装置1から入力された制御条件を記憶する。本実施形態の場合、制御条件は、補助条件41、予測条件42、データ選択条件43、終了条件44、出力条件45および所定ラベル値46を含む。
補助条件41は、補助データ33を計算に利用する条件であり、例えば以下のような条件を用いることができる。
補助条件A:初回から予め定めた反復回数Nまでは補助データ33を計算に利用する。
補助条件B:予め定めた数の所望データが得られるまでは補助データ33を計算に利用する。ここで、所望データとは、所望ラベルの値が所望値である既知データのことである。所望値とは、利用者にとって価値のあるラベル値のことである。例えば、創薬におけるスクリーニングで、所望ラベルが特定のタンパク質に対する活性の有無であり、利用者にとって活性ありの化合物が価値のある場合、所望値は活性ありになる。
補助条件C:既知データの一部を評価データとして残しておき、評価データ以外の既知データで計算した場合の評価データに対する予測精度が、評価データ以外の既知データおよび補助データから変換して得られた計算用データを用いた場合の評価データに対する予測精度よりも低ければ、補助データ33を利用する。
補助条件D:補助条件Cで評価データを残す代わりに、推定した予測精度を用いて、補助データ33を用いずに推定した予測精度が補助データ33を用いて推定した予測精度よりも低ければ、補助データ33を利用する。
補助条件E:補助データ33を利用するかどうかの利用者からの指示に従う。
上記の補助条件のうち、補助条件A、B、C、Dはそれぞれ単独または任意の組み合わせで指定できる。また、補助条件Eは常に考慮すべき条件として設定される。
予測条件42は、次に学習するデータの予測方法を指定する。具体的には、類似度計算により導出するか、ルールにより導出するかを指定する。
次に学習するデータをルールにより導出する方法は、従来の能動学習と同じであり、その予測方法としては従来の能動学習で用いられている手法をそのまま用いることができる。従来の能動学習で用いられる手法としては、例えば、決定木、ニューラルネットワーク、サポートベクタマシンなどによる学習や、それらを組み合わせたバギングやブースティングなどの集団学習を用いて、ルールを学習し、学習によって得られたルールを用いて未知データの所望ラベルの値を予測する手法などがある。
他方、次に学習するデータを類似度計算により導出する方法は、従来の能動学習では用いられなかった方法である。具体的には、既知データ31の集合(補助データ33を利用する場合には、既知データ31と補助データ33とから生成される計算用データの集合)から所望ラベルの値が所定値を持つすべてのデータを所定データとして選択し、未知データ32の集合中のデータ毎に所定データとの類似度を計算し、計算した類似度に基づいて次に学習すべきデータを未知データ32の集合から選択する方法である。
所定データの典型例は、所望ラベルの値が所望値であるデータ、つまり所望データである。所望データは、利用者にとって価値のあるデータであり、所望データかどうかはラベルの値で決まる。ラベルの値が2値をとる場合、一方のラベル値のデータが所望データである。例えば、創薬におけるスクリーニングで、ラベルが特定のタンパク質に対する活性の有無であり、利用者にとって活性あり化合物に価値があれば、活性あり化合物が所望データとなる。ラベルが連続値をとる場合、利用者にとって価値のある範囲のラベル値となるデータを所望データとする。例えば、ラベルが特定のタンパク質に対する活性の強さで、利用者にとって価値のあるデータが或る閾値以上の活性の強さである場合、その閾値以上の活性の強さであるデータが所望データとなる。なお、後述するように、所定ラベルの値が所望値でないデータを所定データとする場合もある。
類似度の計算は、比較する2つのデータの記述子どうしを比較して行う。具体的には、例えば記述子が全部でn個ある場合、n個の記述子どうしを比較し、例えば一致する記述子の数に応じた値を類似度とする。所定データが全部でm個存在する場合、1つの未知データをm個の所定データのそれぞれと比較する。その結果、たとえば、その中で最も高い類似度を当該未知データの類似度とする。勿論、すべての所定データとの類似度の平均値などの統計データを当該未知データの類似度としても良い。
データ選択条件43は、次に学習するデータの選択方法を指定する。次に学習するデータをルールにより導出する方法を用いる場合、集団学習での予測値が割れたデータを選択する方法や、所望するラベル値に近い予測値のデータを選択する方法や、予測値に対する或る関数を用いて選択する方法など、従来の能動学習で用いられている選択方法と同様の方法を用いることができる。他方、類似度計算により次に学習するデータを選択する方法を用いる場合、類似度の最も高いデータを選択する、あるいはその逆に類似度の最も低いデータを選択するといった選択方法を用いることができる。
終了条件44は、計算を終了する条件であり、例えば以下のような条件を用いることができる。
終了条件a:予め定めた反復回数Nを超えたら終了する。
終了条件b:予め定めた数の所望データが得られれば終了する。
終了条件c:計算用データの一部を評価データとして予測に用いずに残しておき、評価データの予測精度が予め定めた値よりも高くなれば終了する。
終了条件d:予測精度を推定し、推定した予測精度が予め定めた値よりも高くなれば終了する。
終了条件e:終了条件b、c、dの何れかにおいて、値の向上する傾き(向上曲線)が予め定めた値よりも小さくなれば終了する。
終了条件f:終了するかどうかの利用者からの指示に従う。
上記の終了条件のうち、終了条件a、b、c、d、eはそれぞれ単独または任意の組み合わせで指定できる。また、補助条件fは常に考慮すべき条件として設定される。
出力条件45は、計算の結果生成されたルール、既知データおよび所望データのうちのどれを出力するかを指定する。生成されたルール以外に既知データおよび所望データも出力できるようにした理由は、例えば、創薬におけるスクリーニングで、ラベルが特定のタンパク質に対する活性の有無である場合、利用者にとってはラベルが既知となった活性あり化合物に価値があり、出力することに意味があるためである。
所定ラベル値46は、注目するラベルとその値を指定する。典型的には、利用者にとって価値のあるデータのラベルとその値を指定するが、反対の場合もある。
記憶装置5は、既知データ31と補助データ33とから処理装置2において生成された計算用データ51を記憶する。計算用データ51の生成方法については後述する。
記憶装置6は、処理装置2において類似度計算によって選択された次に学習すべきデータ61を記憶する。記憶装置7は、処理装置2において生成されたルール71およびルール71によって選択された次に学習すべき選択データ72を記憶する。処理装置2は、初期設定手段21、計算用データ生成手段22、データ選択手段23、処理制御手段24およびデータ更新手段25を備えている。
初期設定手段21は、入力装置1から既知データ31、未知データ32および補助データ33が入力されると、それらを記憶装置3へ格納する。また、入力装置1から補助条件41、予測条件42、データ選択条件43、終了条件44、出力条件45および所定ラベル値46が入力されると、それらを記憶装置4へ格納する。既知データ31、未知データ32および補助データ33は、それぞれ独立に入力しても良いし、一括して入力することもできる。同様に、補助条件41、予測条件42、データ選択条件43、終了条件44、出力条件45および所定ラベル値46は、それぞれ独立に入力しても良いし、一括して入力することもできる。また、計算の開始から終了までの期間中に、既に入力した既知データ31、未知データ32、補助データ33、補助条件41、予測条件42、データ選択条件43、終了条件44、出力条件45および所定ラベル値46を別の入力データで置き換えることもできる。
計算用データ生成手段22は、記憶装置4から補助条件41を読み出し、記憶装置3から既知データ31および補助データ33を読み出し、計算用データ51を生成して、記憶装置5に格納する。具体的には、補助条件41の成否を判定し、補助データ33を利用する条件が成立していれば、補助データ33と、既知データ31のうち補助データ33と記述子がすべて一致するデータを除く残りのデータとを計算用データ51とする。他方、補助データ33を利用する条件が成立していなければ、既知データ31を計算用データ51とする。
データ選択手段23は、第1のデータ選択部26および第2のデータ選択部27を備え、この2つのデータ選択部26、27のうち、記憶装置4に記憶された予測条件42に応じた何れか一方を選択的に実行する。或る態様では、計算の開始時には第1のデータ選択部26を実行し、後に第2のデータ選択部27の実行に切り替わり、計算の終了まで第2のデータ選択部27を実行し続ける。また、別の態様では、計算の開始から終了まで第2のデータ選択部27を実行する。
第1のデータ選択部26は、記憶装置5から計算用データ51を読み出し、記憶装置3から未知データ32を読み出し、記憶装置4からデータ選択条件43および所定ラベル値46を読み出し、計算用データ51の集合から所定ラベル値46を持つデータを所定データとして選択し、未知データ32の集合中のデータ毎に所定データとの類似度を計算し、この計算した類似度とデータ選択条件43とに基づいて次に学習すべきデータを未知データ32の集合から選択し、選択データ61として記憶装置6に格納する。
第2のデータ選択部27は、記憶装置5から計算用データ51を読み出し、記憶装置3から未知データ32を読み出し、記憶装置4からデータ選択条件43および所定ラベル値46を読み出し、計算用データ51に基づいて任意のデータの記述子の入力に対してそのデータの所定ラベルの値を計算するルールを学習し、この学習したルールを未知データ32の集合に適用して各未知データの所定ラベルの値を予測し、この予測結果とデータ選択条件43とに基づいて次に学習すべきデータを未知データ32の集合から選択し、選択データ72として前記生成したルール71と一緒に記憶装置7に格納する。
処理制御手段24は、記憶装置4から終了条件44を読み出して終了可否を判定し、終了条件を満たしていれば、記憶装置4から読み出した出力条件45に従って、記憶装置7に格納されているルール71、記憶装置3に格納されている既知データ31、および既知データ31に含まれる所望データなどを出力装置8に出力し、処理装置2の計算処理を終了する。他方、終了条件44を満たしていなければ、第1のデータ選択部26が動作中であれば記憶装置6に格納された選択データ61、第2のデータ選択部27が動作中であれば記憶装置7に格納された選択データ72を出力装置8に出力する。そして、利用者の入力装置1の操作により、前記出力したデータのラベルの値が入力されると、入力されたラベル値を設定したデータをデータ更新手段25に渡し、処理装置2の計算処理を続行させる。
データ更新手段25は、ラベル値の設定されたデータを記憶装置3の既知データ31の集合に加え、未知データ32の集合から該当する元のデータを取り除く。
処理装置2は、終了条件44が満たされるまで、図1に破線で示される制御の流れに沿って、計算用データ生成手段22、データ選択手段23、処理制御手段24およびデータ更新手段25の処理を繰り返し実行する。
図3は本実施形態にかかる能動学習システムの全体の動作を示すフローチャートである。以下、図1乃至図3を参照して、本実施形態の動作を説明する。
処理装置2は、利用者による入力装置1からの指示等によって起動されると、図3のフローチャートに示す処理を開始する。処理装置2の初期設定手段21は、入力装置1からデータと制御条件とを入力し、データを記憶装置3に格納し、制御条件を記憶装置4に格納する(図3のステップS101)。入力されるデータは、既知データ31、未知データ32および補助データ33の3種類である。これら3種類のデータは、それぞれに分けて格納しても良いし、あるいは図2で示したようにデータにデータ番号や一意に振られたIDなどの識別子201を付けて、データを分けずに格納し、識別子201とデータ種類との対応情報を別の場所に格納しても良い。また、ラベルも対応付けを行って、記述子とは分けて格納しても良い。なお、既知データ31と補助データ33の何れか一方は空集合であっても構わない。既知データ31が空集合の場合、計算用データ51は補助データのみとなる。
また入力される制御条件は、補助条件41、予測条件42、データ選択条件43、終了条件44、出力条件45および所定ラベル値46を含む。これらは全てが必須の制御条件ではなく、必要に応じて省略可能なものもある。例えば、所定ラベル値46は、他の制御条件の何れかにおいて所定ラベル値や所定データが用いられない場合には省略することができる。また、図3のフローチャートには示されていないが、各制御条件は他の制御条件と一緒に入力する必要はなく個別に入力することもでき、また初期設定時のみでなく計算途中に入力することもできる。例えば、予測条件は計算途中で類似度を用いる条件からルール学習を行う条件に変更することができる。
次に処理装置2の計算用データ生成手段22は、記憶装置4から補助条件41を読み出して成立の可否を判定し(ステップS102)、補助条件が満たされないなら、記憶装置3から読み出した既知データ31の集合を計算用データ51として記憶装置5に格納する(ステップS103)。他方、補助条件41を満たすなら、記憶装置3から既知データ31と補助データ33とを読み出し、補助データ33を計算用データ51として記憶装置5に格納するとともに、既知データ31から補助データ33と記述子が同じデータを除いた残りを計算用データ51として記憶装置5に追加格納する(ステップS104)。既知データ31から補助データ33と記述子が同じデータを取り除く理由は、既知データのラベルの値を書き換えて生成された補助データ33を利用者が使用している可能性があるためである。この場合、補助データ33を用いて既知データ31のラベルの値を変換していることと等価になる。
次に処理装置2のデータ選択手段23は、記憶装置4から予測条件42を読み出し、類似度を用いて処理を行うか、ルール学習により処理を行うかを判定する(ステップS105)。類似度を用いて処理を行うと判定した場合は第1のデータ選択部26を起動し、ルール学習により処理を行うと判定した場合は第2のデータ選択部27を起動する。
第1のデータ選択部26は、まず記憶装置5に格納された計算用データ51の集合から所定ラベル値46と同じラベル値を持つすべてのデータを所定データとして選択し、計算用所定データとする(ステップS106)。次に、記憶装置3に格納された未知データ32の集合中のデータ毎に、計算用所定データとの類似度を計算する(ステップS107)。最後に、計算した各未知データの類似度と、記憶装置4に格納されたデータ選択条件43とに基づいて、未知データ32の集合から次に学習すべきデータを選択データ61として選択し、記憶装置6に格納する(ステップS108)。
第2のデータ選択部27は、まず記憶装置5に格納された計算用データ51に基づいて任意のデータの記述子の入力に対してそのデータの所定ラベルの値を計算するルール71を学習し、記憶装置7に記憶する(ステップS109)。次に、この学習したルール71を記憶装置3に格納された未知データ32の集合に適用して各未知データの所定ラベルの値を予測する(ステップS110)。最後に、各未知データの所定ラベルの予測結果と、記憶装置4に格納されたデータ選択条件43とに基づいて、未知データ32の集合から次に学習すべきデータを選択データ72として選択し、記憶装置7に格納する。
次に処理装置2の処理制御手段24は、記憶装置4から終了条件44を読み出して成立の可否を判定する(ステップS112)。そして、終了条件44が成立していなければ、データ選択手段23で選択されたデータを記憶装置6または記憶装置7から読み出して出力装置8に出力し、利用者の入力装置1の操作により、前記出力したデータのラベルの値を入力する(ステップS113)。次に処理装置2のデータ更新手段25は、ラベル値が入力されたデータを未知データ32から取り除き、既知データ31に追加する(ステップS114)。そして、制御を計算用データ生成手段22に戻し、上述した処理と同様の処理を終了条件が成立するまで繰り返す。
ステップS113における選択データの出力では、データそのものを出力しても良いし、選択されたデータの識別子201を出力しても良い。同じくステップS113におけるラベル値の入力では、記述子とラベルを含めたデータそのものを入力しても良いし、データのラベルの値のみを入力しても良い。さらに、利用者がシステムが出力したデータ以外にラベルをつけたい場合には、データとの対応を示せば、別のデータのラベルを入力しても構わない。これは、能動学習システムが利用者に対する支援を目指しており、利用者が自身の知識に基づいて、選択されたデータが不適切と判断すれば別のデータにラベル付けを行うことを可能にするためである。
また、処理制御手段24に制御が移っているステップS113の時点で、利用者に補助データを変更するかどうかを問い合わせ、新たな補助データを利用者に入力させても良い。さらに、以前に利用者から入力された補助データ33に対し、入力装置1の操作によってラベル値が入力された場合には、補助データの取り消しを行うかどうかを利用者に確認しても良い。このように補助データを変更する場合には、記憶装置3の補助データ33を新たな補助データに書き換える。またさらに、現在の既知データ31の内容、あるいはその中の所定データの内容や数などを、出力装置8に出力し、利用者に対して予測条件42を変更するかどうかを問い合わせ、新たな予測条件42を利用者に入力させても良い。
他方、処理装置2の処理制御手段24は、終了条件44が成立していれば、記憶装置4に格納された出力条件45に応じて、ルール71および既知データ31などを出力装置8から出力し(ステップS115)、処理を終える。次に幾つかの状況を想定して本実施形態の動作をより詳しく説明する。
前提として、処理装置2で扱うデータが図2に示したようなデータ構造をしており、ラベル1が所望ラベル、ラベル1のとり得る値が2値{A,B}とする。また、そのうち所望のラベル値はAとする。例えば、創薬におけるスクリーニングの場合、ラベル1が或るタンパク質に対する活性の有無で、Aが活性あり、Bが活性なしに相当する。利用者の目的は、ラベル1の値が未知のデータ32の集合の中から、ラベル1がAであるデータを、ランダム選択よりは効率良く発見することである。ここで、未知データの多くはラベル1の値がBであることが前提になっている。従って、ラベル1の値がBであるデータはランダム選択によって容易に発見することができる。これに対してラベル1の値がAのデータは、ランダム選択では発見コストが著しく増加することになる。
(1)想定例1
まず、ラベル1の値がBの既知データは必要十分な数だけ準備できたが、ラベル1の値がAの既知データは全く存在しない状況を想定する。これは例えば、或るタンパク質に活性のない化合物のデータは多数存在するが、活性のある化合物のデータはまったく存在しない状況に相当する。
このような状況の下で、ラベル1の値がAの既知データを効率良く発見する方法には、主に以下の3通りの方法がある。
(1−1)ラベル1の値がBの既知データとの類似度が最も低い未知データを、ラベル1の値がAのデータの候補として選択する予測方法で処理を開始し、ラベル1の値がAのデータがある程度収集できた時点で、ルールを学習する予測方法に切り替える。
(1−2)ラベル1の値がAの補助データを生成し、この補助データとの類似度が最も高い未知データを、ラベル1の値がAのデータの候補として選択する予測方法で処理を開始し、ラベル1の値がAのデータがある程度収集できた時点で、ルールを学習する予測方法に切り替える。
(1−3)ラベル1の値がAの補助データを生成し、最初からルールを学習する予測方法で予測を行う。
以下、それぞれの場合について動作を説明する。
(1−1)動作例1
まず、初期設定で、ラベル1の値がBであるデータだけを含む既知データ31と、ラベル1の値が未知の未知データ32とを記憶装置3に記憶する。ここでは補助データ33は使用しない。また、予測条件42で類似度を用いる予測方式を指定し、データ選択条件43で最も類似度の低いデータを選択するという条件を指定する。所定ラベル値46ではラベル1の値Bを指定する。
図3の処理が開始されると、まず、ラベル1の値がBである既知データ31が計算用データ51として生成される(ステップS103)。次に、計算用データ51から所定ラベル値46を持つすべてのデータ、つまりラベル1の値がBのデータが計算用所定データとして選択される(ステップS106)。次に、未知データ32中の各データについて、計算用所定データとの類似度が計算される(ステップS107)。次に、データ選択条件43に従って、計算用所定データとの類似度が最も低い未知データ、すなわちラベル1の値がBである既知データに最も似ていない未知データが選択データ61として選択される(ステップS108)。そして、この選択データ61が処理制御手段24により出力装置8に出力され、利用者は、実験等によって選択データ61のラベル1の値を調べて入力装置1から入力する(ステップS113)。ここで、選択データ61は、ラベル1の値がBであるデータに最も似ていないデータであるから、未知データ32の集合からランダムに選択するよりは、ラベル1の値がAであるデータである確率が高くなる。データ更新手段25は、ラベル1に値が入力されたデータを未知データ32から取り除き、既知データ31に追加する(ステップS114)。
以上と同様な動作が繰り返され、ラベル1の値がAの計算用データあるいは既知データがルール学習に必要な数だけ集まった時点で、入力装置1から予測条件42をルール学習による予測に変更し、所定ラベル値46をラベル1の値Aに変更する。これにより、以降は従来の能動学習システムと同様の方法でルールが学習され、学習されたルールによって未知データ32の中からデータが選択されていく。なお、入力装置1から予測条件42を変更する代わりに、予測条件42自体に、ラベル1の値がAの計算用データあるいは既知データが或る閾値以上揃ったらルール学習に変更するという条件を設定しておいて処理制御手段24が自動的に予測方法を切り替えるようにすることもできる。
(1−2)動作例2
本動作例では、ラベル1の値をAに設定した補助データ33を使用する。このような補助データ33は前述したように、例えば既知データ31あるいは未知データ32中の或るデータのラベル1の値を、ラベル1が示す事象と類似する事象の状態を示す他のラベルの値で書き換えることで、生成することができる。
まず、初期設定で、ラベル1の値がBであるデータだけを含む既知データ31と、ラベル1の値が未知の未知データ32と、ラベル1の値がAである補助データ33とを記憶装置3に記憶する。また、予測条件42で類似度を用いる予測方式を指定し、データ選択条件43で最も類似度の高いデータを選択するという条件を指定する。所定ラベル値46ではラベル1の値Aを指定する。補助データ33を使用するので、適当な補助条件41を指定しておく。
図3の処理が開始されると、まず、ラベル1の値がAの補助データ33と、ラベル1の値がBである既知データ31のうち補助データ33と記述子が同一のデータを除いた残りのデータとが計算用データ51として生成される(ステップS104)。次に、計算用データ51から所定ラベル値46を持つすべてのデータ、つまりラベル1の値がAのデータが計算用所定データとして選択される(ステップS106)。次に、未知データ32中の各データについて、計算用所定データとの類似度が計算される(ステップS107)。次に、データ選択条件43に従って、計算用所定データとの類似度が最も高い未知データ、すなわちラベル1の値がAである補助データに最も似ている未知データが選択データ61として選択される(ステップS108)。そして、この選択データ61が処理制御手段24により出力装置8に出力され、利用者は、実験等によって選択データ61のラベル1の値を調べて入力装置1から入力する(ステップS113)。ここで、補助データ33は、ラベル1がAである既知データではなく、いわば仮の既知データであるが、ラベル1と置換に使用した他のラベルとの間には類似関係があるため、真の既知データと構造が似ている可能性が高い。そして選択データ61は、ラベル1の値がAである補助データに最も似ているデータであるから、未知データ32の集合からランダムに選択するよりは、ラベル1の値がAであるデータである確率が高くなる。データ更新手段25は、ラベル1に値が入力されたデータを未知データ32から取り除き、既知データ31に追加する(ステップS114)。
以上と同様な動作が繰り返され、ラベル1の値がAの計算用データあるいは既知データがルール学習に必要な数だけ集まった時点で、入力装置1から予測条件42をルール学習による予測に変更する。これにより、以降は従来の能動学習システムと同様の方法でルールが学習され、学習されたルールによって未知データ32の中からデータが選択されていく。ただし、補助条件41が成立している間は補助データ33が仮の既知データとして使われる点が従来とは相違する。補助データ33は、ラベル1がAである既知データではなく、いわば仮の既知データであるが、ラベル1と置換に使用した他のラベルとの間には類似関係があるため、補助データを用いて学習するルールは、或る程度意味のあるルールとなる。なお、入力装置1から予測条件42を変更する代わりに、予測条件42自体に、ラベル1の値がAの計算用データが或る閾値以上揃ったらルール学習に変更するという条件を設定しておいて処理制御手段24が自動的に予測方法を切り替えるようにすることもできる。
(1−3)動作例3
ラベル1の値がAである補助データがルール学習に必要十分な数だけ準備できる場合、類似度による予測を一切使わずに処理の開始からルール学習による予測を行わせることも可能である。
まず、初期設定で、ラベル1の値がBであるデータだけを含む既知データ31と、ラベル1の値が未知の未知データ32と、ラベル1の値がAである補助データ33とを記憶装置3に記憶する。また、予測条件42でルール学習を用いる予測方式を指定する。所定ラベル値46ではラベル1の値Aを指定する。補助データ33を使用するので、適当な補助条件41を指定しておく。
図3の処理が開始されると、まず、ラベル1の値がAの補助データ33と、ラベル1の値がBである既知データ31のうち補助データ33と記述子が同一のデータを除いた残りのデータとが計算用データ51として生成される(ステップS104)。次に、計算用データ51を用いてルールを学習し、記憶装置7にルール71として記憶する(ステップS109)。次に、ルール71を用いて未知データ32の集合に対してラベル1の値を予測し(ステップS110)、その予測結果とデータ選択条件43とに基づいて次に学習するデータを選択して記憶装置7に記憶する(ステップS111)。そして、この選択データ72が処理制御手段24により出力装置8に出力され、利用者は、実験等によって選択データ72のラベル1の値を調べて入力装置1から入力する(ステップS113)。ここで、データ選択条件43がたとえば所望するラベル値に近い予測値のデータを選択するものであれば、未知データ32の集合からランダムに選択するよりは、ラベル1の値がAであるデータである確率が高くなる。データ更新手段25は、ラベル1に値が入力されたデータを未知データ32から取り除き、既知データ31に追加する(ステップS114)。
以上と同様な動作が終了条件44が成立するまで繰り返される。
(2)想定例2
想定例1と異なり、ラベル1の値がAの既知データが僅かに存在する状況を想定する。これは例えば、或るタンパク質に活性のない化合物のデータは多数存在するが、活性のある化合物のデータがごく僅かしか存在しない状況に相当する。
このような状況の下で、ラベル1の値がAの既知データを効率良く発見する方法には、主に以下の3通りの方法がある。
(2−1)前述した想定例1の動作例1と同様に、ラベル1の値がBの既知データとの類似度が最も低い未知データを、ラベル1の値がAのデータの候補として選択する予測方法で処理を開始し、ラベル1の値がAのデータがある程度収集できた時点で、ルールを学習する予測方法に切り替える。
(2−2)僅かに存在するラベル1の値がAの既知データとの類似度が最も高い未知データを、ラベル1の値がAのデータの候補として選択する予測方法で処理を開始し、ラベル1の値がAのデータがある程度収集できた時点で、ルールを学習する予測方法に切り替える。
(2−3)ラベル1の値がAの補助データを生成し、ラベル1の値がAの既知データとあわせて、最初からルールを学習する予測方法で予測を行う。
以下、それぞれの場合について動作を説明する。
(2−1)動作例4
まず、初期設定で、ラベル1の値がAである僅かなデータとラベル1の値がBである十分な数のデータを含む既知データ31と、ラベル1の値が未知の未知データ32とを記憶装置3に記憶する。ここでは補助データ33は使用しない。また、予測条件42で類似度を用いる予測方式を指定し、データ選択条件43で最も類似度の低いデータを選択するという条件を指定する。所定ラベル値46ではラベル1の値Bを指定する。
図3の処理が開始されると、まず、既知データ31が計算用データ51として保存される(ステップS103)。次に、計算用データ51から所定ラベル値46を持つすべてのデータ、つまりラベル1の値がBの既知データが計算用所定データとして選択される(ステップS106)。次に、未知データ32中の各データについて、計算用所定データとの類似度が計算される(ステップS107)。次に、データ選択条件43に従って、計算用所定データとの類似度が最も低い未知データ、すなわちラベル1の値がBである既知データに最も似ていない未知データが選択データ61として選択される(ステップS108)。そして、この選択データ61が処理制御手段24により出力装置8に出力され、利用者は、実験等によって選択データ61のラベル1の値を調べて入力装置1から入力する(ステップS113)。ここで、選択データ61は、ラベル1の値がBであるデータに最も似ていないデータであるから、未知データ32の集合からランダムに選択するよりは、ラベル1の値がAであるデータである確率が高くなる。データ更新手段25は、ラベル1に値が入力されたデータを未知データ32から取り除き、既知データ31に追加する(ステップS114)。
以上と同様な動作が繰り返され、ラベル1の値がAの計算用データあるいは既知データがルール学習に必要な数だけ集まった時点で、入力装置1から予測条件42をルール学習による予測に変更し、所定ラベル値46をラベル1の値Aに変更する。これにより、以降は従来の能動学習システムと同様の方法でルールが学習され、学習されたルールによって未知データ32の中からデータが選択されていく。なお、入力装置1から予測条件42を変更する代わりに、予測条件42自体に、ラベル1の値がAの計算用データあるいは既知データが或る閾値以上揃ったらルール学習に変更するという条件を設定しておいて処理制御手段24が自動的に予測方法を切り替えるようにすることもできる。
(2−2)動作例5
本動作例では、まず初期設定で、ラベル1の値がAである僅かなデータとラベル1の値がBであるデータを含む既知データ31と、ラベル1の値が未知の未知データ32とを記憶装置3に記憶する。また、予測条件42で類似度を用いる予測方式を指定し、データ選択条件43で最も類似度の高いデータを選択するという条件を指定する。所定ラベル値46ではラベル1の値Aを指定する。
図3の処理が開始されると、まず、ラベル1の値がAであるデータおよびBであるデータを含む既知データ31が計算用データ51として生成される(ステップS103)。次に、計算用データ51から所定ラベル値46を持つすべてのデータ、つまりラベル1の値がAのデータが計算用所定データとして選択される(ステップS106)。次に、未知データ32中の各データについて、計算用所定データとの類似度が計算される(ステップS107)。次に、データ選択条件43に従って、計算用所定データとの類似度が最も高い未知データ、すなわちラベル1の値がAである既知データに最も似ている未知データが選択データ61として選択される(ステップS108)。そして、この選択データ61が処理制御手段24により出力装置8に出力され、利用者は、実験等によって選択データ61のラベル1の値を調べて入力装置1から入力する(ステップS113)。ここで、選択データ61は、ラベル1の値がAである既知データに最も似ているデータであるから、未知データ32の集合からランダムに選択するよりは、ラベル1の値がAであるデータである確率が高くなる。データ更新手段25は、ラベル1に値が入力されたデータを未知データ32から取り除き、既知データ31に追加する(ステップS114)。
以上と同様な動作が繰り返され、ラベル1の値がAの計算用データあるいは既知データがルール学習に必要な数だけ集まった時点で、入力装置1から予測条件42をルール学習による予測に変更する。これにより、以降は従来の能動学習システムと同様の方法でルールが学習され、学習されたルールによって未知データ32の中からデータが選択されていく。なお、入力装置1から予測条件42を変更する代わりに、予測条件42自体に、ラベル1の値がAの計算用データが或る閾値以上揃ったらルール学習に変更するという条件を設定しておいて処理制御手段24が自動的に予測方法を切り替えるようにすることもできる。
(2−3)動作例6
ラベル1の値がAである補助データを幾つか準備できる場合、ラベル1の値がAの既知データとあわせて、処理の開始からルール学習による予測を行わせることも可能である。
まず、初期設定で、ラベル1の値がAである僅かなデータとラベル1の値がBであるデータを含む既知データ31と、ラベル1の値が未知の未知データ32と、ラベル1の値がAである補助データ33とを記憶装置3に記憶する。また、予測条件42でルール学習を用いる予測方式を指定する。所定ラベル値46ではラベル1の値Aを指定する。補助データ33を使用するので、適当な補助条件41を指定しておく。
図3の処理が開始されると、まず、ラベル1の値がAの補助データ33と、ラベル1の値がAである僅かなデータとラベル1の値がBであるデータとを含む既知データ31のうち補助データ33と記述子が同一のデータを除いた残りのデータとが計算用データ51として生成される(ステップS104)。次に、計算用データ51を用いてルールを学習し、記憶装置7にルール71として記憶する(ステップS109)。次に、ルール71を用いて未知データ32の集合に対してラベル1の値を予測し(ステップS110)、その予測結果とデータ選択条件43とに基づいて次に学習するデータを選択して記憶装置7に記憶する(ステップS111)。そして、この選択データ72が処理制御手段24により出力装置8に出力され、利用者は、実験等によって選択データ72のラベル1の値を調べて入力装置1から入力する(ステップS113)。ここで、データ選択条件43がたとえば所望するラベル値に近い予測値のデータを選択するものであれば、未知データ32の集合からランダムに選択するよりは、ラベル1の値がAであるデータである確率が高くなる。
データ更新手段25は、ラベル1に値が入力されたデータを未知データ32から取り除き、既知データ31に追加する(ステップS114)。
以上と同様な動作が終了条件44が成立するまで繰り返される。
本実施形態によれば、学習開始時点の初期の状態において既知データの集合中に所望データが全く存在しないかごく僅かしか存在しないような、ルール学習が正しく行えない状況であっても、ランダム選択よりは効率的に未知データの集合から所望データを選択することができ、最終的に所望データを使ったルール学習が可能になる。
その理由は、既知データの集合に存在する所望データ以外のデータと最も似ていないデータを未知データから選択するという類似度による予測方法によってランダム選択よりは効率的に所望データの発見が行えるためである。また別の理由は、僅かに存在する所望データあるいは仮の所望データである補助データに最も似ているデータを未知データから選択するという類似度による予測方法によってランダム選択よりは効率的に所望データの発見が行えるためである。さらに別の理由は、仮の所望データである補助データを使って意味のある学習が行えるためである。
[第2の実施形態例]
図4を参照すると、本発明の第2の実施形態例にかかる能動学習システムは、図1に示した第1の実施形態例にかかる能動学習システムと比較して、計算用データ生成手段22の代わりに重み付き計算用データ生成手段28を備え、データ選択手段23の代わりに重みを考慮して予測を行うデータ選択手段29を備えている点で相違する。
重み付き計算用データ生成手段28は、第1の実施形態例の計算用データ生成手段22と同様の機能を有する計算用データ生成部28Aと、この計算用データ生成部28Aにより生成された計算用データに対して重みを付与するデータ重み付け部28Bとから構成される。
図5を参照すると、重み付き計算用データのデータ構造の一例は、図2に示した計算用データに重み204の項目を付加した構造を持つ。重み204は、例えば0から1までの値をとり、1に近いほど(値が大きいほど)重要度が高いことを示す。
データ重み付け部28Bは、既知データ31が補助データ33より重要視したルール学習や類似度計算が行われるように、既知データ31から生成された計算用データに対する重みを補助データ33から生成された計算用データに対する重みよりも相対的に大きくする。それぞれに対してどの程度の値の重みを使用するかは、制御条件の一つに追加した重み条件で初期設定時および計算中に外部から指定するようにしても良いし、例えば既知データには値1、補助データにはその半分の値を設定するものと予め定めておいても良い。
図6は本実施形態にかかる能動学習システムの全体の動作を示すフローチャートである。以下、図4乃至図6を参照して、本実施形態の動作を説明する。処理装置2は、利用者による入力装置1からの指示等によって起動されると、図6のフローチャートに示す処理を開始する。
処理装置2の初期設定手段21は、入力装置1からデータと制御条件とを入力し、データを記憶装置3に格納し、制御条件を記憶装置4に格納する(図6のステップS101)。次に処理装置2の重み付き計算用データ生成手段28の計算用データ生成部28Aは、記憶装置4から補助条件41を読み出して成立の可否を判定し(ステップS102)、補助条件が満たされないなら、記憶装置3から読み出した既知データ31をデータ重み付け部28Bに与え、データ重み付け部28Bは与えられた既知データ31に既知データ用の重みを付加して、計算用データ51として記憶装置5に格納する(ステップS103)。
他方、補助条件を満たすなら、計算用データ生成部28Aは、記憶装置3から既知データ31と補助データ33とを読み出し、補助データ33をデータ重み付け部28Bに与え、データ重み付け部28Bは与えられた補助データ33に補助データ用の重みを付加して、計算用データ51として記憶装置5に格納する(ステップS201)。さらに計算用データ生成部28Aは、既知データ31から補助データ33と記述子が同じデータを除いた残りのデータをデータ重み付け部28Bに与え、データ重み付け部28Bは与えられたデータに既知データ用の重みを付加して、計算用データ51として記憶装置5に追加格納する(ステップS201)。
次に処理装置2のデータ選択手段29は、記憶装置4から予測条件42を読み出し、類似度を用いて処理を行うか、ルール学習により処理を行うかを判定する(ステップS105)。類似度を用いて処理を行うと判定した場合は第1のデータ選択部26を起動し、ルール学習により処理を行うと判定した場合は第2のデータ選択部27を起動する。
第1のデータ選択部26は、まず記憶装置5に格納された重み付きの計算用データ51の集合から所定ラベル値46と同じラベル値を持つすべてのデータを所定データとして選択し、計算用所定データとする(ステップS106)。次に、記憶装置3に格納された未知データ32の集合中のデータ毎に、計算用所定データとの類似度を計算する(ステップS202)。この類似度の計算時に重みを考慮し、既知データ31を補助データ33より重要視するような類似度を計算する。例えば、記述子が全部でn個ある場合、未知データと計算用所定データとの間でn個の記述子どうしを比較し、例えば一致する記述子の数に応じた値に、その計算用所定データに付加されている重みを乗じた値を類似度とする。次に、計算した各未知データの類似度と、記憶装置4に格納されたデータ選択条件43とに基づいて、未知データ32の集合から次に学習すべきデータを選択データ61として選択し、記憶装置6に格納する(ステップS108)。
第2のデータ選択部27は、まず記憶装置5に格納された計算用データ51に基づいて任意のデータの記述子の入力に対してそのデータの所定ラベルの値を計算するルール71を学習し、記憶装置7に記憶する(ステップS203)。このルールの学習時に重みを考慮し、既知データ31を補助データ33より重要視するような学習を行う。具体的には、例えば、バギング法では、計算用データからサンプリングしたデータを複数回生成することにより複数のルールを生成しているが、このサンプリング時に重みの値が大きい計算用データが重みの値が小さい計算用データに比べてよりサンプリングされ易くする。勿論、計算用データに付加された重みに応じて学習の重要度を変える方法は上述した例に限定されず、その他各種の方法を採用することが可能である。次に、学習したルール71を記憶装置3に格納された未知データ32の集合に適用して各未知データの所定ラベルの値を予測する(ステップS110)。最後に、各未知データの所定ラベルの予測結果と、記憶装置4に格納されたデータ選択条件43とに基づいて、未知データ32の集合から次に学習すべきデータを選択データ72として選択し、記憶装置7に格納する。
次に処理装置2の処理制御手段24は、記憶装置4から終了条件44を読み出して成立の可否を判定する(ステップS112)。そして、終了条件44が成立していなければ、データ選択手段29で選択されたデータを記憶装置6または記憶装置7から読み出して出力装置8に出力し、利用者の入力装置1の操作により、前記出力したデータのラベルの値を入力する(ステップS113)。次に処理装置2のデータ更新手段25は、ラベル値が入力されたデータを未知データ32から取り除き、既知データ31に追加する(ステップS114)。そして、制御を重み付き計算用データ生成手段28に戻し、上述した処理と同様の処理を終了条件が成立するまで繰り返す。他方、処理装置2の処理制御手段24は、終了条件44が成立していれば、記憶装置4に格納された出力条件45に応じて、ルール71および既知データ31などを出力装置8から出力し(ステップS115)、処理を終える。
本実施形態によれば、重み付き計算用データ生成手段28を備えるように構成されているため、既知データ31を補助データ33より重要視したルール学習や類似度計算を行うことが可能である。補助データは、ラベルが未知であるか又は本来のラベル値とは異なるラベル値を利用者により設定されたもので、真の既知データほど重要ではないため、そのような違いを反映した処理が可能となることにより、より効率的な予測が可能となる。
以上本発明の実施形態例について説明したが、本発明は以上の実施形態例にのみ限定されず、その他各種の付加変更が可能である。また、本発明の能動学習システムは、その有する機能をハードウェア的に実現することは勿論、コンピュータと能動学習用プログラムとで実現することができる。能動学習用プログラムは、磁気ディスクや半導体メモリ等のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施形態例における初期設定手段21、計算用データ生成手段22または重み付き計算用データ生成手段28、データ選択手段23またはデータ選択手段29、処理制御手段24およびデータ更新手段25として機能させ、また図3、図6に示した処理を実行させる。
本発明にあっては、従来の能動学習システムで行われているルール学習によるデータ選択とは別に、類似度計算によって次に学習するデータを選択する。ルール学習を正しく行うためには、様々なラベル値の既知データが必要になるが、類似度計算による選択では、所望ラベルが所望値であるデータが既知データとして全く存在しない場合、所望ラベルが所望値以外の値である既知データと最も似ていない未知データを選択することで、ランダム選択の場合に比べて効率良く所望データを発見することができる。また、僅かでも所望データが存在すれば、所望データと最も似ている未知データを選択することで、ランダム選択の場合に比べて効率良く所望データを発見することができる。さらに、所望データがない場合に、利用者が所望データに近いと類推するデータを補助データとして用いることも可能である。所望データが集まった後は、類似度計算による予測から従来と同様のルール学習による予測へ移行することができる。
上記実施形態能動学習システムによると、既知データ中に或るラベル値付近(所望ラベル値)のデータ(所望データ)が全く存在しないか、ごく僅かしか存在しない場合にも、ランダム選択の場合に比べて効率良く次に学習するデータを選択できる。
その理由は、未知データについて既知データとの類似度を計算し次に学習するデータを選択する手段を備えているためである。より具体的には、既知データの集合に存在する所望データ以外のデータと最も似ていないデータを未知データから選択したり、僅かに存在する所望データに最も似ているデータを未知データから選択するといった類似度による予測方法によってランダム選択よりは効率的に所望データの発見が行えるためである。
また、利用者がもつ補助情報を利用して、より効率的に学習できる。その理由は、仮の所望データである補助データを使って類似度計算を行ったり、ルール学習が行えるためである。
本発明を特別に示し且つ例示的な実施形態を参照して説明したが、本発明は、その実施形態及びその変形に限定されるものではない。当業者に明らかなように、本発明は、添付のクレームに規定される本発明の精神及び範囲を逸脱することなく、種々の変更が可能である
本出願は、2006年10月19日出願に係る日本特許出願2006−284660号を基礎とし且つその優先権を主張するものであり、引用によってその開示の内容の全てを本出願の明細書中に加入する。