(57)【要約】  能動学習システムの処理装置（２）は、第１のデータ選択部（２６）を用いて、ラベルの値が未知のデータについてラベルの値が所定の値であるデータとの類似度を計算し、この計算した類似度に基づいて次に学習するデータを選択する能動学習サイクルを１サイクル以上繰り返すことで、ルール学習に必要な所望データをランダム選択より発見する。次いで、処理装置（２）は、ラベルの値が既知のデータに基づいてルールを学習し、この学習したルールを、ラベルの値が未知のデータの集合に適用して、次に学習するデータを選択する能動学習サイクルへ移行する。
2008047835.tif 000002
【特許請求の範囲】
【請求項１】
ラベルの値が未知のデータについてラベルの値が所定の値であるデータとの類似度を計算し、該計算した類似度に基づいて次に学習するデータを選択する第１のデータ選択部（２６）と、ラベルの値が既知のデータに基づいてルールを学習し、該学習したルールをラベルの値が未知のデータの集合に適用して次に学習するデータを選択する第２のデータ選択部（２７）とを備えたことを特徴とする能動学習システム。
【請求項２】
ラベルの値が所定の値であるデータが、ラベルの値が既知のデータまたはラベルの値が未知のデータのラベルを書き換えた補助データを含むことを特徴とする請求項１記載の能動学習システム。
【請求項３】
ラベルの値が既知のデータと補助データとに異なったデータ重みを付与する手段（２８）を備えることを特徴とする請求項２記載の能動学習システム。
【請求項４】
１以上の記述子と１以上のラベルとで構成されるデータのうち、所望ラベルの値を既知とした既知データの集合と前記所望ラベルの値を未知とした未知データの集合とを記憶する記憶部（３）と、
前記記憶部に記憶された既知データの集合から前記所望ラベルの値が所定値を持つデータを所定データとして選択し、前記各未知データ毎に前記所定データとの類似度を計算し、該計算した類似度に基づいて次に学習すべきデータを前記未知データの集合から選択する第１のデータ選択部動作と、前記記憶部に記憶された既知データに基づいて任意のデータの記述子の入力に対してそのデータの前記所望ラベルの値を計算するルールを学習し、該学習したルールを前記未知データの集合に適用して各未知データの前記所望ラベルの値を予測し、該予測結果に基づいて次に学習すべきデータを前記未知データの集合から選択する第２のデータ選択動作とのうち、指定された側の動作を行うデータ選択手段（２３）と、
前記データ選択手段で選択されたデータを出力装置（８）から出力し、前記所望ラベルの値が入力装置から入力されたデータを前記未知データの集合から取り除いて前記既知データの集合に追加する制御手段（２４）と、を備えることを特徴とする能動学習システム。
【請求項５】
１以上の記述子と１以上のラベルとで構成されるデータのうち、所望ラベルの値を既知とした既知データの集合と前記所望ラベルの値を未知とした未知データの集合と既知データまたは未知データの所望ラベルの値を書き換えた補助データの集合とを記憶する記憶部（３）と、
前記記憶部に記憶された既知データの集合と補助データの集合とから計算用データを生成し前記記憶部に記憶する計算用データ生成手段（２２）と、
前記記憶部に記憶された計算用データの集合から前記所望ラベルの値が所定値を持つデータを所定データとして選択し、前記各未知データ毎に前記所定データとの類似度を計算し、該計算した類似度に基づいて次に学習すべきデータを前記未知データの集合から選択する第１のデータ選択動作と、前記記憶部に記憶された計算用データに基づいて任意のデータの記述子の入力に対してそのデータの前記所望ラベルの値を計算するルールを学習し、該学習したルールを前記未知データの集合に適用して各未知データの前記所望ラベルの値を予測し、該予測結果に基づいて次に学習すべきデータを前記未知データの集合から選択する第２のデータ選択動作とのうち、指定された側の動作を行うデータ選択手段（２３）と、
前記データ選択手段で選択されたデータを出力装置（８）から出力し、前記所望ラベルの値が入力装置から入力されたデータを前記未知データの集合から取り除いて前記既知データの集合に追加する制御手段（２４）と、を備えることを特徴とする能動学習システム。
【請求項６】
１以上の記述子と１以上のラベルとで構成されるデータのうち、所望ラベルの値を既知とした既知データの集合と前記所望ラベルの値を未知とした未知データの集合と既知データまたは未知データの所望ラベルの値を書き換えた補助データの集合とを記憶する記憶部（３）と、
前記記憶部に記憶された既知データの集合と補助データの集合とから、重み付きの計算用データを生成し前記記憶部に記憶する計算用データ生成手段（２８）と、
前記記憶部に記憶された重み付きの計算用データの集合から前記所望ラベルの値が所定値を持つデータを所定データとして選択し、前記各未知データ毎に前記所定データとの類似度をデータの重みを考慮して計算し、該計算した類似度に基づいて次に学習すべきデータを前記未知データの集合から選択する第１のデータ選択動作と、前記記憶部に記憶された重み付きの計算用データに基づいて任意のデータの記述子の入力に対してそのデータの前記所望ラベルの値を計算するルールをデータの重みを考慮して学習し、該学習したルールを前記未知データの集合に適用して各未知データの前記所望ラベルの値を予測し、該予測結果に基づいて次に学習すべきデータを前記未知データの集合から選択する第２のデータ選択動作とのうち、指定された側の動作を行うデータ選択手段（２９）と、
前記データ選択手段で選択されたデータを出力装置から出力し、前記所望ラベルの値が入力装置から入力されたデータを前記未知データの集合から取り除いて前記既知データの集合に追加する制御手段（２４）と、を備えることを特徴とする能動学習システム。
【請求項７】
コンピュータを用いた能動学習方法であって、
ラベルの値が未知のデータについてラベルの値が所定の値であるデータとの類似度を計算し、
該計算した類似度に基づいて次に学習するデータを選択する能動学習サイクルを１サイクル以上繰り返した後、ラベルの値が既知のデータに基づいてルールを学習し、
該学習したルールを、ラベルの値が未知のデータの集合に適用して、次に学習するデータを選択する能動学習サイクルへ移行する能動学習方法。
【請求項８】
ラベルの値が所定の値であるデータが、ラベルの値が既知のデータまたはラベルの値が未知のデータのラベルを書き換えた補助データを含むことを特徴とする請求項７記載の能動学習方法。
【請求項９】
ラベルの値が既知のデータと補助データとに異なったデータ重みを付与することを特徴とする請求項８記載の能動学習方法。
【請求項１０】
コンピュータを用いた能動学習システムのためのプログラムであって、前記コンピュータに、
ラベルの値が未知のデータについてラベルの値が所定の値であるデータとの類似度を計算し、該計算した類似度に基づいて次に学習するデータを選択する能動学習サイクルを１サイクル以上繰り返し実行する処理と、
ラベルの値が既知のデータに基づいてルールを学習し、該学習したルールをラベルの値が未知のデータの集合に適用して次に学習するデータを選択する能動学習サイクルを実行する処理と、を順次に行わせるための能動学習プログラム。
【請求項１１】
ラベルの値が所定の値であるデータが、ラベルの値が既知のデータまたはラベルの値が未知のデータのラベルを書き換えた補助データを含むことを特徴とする請求項１０記載の能動学習プログラム。
【請求項１２】
ラベルの値が既知のデータと補助データとに異なったデータ重みを付与することを特徴とする請求項１１記載の能動学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は機械学習技術に関し、特に能動学習システム、方法及びプログラムに関する。
【背景技術】
【０００２】
能動学習とは、学習者（コンピュータ）が学習データを能動的に選択できる、機械学習手法の一形態である。能動学習は、データ数や計算量の意味で学習の効率を向上できるため、例えば、創薬において、膨大な種類の化合物の中から特定のタンパク質に対し活性のある化合物を発見するスクリーニングなどに適した技術として注目されている（例えば文献１参照）。【０００３】
能動学習システムで扱うデータは、記述子（属性）とラベルとで表現される。記述子はそのデータの構造などを特徴付けるものであり、ラベルはそのデータの或る事象に関する状態を示す。例えば、創薬におけるスクリーニングの場合、個々の化合物データは、特定の部分構造の有無や、特定の部分構造の個数、分子量などの各種物理化学定数などを記述した複数の記述子によって特定される。また、ラベルは、例えば特定のタンパク質に対する活性の有無や、活性の強さを示すために使用される。ラベルのとり得る値が、活性あり、活性なしのように離散値の場合、ラベルをクラスと呼ぶ。他方、ラベルのとり得る値が、活性の強さのように連続値の場合、ラベルを関数値と呼ぶ。ここで、ラベルの値が既知であるデータの集合を既知データ、ラベルの値が未知であるデータの集合を未知データと呼ぶことにする。【０００４】
能動学習システムで扱われる学習アルゴリズムは、既知データを用いて、１つあるいは複数のルールを生成する。ルールは、任意のデータの記述子の入力に対して、データのラベル値を予測するもので、例えば、決定木、サポートベクタマシン（SVM）、ニューラルネットワークなどである。予測された値は、学習で用いたラベル値そのものとは限らない。つまり、ラベル値が離散値であっても、予測値は離散値とは限らない。例えば、ラベルの値が２値｛０，１｝をとる場合であっても、学習アルゴリズムは、予測値が０．８などと予測できるためである。また、複数のルールを生成した場合、個々のルールでの予測値がラベル値である２値｛０，１｝であったとしても、予測値は、値の平均をとるなどして統合された値となるからである。ここで、複数のルールを生成するには、例えば、集団学習という手法があり、バギングやブースティングが知られている（例えば文献３、文献４参照）。【０００５】
従来の能動学習では、最初の学習は、ランダムに選ばれ、実験や調査によってラベルの実際の値が調べられた既知データを用いて行う。能動学習システムは、未知データの各データに対して、学習により生成されたルールを用いて予測値を計算し、その予測値に基づいて、未知データの中から効率的に学習できるようなデータを選択し、出力する。この選択方法に関しては、集団学習での予測値が割れたデータを選択する方法や、所望するラベル値に近い予測値のデータを選択する方法や、予測値に対する或る関数を用いて選択する方法など、幾つかの方法がある。例えば、文献１、文献２、特許文献１参照）。【０００６】
上記出力されたデータについて、実験や調査などによってラベルの実際の値が調べられ、その結果が能動学習システムにフィードバックされる。能動学習システムは、ラベルの実際の値が決まったデータを未知データの集合から取り除いて既知データに混ぜ、上述と同様の動作を再度繰り返す。つまり、既知データから再度選択したデータを用いてルールを学習し、そのルールを未知データに適用して予測し、予測結果に基づいてデータの選択と出力を行う。このような処理の繰り返しは、予め定められた終了条件が満たされるまで続けられる。
【文献１】
【０００７】
ワームス(Warmuth)著 「サポートベクタマシン フォア アクティブ ラーニング イン ザ ドラッグ ディスカバリー プロセス(Support Vector Machines for Active Learning in the Drug Discovery Process)」、2003年発行の論文誌「ジャーナル オブ ケミカル インフォメーション サイエンス(Journal of Chemical InformationSciences)」、４３巻２号、ｐｐ．６６７−６７３
【文献２】
【０００８】
安倍直樹、馬見塚拓著 「クエリー ラーニング  ストラテジーズ  ユージング  ブースティング  アンド  バギング(Query Learning Strategies using Boosting and Bagging)」、1998年発行の国際会議予稿集「プロシーディングス  オブ  ザ  フィフィーンス  インターナショナル  コンフェレンス  オン  マシン  ラーニング（Proceedings of The 15-th International Conference on Machine Learning）」、ｐｐ．１―９
【文献３】
【０００９】
ブライマン(Breiman)著 「バギング プレディクターズ(Bagging Predictors)」、 1996年発行の論文誌「マシンラーニング(Machine Learning)」、２４巻２号、ｐｐ．１２３−１４０
【文献４】
【００１０】
フロインド(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)」、ｐｐ．２３―３７
【００１１】
従来の能動学習システムの問題点は、既知データ中に様々なラベル値のデータが存在していることが前提であり、或るラベル値（所望ラベル値）のデータ（所望データ）が全く存在しないか、ごく僅かしか存在しない場合、システムを起動させても所望ラベル値を効率的に学習できないことである。
【００１２】
その理由は、既知データ中に、所望データが全く存在しないか、ごく僅かしか存在しない場合、学習アルゴリズムは、任意のデータに対して所望ラベル値以外の値と予測するルールを生成しがちになり、所望データに対しても所望ラベル値以外と予測され、ランダムに選択するのと実質的に何ら変わりがなくなるためである。例えば、ラベルの値が２値｛Ａ，Ｂ｝の場合、既知データ中に、ラベルＡのデータが全く存在しない場合には、常にラベルＢと予測するルールが生成され、その予測結果に基づいてデータを選択しても、選択されたデータはランダムに選択したデータと実質的に何ら変わりがない。また、ラベルの値が３値｛Ａ，Ｂ，Ｃ｝で、３つのラベルが独立の事象を示す時、既知データ中に、ラベルＡのデータが全く存在しないか、ごく僅かしか存在しない場合には、任意のデータに対して、ラベルＢまたはＣと予測するルールが生成されがちであり、ラベルＡを持つ所望データは、意味のあるルールで予測されず、ランダムに選択されるだけであり、ラベルＡは効率的に学習されないからである。ラベルの値が連続値の場合も、或る範囲のラベル値を所望ラベル値と考えれば、同様であり、所望ラベル値を効率的に学習できない。
【００１３】
従来の能動学習システムの第２の問題点は、利用者がデータについて補助情報を持っていても、その補助情報を用いて、より効率的に学習することができないことである。
【００１４】
その理由は、従来の能動学習システムでは、学習にラベルが明らかになった既知データを用いており、既知データ以外の利用者の補助的な知識をシステムで用いることができないからである。利用者は、領域に対する背景知識や特許・文献などの補助知識を持っている場合がある。例えば、創薬におけるスクリーニングで、活性あり化合物と活性なし化合物とを学習する場合、文献などの補助情報から、活性がありそうな化合物が分かるが、手元にその化合物が無いために実験で活性の有無を確かめられない場合、そのような活性のありそうな化合物は、既知データでもなく未知データでもないため、従来の能動学習システムでは扱うことができない。そのため、活性のありそうな化合物の情報を用いて、より効率的に学習することができない。また、スクリーニングで、活性あり化合物と活性なし化合物とを学習する場合、活性なし化合物に分類されるが、それ以外の活性なし化合物に比べて僅かだが活性のある化合物があった場合、そのような僅かな活性あり化合物は、従来の能動学習システムでは既知データの中の活性なし化合物に分類してしか用いることができない。そのため、僅かに活性があるという情報を用いて、より効率的に学習することができない。
【発明の概要】
【００１５】
本発明の目的は、既知データ中に或るラベル値付近（所望ラベル値）のデータ（所望データ）が全く存在しないか、ごく僅かしか存在しない場合にも、効率的な学習をすることができる能動学習システムを提供することにある。
【００１６】
本発明は、第１の態様において、ラベルの値が未知のデータについてラベルの値が所定の値であるデータとの類似度を計算し、該計算した類似度に基づいて次に学習するデータを選択する第１のデータ選択部と、ラベルの値が既知のデータに基づいてルールを学習し、該学習したルールをラベルの値が未知のデータの集合に適用して次に学習するデータを選択する第２のデータ選択部とを備えることを特徴とする能動学習システムを提供する。
【００１７】
本発明は、第２の態様において、１以上の記述子と１以上のラベルとで構成されるデータのうち、所望ラベルの値を既知とした既知データの集合と前記所望ラベルの値を未知とした未知データの集合とを記憶する記憶部と、前記記憶部に記憶された既知データの集合から前記所望ラベルの値が所定値を持つデータを所定データとして選択し、前記各未知データ毎に前記所定データとの類似度を計算し、該計算した類似度に基づいて次に学習すべきデータを前記未知データの集合から選択する第１のデータ選択動作と、前記記憶部に記憶された既知データに基づいて任意のデータの記述子の入力に対してそのデータの前記所望ラベルの値を計算するルールを学習し、該学習したルールを前記未知データの集合に適用して各未知データの前記所望ラベルの値を予測し、該予測結果に基づいて次に学習すべきデータを前記未知データの集合から選択する第２のデータ選択動作とのうち、指定された側の動作を行うデータ選択手段と、前記データ選択手段で選択されたデータを出力装置から出力し、前記所望ラベルの値が入力装置から入力されたデータを前記未知データの集合から取り除いて前記既知データの集合に追加する制御手段とを備えることを特徴とする能動学習システムを提供する。
【００１８】
本発明は、第３の態様において、１以上の記述子と１以上のラベルとで構成されるデータのうち、所望ラベルの値を既知とした既知データの集合と前記所望ラベルの値を未知とした未知データの集合と既知データまたは未知データの所望ラベルの値を書き換えた補助データの集合とを記憶する記憶部と、前記記憶部に記憶された既知データの集合と補助データの集合とから計算用データを生成し前記記憶部に記憶する計算用データ生成手段と、前記記憶部に記憶された計算用データの集合から前記所望ラベルの値が所定値を持つデータを所定データとして選択し、前記各未知データ毎に前記所定データとの類似度を計算し、該計算した類似度に基づいて次に学習すべきデータを前記未知データの集合から選択する第１のデータ選択動作と、前記記憶部に記憶された計算用データに基づいて任意のデータの記述子の入力に対してそのデータの前記所望ラベルの値を計算するルールを学習し、該学習したルールを前記未知データの集合に適用して各未知データの前記所望ラベルの値を予測し、該予測結果に基づいて次に学習すべきデータを前記未知データの集合から選択する第２のデータ選択動作とのうち、指定された側の動作を行うデータ選択手段と、前記データ選択手段で選択されたデータを出力装置から出力し、前記所望ラベルの値が入力装置から入力されたデータを前記未知データの集合から取り除いて前記既知データの集合に追加する制御手段とを備えることを特徴とする能動学習システムを提供する。
【００１９】
本発明は、第４の態様において、１以上の記述子と１以上のラベルとで構成されるデータのうち、所望ラベルの値を既知とした既知データの集合と前記所望ラベルの値を未知とした未知データの集合と既知データまたは未知データの所望ラベルの値を書き換えた補助データの集合とを記憶する記憶部と、前記記憶部に記憶された既知データの集合と補助データの集合とから、重み付きの計算用データを生成し前記記憶部に記憶する計算用データ生成手段と、前記記憶部に記憶された重み付きの計算用データの集合から前記所望ラベルの値が所定値を持つデータを所定データとして選択し、前記各未知データ毎に前記所定データとの類似度をデータの重みを考慮して計算し、該計算した類似度に基づいて次に学習すべきデータを前記未知データの集合から選択する第１のデータ選択動作と、前記記憶部に記憶された重み付きの計算用データに基づいて任意のデータの記述子の入力に対してそのデータの前記所望ラベルの値を計算するルールをデータの重みを考慮して学習し、該学習したルールを前記未知データの集合に適用して各未知データの前記所望ラベルの値を予測し、該予測結果に基づいて次に学習すべきデータを前記未知データの集合から選択する第２のデータ選択動作とのうち、指定された側の動作を行うデータ選択手段と、前記データ選択手段で選択されたデータを出力装置から出力し、前記所望ラベルの値が入力装置から入力されたデータを前記未知データの集合から取り除いて前記既知データの集合に追加する制御手段とを備えることを特徴とする能動学習システムを提供する。
【００２０】
本発明は、第５の態様において、コンピュータを用いた能動学習方法であって、前記コンピュータが、ラベルの値が未知のデータについてラベルの値が所定の値であるデータとの類似度を計算し、該計算した類似度に基づいて次に学習するデータを選択する能動学習サイクルを１サイクル以上繰り返した後、ラベルの値が既知のデータに基づいてルールを学習し、該学習したルールをラベルの値が未知のデータの集合に適用して次に学習するデータを選択する能動学習サイクルへ移行することを特徴とする能動学習方法を提供する。
【００２１】
本発明の上記、及び、他の目的、特徴及び利益は、図面を参照する以下の説明により明らかになる。
【図面の簡単な説明】
【００２２】
【図１】本発明の第１の実施形態例にかかる能動学習システムのブロック図である。
【図２】本発明の第１の実施形態例にかかる能動学習システムで扱うデータの構造例を示す図である。
【図３】本発明の第１の実施形態例にかかる能動学習システムの動作を示す流れ図である。
【図４】本発明の第２の実施形態例にかかる能動学習システムのブロック図である。
【図５】本発明の第２の実施形態例にかかる能動学習システムで扱うデータの構造例を示す図である。
【図６】本発明の第２の実施形態例にかかる能動学習システムの動作を示す流れ図である。
【発明を実施するための最良の形態】
【００２３】
［第１の実施形態例］
図１を参照すると、本発明の第１の実施形態例にかかる能動学習システムは、利用者からの指示やデータを入力するキーボード等で構成された入力装置１と、プログラム制御により動作する処理装置２と、半導体メモリや磁気ディスク等で構成される記憶装置３〜７と、ディスプレイ装置等で構成される出力装置８とから構成されている。記憶装置３〜７は物理的に別の装置である必要はなく、同じ記憶装置を論理的に分割したものを記憶装置３〜７として使用することが可能である。【００２４】
記憶装置３は、入力装置１から入力された既知データ３１、未知データ３２および補助データ３３を記憶する。既知データ３１、未知データ３２および補助データ３３のデータ構造の一例を図２に示す。図２を参照すると、既知データ３１、未知データ３２および補助データ３３は、自データを一意に識別するための識別子２０１、１以上の記述子２０２および１以上のラベル２０３を含んで構成される。記述子２０２は当該データの構造などを特徴付けるものである。ラベル２０３は当該データの或る事象に関する状態を示し、クラスまたは関数値である。ここで、１以上のラベル２０３のうち、予測の対象となるラベルを所望ラベルと呼び、未知データ３２にあっては所望ラベルの値は未知（未設定状態）であり、既知データ３１にあっては所望ラベルの値は既知（設定済状態）になっている。補助データ３３の所望ラベルの値は、既知データ３１と同じく設定済状態であるが、既知データ３１の所望ラベルの値が実際に確かめられた確かな値であるのに対し、補助データ３３の所望ラベルの値は不確実な値である点で相違する。【００２５】
補助データ３３としては、所望ラベルの値が不確実なため既知データ３１として扱うのには適当でないが、効率的な学習の補助として有効に利用できるデータが利用される。例えば、創薬におけるスクリーニングで、活性あり化合物と活性なし化合物とを学習する場合、利用者の有する当該領域における知識と文献などの情報とから活性がありそうな或る化合物に注目したとする。その化合物が手元にあって実験で活性の有無を確かめられれば、既知データに分類できるが、そのような実験ができない場合、既知データには分類できない。また、活性がありそうな化合物なので、未知データに分類してしまうのも勿体ない。このようなとき、本実施形態では、所望ラベルの値を活性ありに設定して補助データとして扱うことで、言わば仮の既知データとして真の既知データと明確に区別して学習に利用できるようにする。同様に、創薬におけるスクリーニングで、活性あり化合物と活性なし化合物とを学習する場合、他の活性なし化合物に比べて僅かだが活性のある化合物は、従来においては既知データ中の活性なし化合物に分類してしか用いることができなかったが、本実施形態では、所望ラベルの値を活性ありに設定した補助データとして扱うことにより、仮の既知データとして真の既知データと明確に区別して学習に利用できるようにする。【００２６】
さらに、異なる事象であっても、類似している事象であれば、それらのラベルの値は或る程度同じ値をとる傾向がある点に着目して、既知データあるいは未知データの所望ラベルの値を該所望ラベルが示す事象と類似する事象の状態を示す他のラベルの値で書き換えることで、既知データまたは未知データから補助データを生成することも可能である。例えば、創薬におけるスクリーニングにおいて活性化合物を探索する例として、創薬の多くのターゲットになっているＧタンパク質共役型受容体（ＧＰＣＲ）のうち生体アミン受容体に作用するリガンド化合物、特に生体アミン受容体ファミリーの１つであるアドレナリンに作用するリガンド化合物を探索する場合を例にすると、次のようにして既知データあるいは未知データから補助データを生成できる。まず、複数のラベルのうちラベル１がアドレナリンに対する活性の有無を示し、ラベル２がヒスタミンに対する活性の有無を示すものとする。このとき、ラベル１が活性なしあるいは未知、ラベル２が活性ありとなっている或る化合物のデータのラベル１をラベル２の活性ありに書き換えたデータを補助データとする。これは、ヒスタミンはアドレナリンと同じＧＰＣＲの生体アミン受容体のファミリーに属していること、タンパク質同士が類縁関係にあるとき、リガンド化合物もしばしば似ていることがあることを利用者が考慮したことによる。【００２７】
再び図１を参照すると、記憶装置４は、入力装置１から入力された制御条件を記憶する。本実施形態の場合、制御条件は、補助条件４１、予測条件４２、データ選択条件４３、終了条件４４、出力条件４５および所定ラベル値４６を含む。【００２８】
補助条件４１は、補助データ３３を計算に利用する条件であり、例えば以下のような条件を用いることができる。
補助条件Ａ：初回から予め定めた反復回数Ｎまでは補助データ３３を計算に利用する。
補助条件Ｂ：予め定めた数の所望データが得られるまでは補助データ３３を計算に利用する。ここで、所望データとは、所望ラベルの値が所望値である既知データのことである。所望値とは、利用者にとって価値のあるラベル値のことである。例えば、創薬におけるスクリーニングで、所望ラベルが特定のタンパク質に対する活性の有無であり、利用者にとって活性ありの化合物が価値のある場合、所望値は活性ありになる。
補助条件Ｃ：既知データの一部を評価データとして残しておき、評価データ以外の既知データで計算した場合の評価データに対する予測精度が、評価データ以外の既知データおよび補助データから変換して得られた計算用データを用いた場合の評価データに対する予測精度よりも低ければ、補助データ３３を利用する。
補助条件Ｄ：補助条件Ｃで評価データを残す代わりに、推定した予測精度を用いて、補助データ３３を用いずに推定した予測精度が補助データ３３を用いて推定した予測精度よりも低ければ、補助データ３３を利用する。
補助条件Ｅ：補助データ３３を利用するかどうかの利用者からの指示に従う。【００２９】
上記の補助条件のうち、補助条件Ａ、Ｂ、Ｃ、Ｄはそれぞれ単独または任意の組み合わせで指定できる。また、補助条件Ｅは常に考慮すべき条件として設定される。【００３０】
予測条件４２は、次に学習するデータの予測方法を指定する。具体的には、類似度計算により導出するか、ルールにより導出するかを指定する。【００３１】
次に学習するデータをルールにより導出する方法は、従来の能動学習と同じであり、その予測方法としては従来の能動学習で用いられている手法をそのまま用いることができる。従来の能動学習で用いられる手法としては、例えば、決定木、ニューラルネットワーク、サポートベクタマシンなどによる学習や、それらを組み合わせたバギングやブースティングなどの集団学習を用いて、ルールを学習し、学習によって得られたルールを用いて未知データの所望ラベルの値を予測する手法などがある。【００３２】
他方、次に学習するデータを類似度計算により導出する方法は、従来の能動学習では用いられなかった方法である。具体的には、既知データ３１の集合（補助データ３３を利用する場合には、既知データ３１と補助データ３３とから生成される計算用データの集合）から所望ラベルの値が所定値を持つすべてのデータを所定データとして選択し、未知データ３２の集合中のデータ毎に所定データとの類似度を計算し、計算した類似度に基づいて次に学習すべきデータを未知データ３２の集合から選択する方法である。【００３３】
所定データの典型例は、所望ラベルの値が所望値であるデータ、つまり所望データである。所望データは、利用者にとって価値のあるデータであり、所望データかどうかはラベルの値で決まる。ラベルの値が２値をとる場合、一方のラベル値のデータが所望データである。例えば、創薬におけるスクリーニングで、ラベルが特定のタンパク質に対する活性の有無であり、利用者にとって活性あり化合物に価値があれば、活性あり化合物が所望データとなる。ラベルが連続値をとる場合、利用者にとって価値のある範囲のラベル値となるデータを所望データとする。例えば、ラベルが特定のタンパク質に対する活性の強さで、利用者にとって価値のあるデータが或る閾値以上の活性の強さである場合、その閾値以上の活性の強さであるデータが所望データとなる。なお、後述するように、所定ラベルの値が所望値でないデータを所定データとする場合もある。【００３４】
類似度の計算は、比較する２つのデータの記述子どうしを比較して行う。具体的には、例えば記述子が全部でｎ個ある場合、ｎ個の記述子どうしを比較し、例えば一致する記述子の数に応じた値を類似度とする。所定データが全部でｍ個存在する場合、１つの未知データをｍ個の所定データのそれぞれと比較する。その結果、たとえば、その中で最も高い類似度を当該未知データの類似度とする。勿論、すべての所定データとの類似度の平均値などの統計データを当該未知データの類似度としても良い。【００３５】
データ選択条件４３は、次に学習するデータの選択方法を指定する。次に学習するデータをルールにより導出する方法を用いる場合、集団学習での予測値が割れたデータを選択する方法や、所望するラベル値に近い予測値のデータを選択する方法や、予測値に対する或る関数を用いて選択する方法など、従来の能動学習で用いられている選択方法と同様の方法を用いることができる。他方、類似度計算により次に学習するデータを選択する方法を用いる場合、類似度の最も高いデータを選択する、あるいはその逆に類似度の最も低いデータを選択するといった選択方法を用いることができる。【００３６】
終了条件４４は、計算を終了する条件であり、例えば以下のような条件を用いることができる。
終了条件ａ：予め定めた反復回数Ｎを超えたら終了する。
終了条件ｂ：予め定めた数の所望データが得られれば終了する。
終了条件ｃ：計算用データの一部を評価データとして予測に用いずに残しておき、評価データの予測精度が予め定めた値よりも高くなれば終了する。
終了条件ｄ：予測精度を推定し、推定した予測精度が予め定めた値よりも高くなれば終了する。
終了条件ｅ：終了条件ｂ、ｃ、ｄの何れかにおいて、値の向上する傾き（向上曲線）が予め定めた値よりも小さくなれば終了する。
終了条件ｆ：終了するかどうかの利用者からの指示に従う。【００３７】
上記の終了条件のうち、終了条件ａ、ｂ、ｃ、ｄ、ｅはそれぞれ単独または任意の組み合わせで指定できる。また、補助条件ｆは常に考慮すべき条件として設定される。【００３８】
出力条件４５は、計算の結果生成されたルール、既知データおよび所望データのうちのどれを出力するかを指定する。生成されたルール以外に既知データおよび所望データも出力できるようにした理由は、例えば、創薬におけるスクリーニングで、ラベルが特定のタンパク質に対する活性の有無である場合、利用者にとってはラベルが既知となった活性あり化合物に価値があり、出力することに意味があるためである。【００３９】
所定ラベル値４６は、注目するラベルとその値を指定する。典型的には、利用者にとって価値のあるデータのラベルとその値を指定するが、反対の場合もある。【００４０】
記憶装置５は、既知データ３１と補助データ３３とから処理装置２において生成された計算用データ５１を記憶する。計算用データ５１の生成方法については後述する。【００４１】
記憶装置６は、処理装置２において類似度計算によって選択された次に学習すべきデータ６１を記憶する。記憶装置７は、処理装置２において生成されたルール７１およびルール７１によって選択された次に学習すべき選択データ７２を記憶する。処理装置２は、初期設定手段２１、計算用データ生成手段２２、データ選択手段２３、処理制御手段２４およびデータ更新手段２５を備えている。【００４２】
初期設定手段２１は、入力装置１から既知データ３１、未知データ３２および補助データ３３が入力されると、それらを記憶装置３へ格納する。また、入力装置１から補助条件４１、予測条件４２、データ選択条件４３、終了条件４４、出力条件４５および所定ラベル値４６が入力されると、それらを記憶装置４へ格納する。既知データ３１、未知データ３２および補助データ３３は、それぞれ独立に入力しても良いし、一括して入力することもできる。同様に、補助条件４１、予測条件４２、データ選択条件４３、終了条件４４、出力条件４５および所定ラベル値４６は、それぞれ独立に入力しても良いし、一括して入力することもできる。また、計算の開始から終了までの期間中に、既に入力した既知データ３１、未知データ３２、補助データ３３、補助条件４１、予測条件４２、データ選択条件４３、終了条件４４、出力条件４５および所定ラベル値４６を別の入力データで置き換えることもできる。【００４３】
計算用データ生成手段２２は、記憶装置４から補助条件４１を読み出し、記憶装置３から既知データ３１および補助データ３３を読み出し、計算用データ５１を生成して、記憶装置５に格納する。具体的には、補助条件４１の成否を判定し、補助データ３３を利用する条件が成立していれば、補助データ３３と、既知データ３１のうち補助データ３３と記述子がすべて一致するデータを除く残りのデータとを計算用データ５１とする。他方、補助データ３３を利用する条件が成立していなければ、既知データ３１を計算用データ５１とする。【００４４】
データ選択手段２３は、第１のデータ選択部２６および第２のデータ選択部２７を備え、この２つのデータ選択部２６、２７のうち、記憶装置４に記憶された予測条件４２に応じた何れか一方を選択的に実行する。或る態様では、計算の開始時には第１のデータ選択部２６を実行し、後に第２のデータ選択部２７の実行に切り替わり、計算の終了まで第２のデータ選択部２７を実行し続ける。また、別の態様では、計算の開始から終了まで第２のデータ選択部２７を実行する。【００４５】
第１のデータ選択部２６は、記憶装置５から計算用データ５１を読み出し、記憶装置３から未知データ３２を読み出し、記憶装置４からデータ選択条件４３および所定ラベル値４６を読み出し、計算用データ５１の集合から所定ラベル値４６を持つデータを所定データとして選択し、未知データ３２の集合中のデータ毎に所定データとの類似度を計算し、この計算した類似度とデータ選択条件４３とに基づいて次に学習すべきデータを未知データ３２の集合から選択し、選択データ６１として記憶装置６に格納する。【００４６】
第２のデータ選択部２７は、記憶装置５から計算用データ５１を読み出し、記憶装置３から未知データ３２を読み出し、記憶装置４からデータ選択条件４３および所定ラベル値４６を読み出し、計算用データ５１に基づいて任意のデータの記述子の入力に対してそのデータの所定ラベルの値を計算するルールを学習し、この学習したルールを未知データ３２の集合に適用して各未知データの所定ラベルの値を予測し、この予測結果とデータ選択条件４３とに基づいて次に学習すべきデータを未知データ３２の集合から選択し、選択データ７２として前記生成したルール７１と一緒に記憶装置７に格納する。【００４７】
処理制御手段２４は、記憶装置４から終了条件４４を読み出して終了可否を判定し、終了条件を満たしていれば、記憶装置４から読み出した出力条件４５に従って、記憶装置７に格納されているルール７１、記憶装置３に格納されている既知データ３１、および既知データ３１に含まれる所望データなどを出力装置８に出力し、処理装置２の計算処理を終了する。他方、終了条件４４を満たしていなければ、第１のデータ選択部２６が動作中であれば記憶装置６に格納された選択データ６１、第２のデータ選択部２７が動作中であれば記憶装置７に格納された選択データ７２を出力装置８に出力する。そして、利用者の入力装置１の操作により、前記出力したデータのラベルの値が入力されると、入力されたラベル値を設定したデータをデータ更新手段２５に渡し、処理装置２の計算処理を続行させる。【００４８】
データ更新手段２５は、ラベル値の設定されたデータを記憶装置３の既知データ３１の集合に加え、未知データ３２の集合から該当する元のデータを取り除く。【００４９】
処理装置２は、終了条件４４が満たされるまで、図１に破線で示される制御の流れに沿って、計算用データ生成手段２２、データ選択手段２３、処理制御手段２４およびデータ更新手段２５の処理を繰り返し実行する。【００５０】
図３は本実施形態にかかる能動学習システムの全体の動作を示すフローチャートである。以下、図１乃至図３を参照して、本実施形態の動作を説明する。【００５１】
処理装置２は、利用者による入力装置１からの指示等によって起動されると、図３のフローチャートに示す処理を開始する。処理装置２の初期設定手段２１は、入力装置１からデータと制御条件とを入力し、データを記憶装置３に格納し、制御条件を記憶装置４に格納する（図３のステップＳ１０１）。入力されるデータは、既知データ３１、未知データ３２および補助データ３３の３種類である。これら３種類のデータは、それぞれに分けて格納しても良いし、あるいは図２で示したようにデータにデータ番号や一意に振られたＩＤなどの識別子２０１を付けて、データを分けずに格納し、識別子２０１とデータ種類との対応情報を別の場所に格納しても良い。また、ラベルも対応付けを行って、記述子とは分けて格納しても良い。なお、既知データ３１と補助データ３３の何れか一方は空集合であっても構わない。既知データ３１が空集合の場合、計算用データ５１は補助データのみとなる。【００５２】
また入力される制御条件は、補助条件４１、予測条件４２、データ選択条件４３、終了条件４４、出力条件４５および所定ラベル値４６を含む。これらは全てが必須の制御条件ではなく、必要に応じて省略可能なものもある。例えば、所定ラベル値４６は、他の制御条件の何れかにおいて所定ラベル値や所定データが用いられない場合には省略することができる。また、図３のフローチャートには示されていないが、各制御条件は他の制御条件と一緒に入力する必要はなく個別に入力することもでき、また初期設定時のみでなく計算途中に入力することもできる。例えば、予測条件は計算途中で類似度を用いる条件からルール学習を行う条件に変更することができる。【００５３】
次に処理装置２の計算用データ生成手段２２は、記憶装置４から補助条件４１を読み出して成立の可否を判定し（ステップＳ１０２）、補助条件が満たされないなら、記憶装置３から読み出した既知データ３１の集合を計算用データ５１として記憶装置５に格納する（ステップＳ１０３）。他方、補助条件４１を満たすなら、記憶装置３から既知データ３１と補助データ３３とを読み出し、補助データ３３を計算用データ５１として記憶装置５に格納するとともに、既知データ３１から補助データ３３と記述子が同じデータを除いた残りを計算用データ５１として記憶装置５に追加格納する（ステップＳ１０４）。既知データ３１から補助データ３３と記述子が同じデータを取り除く理由は、既知データのラベルの値を書き換えて生成された補助データ３３を利用者が使用している可能性があるためである。この場合、補助データ３３を用いて既知データ３１のラベルの値を変換していることと等価になる。【００５４】
次に処理装置２のデータ選択手段２３は、記憶装置４から予測条件４２を読み出し、類似度を用いて処理を行うか、ルール学習により処理を行うかを判定する（ステップＳ１０５）。類似度を用いて処理を行うと判定した場合は第１のデータ選択部２６を起動し、ルール学習により処理を行うと判定した場合は第２のデータ選択部２７を起動する。【００５５】
第１のデータ選択部２６は、まず記憶装置５に格納された計算用データ５１の集合から所定ラベル値４６と同じラベル値を持つすべてのデータを所定データとして選択し、計算用所定データとする（ステップＳ１０６）。次に、記憶装置３に格納された未知データ３２の集合中のデータ毎に、計算用所定データとの類似度を計算する（ステップＳ１０７）。最後に、計算した各未知データの類似度と、記憶装置４に格納されたデータ選択条件４３とに基づいて、未知データ３２の集合から次に学習すべきデータを選択データ６１として選択し、記憶装置６に格納する（ステップＳ１０８）。【００５６】
第２のデータ選択部２７は、まず記憶装置５に格納された計算用データ５１に基づいて任意のデータの記述子の入力に対してそのデータの所定ラベルの値を計算するルール７１を学習し、記憶装置７に記憶する（ステップＳ１０９）。次に、この学習したルール７１を記憶装置３に格納された未知データ３２の集合に適用して各未知データの所定ラベルの値を予測する（ステップＳ１１０）。最後に、各未知データの所定ラベルの予測結果と、記憶装置４に格納されたデータ選択条件４３とに基づいて、未知データ３２の集合から次に学習すべきデータを選択データ７２として選択し、記憶装置７に格納する。【００５７】
次に処理装置２の処理制御手段２４は、記憶装置４から終了条件４４を読み出して成立の可否を判定する（ステップＳ１１２）。そして、終了条件４４が成立していなければ、データ選択手段２３で選択されたデータを記憶装置６または記憶装置７から読み出して出力装置８に出力し、利用者の入力装置１の操作により、前記出力したデータのラベルの値を入力する（ステップＳ１１３）。次に処理装置２のデータ更新手段２５は、ラベル値が入力されたデータを未知データ３２から取り除き、既知データ３１に追加する（ステップＳ１１４）。そして、制御を計算用データ生成手段２２に戻し、上述した処理と同様の処理を終了条件が成立するまで繰り返す。【００５８】
ステップＳ１１３における選択データの出力では、データそのものを出力しても良いし、選択されたデータの識別子２０１を出力しても良い。同じくステップＳ１１３におけるラベル値の入力では、記述子とラベルを含めたデータそのものを入力しても良いし、データのラベルの値のみを入力しても良い。さらに、利用者がシステムが出力したデータ以外にラベルをつけたい場合には、データとの対応を示せば、別のデータのラベルを入力しても構わない。これは、能動学習システムが利用者に対する支援を目指しており、利用者が自身の知識に基づいて、選択されたデータが不適切と判断すれば別のデータにラベル付けを行うことを可能にするためである。【００５９】
また、処理制御手段２４に制御が移っているステップＳ１１３の時点で、利用者に補助データを変更するかどうかを問い合わせ、新たな補助データを利用者に入力させても良い。さらに、以前に利用者から入力された補助データ３３に対し、入力装置１の操作によってラベル値が入力された場合には、補助データの取り消しを行うかどうかを利用者に確認しても良い。このように補助データを変更する場合には、記憶装置３の補助データ３３を新たな補助データに書き換える。またさらに、現在の既知データ３１の内容、あるいはその中の所定データの内容や数などを、出力装置８に出力し、利用者に対して予測条件４２を変更するかどうかを問い合わせ、新たな予測条件４２を利用者に入力させても良い。【００６０】
他方、処理装置２の処理制御手段２４は、終了条件４４が成立していれば、記憶装置４に格納された出力条件４５に応じて、ルール７１および既知データ３１などを出力装置８から出力し（ステップＳ１１５）、処理を終える。次に幾つかの状況を想定して本実施形態の動作をより詳しく説明する。【００６１】
前提として、処理装置２で扱うデータが図２に示したようなデータ構造をしており、ラベル１が所望ラベル、ラベル１のとり得る値が２値｛Ａ，Ｂ｝とする。また、そのうち所望のラベル値はＡとする。例えば、創薬におけるスクリーニングの場合、ラベル１が或るタンパク質に対する活性の有無で、Ａが活性あり、Ｂが活性なしに相当する。利用者の目的は、ラベル１の値が未知のデータ３２の集合の中から、ラベル１がＡであるデータを、ランダム選択よりは効率良く発見することである。ここで、未知データの多くはラベル１の値がＢであることが前提になっている。従って、ラベル１の値がＢであるデータはランダム選択によって容易に発見することができる。これに対してラベル１の値がＡのデータは、ランダム選択では発見コストが著しく増加することになる。【００６２】
（１）想定例１
まず、ラベル１の値がＢの既知データは必要十分な数だけ準備できたが、ラベル１の値がＡの既知データは全く存在しない状況を想定する。これは例えば、或るタンパク質に活性のない化合物のデータは多数存在するが、活性のある化合物のデータはまったく存在しない状況に相当する。【００６３】
このような状況の下で、ラベル１の値がＡの既知データを効率良く発見する方法には、主に以下の３通りの方法がある。
（１−１）ラベル１の値がＢの既知データとの類似度が最も低い未知データを、ラベル１の値がＡのデータの候補として選択する予測方法で処理を開始し、ラベル１の値がＡのデータがある程度収集できた時点で、ルールを学習する予測方法に切り替える。
（１−２）ラベル１の値がＡの補助データを生成し、この補助データとの類似度が最も高い未知データを、ラベル１の値がＡのデータの候補として選択する予測方法で処理を開始し、ラベル１の値がＡのデータがある程度収集できた時点で、ルールを学習する予測方法に切り替える。
（１−３）ラベル１の値がＡの補助データを生成し、最初からルールを学習する予測方法で予測を行う。
以下、それぞれの場合について動作を説明する。【００６４】
（１−１）動作例１
まず、初期設定で、ラベル１の値がＢであるデータだけを含む既知データ３１と、ラベル１の値が未知の未知データ３２とを記憶装置３に記憶する。ここでは補助データ３３は使用しない。また、予測条件４２で類似度を用いる予測方式を指定し、データ選択条件４３で最も類似度の低いデータを選択するという条件を指定する。所定ラベル値４６ではラベル１の値Ｂを指定する。【００６５】
図３の処理が開始されると、まず、ラベル１の値がＢである既知データ３１が計算用データ５１として生成される（ステップＳ１０３）。次に、計算用データ５１から所定ラベル値４６を持つすべてのデータ、つまりラベル１の値がＢのデータが計算用所定データとして選択される（ステップＳ１０６）。次に、未知データ３２中の各データについて、計算用所定データとの類似度が計算される（ステップＳ１０７）。次に、データ選択条件４３に従って、計算用所定データとの類似度が最も低い未知データ、すなわちラベル１の値がＢである既知データに最も似ていない未知データが選択データ６１として選択される（ステップＳ１０８）。そして、この選択データ６１が処理制御手段２４により出力装置８に出力され、利用者は、実験等によって選択データ６１のラベル１の値を調べて入力装置１から入力する（ステップＳ１１３）。ここで、選択データ６１は、ラベル１の値がＢであるデータに最も似ていないデータであるから、未知データ３２の集合からランダムに選択するよりは、ラベル１の値がＡであるデータである確率が高くなる。データ更新手段２５は、ラベル１に値が入力されたデータを未知データ３２から取り除き、既知データ３１に追加する（ステップＳ１１４）。【００６６】
以上と同様な動作が繰り返され、ラベル１の値がＡの計算用データあるいは既知データがルール学習に必要な数だけ集まった時点で、入力装置１から予測条件４２をルール学習による予測に変更し、所定ラベル値４６をラベル１の値Ａに変更する。これにより、以降は従来の能動学習システムと同様の方法でルールが学習され、学習されたルールによって未知データ３２の中からデータが選択されていく。なお、入力装置１から予測条件４２を変更する代わりに、予測条件４２自体に、ラベル１の値がＡの計算用データあるいは既知データが或る閾値以上揃ったらルール学習に変更するという条件を設定しておいて処理制御手段２４が自動的に予測方法を切り替えるようにすることもできる。【００６７】
（１−２）動作例２
本動作例では、ラベル１の値をＡに設定した補助データ３３を使用する。このような補助データ３３は前述したように、例えば既知データ３１あるいは未知データ３２中の或るデータのラベル１の値を、ラベル１が示す事象と類似する事象の状態を示す他のラベルの値で書き換えることで、生成することができる。【００６８】
まず、初期設定で、ラベル１の値がＢであるデータだけを含む既知データ３１と、ラベル１の値が未知の未知データ３２と、ラベル１の値がＡである補助データ３３とを記憶装置３に記憶する。また、予測条件４２で類似度を用いる予測方式を指定し、データ選択条件４３で最も類似度の高いデータを選択するという条件を指定する。所定ラベル値４６ではラベル１の値Ａを指定する。補助データ３３を使用するので、適当な補助条件４１を指定しておく。【００６９】
図３の処理が開始されると、まず、ラベル１の値がＡの補助データ３３と、ラベル１の値がＢである既知データ３１のうち補助データ３３と記述子が同一のデータを除いた残りのデータとが計算用データ５１として生成される（ステップＳ１０４）。次に、計算用データ５１から所定ラベル値４６を持つすべてのデータ、つまりラベル１の値がＡのデータが計算用所定データとして選択される（ステップＳ１０６）。次に、未知データ３２中の各データについて、計算用所定データとの類似度が計算される（ステップＳ１０７）。次に、データ選択条件４３に従って、計算用所定データとの類似度が最も高い未知データ、すなわちラベル１の値がＡである補助データに最も似ている未知データが選択データ６１として選択される（ステップＳ１０８）。そして、この選択データ６１が処理制御手段２４により出力装置８に出力され、利用者は、実験等によって選択データ６１のラベル１の値を調べて入力装置１から入力する（ステップＳ１１３）。ここで、補助データ３３は、ラベル１がＡである既知データではなく、いわば仮の既知データであるが、ラベル１と置換に使用した他のラベルとの間には類似関係があるため、真の既知データと構造が似ている可能性が高い。そして選択データ６１は、ラベル１の値がＡである補助データに最も似ているデータであるから、未知データ３２の集合からランダムに選択するよりは、ラベル１の値がＡであるデータである確率が高くなる。データ更新手段２５は、ラベル１に値が入力されたデータを未知データ３２から取り除き、既知データ３１に追加する（ステップＳ１１４）。【００７０】
以上と同様な動作が繰り返され、ラベル１の値がＡの計算用データあるいは既知データがルール学習に必要な数だけ集まった時点で、入力装置１から予測条件４２をルール学習による予測に変更する。これにより、以降は従来の能動学習システムと同様の方法でルールが学習され、学習されたルールによって未知データ３２の中からデータが選択されていく。ただし、補助条件４１が成立している間は補助データ３３が仮の既知データとして使われる点が従来とは相違する。補助データ３３は、ラベル１がＡである既知データではなく、いわば仮の既知データであるが、ラベル１と置換に使用した他のラベルとの間には類似関係があるため、補助データを用いて学習するルールは、或る程度意味のあるルールとなる。なお、入力装置１から予測条件４２を変更する代わりに、予測条件４２自体に、ラベル１の値がＡの計算用データが或る閾値以上揃ったらルール学習に変更するという条件を設定しておいて処理制御手段２４が自動的に予測方法を切り替えるようにすることもできる。【００７１】
（１−３）動作例３
ラベル１の値がＡである補助データがルール学習に必要十分な数だけ準備できる場合、類似度による予測を一切使わずに処理の開始からルール学習による予測を行わせることも可能である。【００７２】
まず、初期設定で、ラベル１の値がＢであるデータだけを含む既知データ３１と、ラベル１の値が未知の未知データ３２と、ラベル１の値がＡである補助データ３３とを記憶装置３に記憶する。また、予測条件４２でルール学習を用いる予測方式を指定する。所定ラベル値４６ではラベル１の値Ａを指定する。補助データ３３を使用するので、適当な補助条件４１を指定しておく。【００７３】
図３の処理が開始されると、まず、ラベル１の値がＡの補助データ３３と、ラベル１の値がＢである既知データ３１のうち補助データ３３と記述子が同一のデータを除いた残りのデータとが計算用データ５１として生成される（ステップＳ１０４）。次に、計算用データ５１を用いてルールを学習し、記憶装置７にルール７１として記憶する（ステップＳ１０９）。次に、ルール７１を用いて未知データ３２の集合に対してラベル１の値を予測し（ステップＳ１１０）、その予測結果とデータ選択条件４３とに基づいて次に学習するデータを選択して記憶装置７に記憶する（ステップＳ１１１）。そして、この選択データ７２が処理制御手段２４により出力装置８に出力され、利用者は、実験等によって選択データ７２のラベル１の値を調べて入力装置１から入力する（ステップＳ１１３）。ここで、データ選択条件４３がたとえば所望するラベル値に近い予測値のデータを選択するものであれば、未知データ３２の集合からランダムに選択するよりは、ラベル１の値がＡであるデータである確率が高くなる。データ更新手段２５は、ラベル１に値が入力されたデータを未知データ３２から取り除き、既知データ３１に追加する（ステップＳ１１４）。
以上と同様な動作が終了条件４４が成立するまで繰り返される。【００７４】
（２）想定例２
想定例１と異なり、ラベル１の値がＡの既知データが僅かに存在する状況を想定する。これは例えば、或るタンパク質に活性のない化合物のデータは多数存在するが、活性のある化合物のデータがごく僅かしか存在しない状況に相当する。【００７５】
このような状況の下で、ラベル１の値がＡの既知データを効率良く発見する方法には、主に以下の３通りの方法がある。
（２−１）前述した想定例１の動作例１と同様に、ラベル１の値がＢの既知データとの類似度が最も低い未知データを、ラベル１の値がＡのデータの候補として選択する予測方法で処理を開始し、ラベル１の値がＡのデータがある程度収集できた時点で、ルールを学習する予測方法に切り替える。
（２−２）僅かに存在するラベル１の値がＡの既知データとの類似度が最も高い未知データを、ラベル１の値がＡのデータの候補として選択する予測方法で処理を開始し、ラベル１の値がＡのデータがある程度収集できた時点で、ルールを学習する予測方法に切り替える。
（２−３）ラベル１の値がＡの補助データを生成し、ラベル１の値がＡの既知データとあわせて、最初からルールを学習する予測方法で予測を行う。
以下、それぞれの場合について動作を説明する。【００７６】
（２−１）動作例４
まず、初期設定で、ラベル１の値がＡである僅かなデータとラベル１の値がＢである十分な数のデータを含む既知データ３１と、ラベル１の値が未知の未知データ３２とを記憶装置３に記憶する。ここでは補助データ３３は使用しない。また、予測条件４２で類似度を用いる予測方式を指定し、データ選択条件４３で最も類似度の低いデータを選択するという条件を指定する。所定ラベル値４６ではラベル１の値Ｂを指定する。【００７７】
図３の処理が開始されると、まず、既知データ３１が計算用データ５１として保存される（ステップＳ１０３）。次に、計算用データ５１から所定ラベル値４６を持つすべてのデータ、つまりラベル１の値がＢの既知データが計算用所定データとして選択される（ステップＳ１０６）。次に、未知データ３２中の各データについて、計算用所定データとの類似度が計算される（ステップＳ１０７）。次に、データ選択条件４３に従って、計算用所定データとの類似度が最も低い未知データ、すなわちラベル１の値がＢである既知データに最も似ていない未知データが選択データ６１として選択される（ステップＳ１０８）。そして、この選択データ６１が処理制御手段２４により出力装置８に出力され、利用者は、実験等によって選択データ６１のラベル１の値を調べて入力装置１から入力する（ステップＳ１１３）。ここで、選択データ６１は、ラベル１の値がＢであるデータに最も似ていないデータであるから、未知データ３２の集合からランダムに選択するよりは、ラベル１の値がＡであるデータである確率が高くなる。データ更新手段２５は、ラベル１に値が入力されたデータを未知データ３２から取り除き、既知データ３１に追加する（ステップＳ１１４）。【００７８】
以上と同様な動作が繰り返され、ラベル１の値がＡの計算用データあるいは既知データがルール学習に必要な数だけ集まった時点で、入力装置１から予測条件４２をルール学習による予測に変更し、所定ラベル値４６をラベル１の値Ａに変更する。これにより、以降は従来の能動学習システムと同様の方法でルールが学習され、学習されたルールによって未知データ３２の中からデータが選択されていく。なお、入力装置１から予測条件４２を変更する代わりに、予測条件４２自体に、ラベル１の値がＡの計算用データあるいは既知データが或る閾値以上揃ったらルール学習に変更するという条件を設定しておいて処理制御手段２４が自動的に予測方法を切り替えるようにすることもできる。【００７９】
（２−２）動作例５
本動作例では、まず初期設定で、ラベル１の値がＡである僅かなデータとラベル１の値がＢであるデータを含む既知データ３１と、ラベル１の値が未知の未知データ３２とを記憶装置３に記憶する。また、予測条件４２で類似度を用いる予測方式を指定し、データ選択条件４３で最も類似度の高いデータを選択するという条件を指定する。所定ラベル値４６ではラベル１の値Ａを指定する。【００８０】
図３の処理が開始されると、まず、ラベル１の値がＡであるデータおよびＢであるデータを含む既知データ３１が計算用データ５１として生成される（ステップＳ１０３）。次に、計算用データ５１から所定ラベル値４６を持つすべてのデータ、つまりラベル１の値がＡのデータが計算用所定データとして選択される（ステップＳ１０６）。次に、未知データ３２中の各データについて、計算用所定データとの類似度が計算される（ステップＳ１０７）。次に、データ選択条件４３に従って、計算用所定データとの類似度が最も高い未知データ、すなわちラベル１の値がＡである既知データに最も似ている未知データが選択データ６１として選択される（ステップＳ１０８）。そして、この選択データ６１が処理制御手段２４により出力装置８に出力され、利用者は、実験等によって選択データ６１のラベル１の値を調べて入力装置１から入力する（ステップＳ１１３）。ここで、選択データ６１は、ラベル１の値がＡである既知データに最も似ているデータであるから、未知データ３２の集合からランダムに選択するよりは、ラベル１の値がＡであるデータである確率が高くなる。データ更新手段２５は、ラベル１に値が入力されたデータを未知データ３２から取り除き、既知データ３１に追加する（ステップＳ１１４）。【００８１】
以上と同様な動作が繰り返され、ラベル１の値がＡの計算用データあるいは既知データがルール学習に必要な数だけ集まった時点で、入力装置１から予測条件４２をルール学習による予測に変更する。これにより、以降は従来の能動学習システムと同様の方法でルールが学習され、学習されたルールによって未知データ３２の中からデータが選択されていく。なお、入力装置１から予測条件４２を変更する代わりに、予測条件４２自体に、ラベル１の値がＡの計算用データが或る閾値以上揃ったらルール学習に変更するという条件を設定しておいて処理制御手段２４が自動的に予測方法を切り替えるようにすることもできる。【００８２】
（２−３）動作例６
ラベル１の値がＡである補助データを幾つか準備できる場合、ラベル１の値がＡの既知データとあわせて、処理の開始からルール学習による予測を行わせることも可能である。【００８３】
まず、初期設定で、ラベル１の値がＡである僅かなデータとラベル１の値がＢであるデータを含む既知データ３１と、ラベル１の値が未知の未知データ３２と、ラベル１の値がＡである補助データ３３とを記憶装置３に記憶する。また、予測条件４２でルール学習を用いる予測方式を指定する。所定ラベル値４６ではラベル１の値Ａを指定する。補助データ３３を使用するので、適当な補助条件４１を指定しておく。【００８４】
図３の処理が開始されると、まず、ラベル１の値がＡの補助データ３３と、ラベル１の値がＡである僅かなデータとラベル１の値がＢであるデータとを含む既知データ３１のうち補助データ３３と記述子が同一のデータを除いた残りのデータとが計算用データ５１として生成される（ステップＳ１０４）。次に、計算用データ５１を用いてルールを学習し、記憶装置７にルール７１として記憶する（ステップＳ１０９）。次に、ルール７１を用いて未知データ３２の集合に対してラベル１の値を予測し（ステップＳ１１０）、その予測結果とデータ選択条件４３とに基づいて次に学習するデータを選択して記憶装置７に記憶する（ステップＳ１１１）。そして、この選択データ７２が処理制御手段２４により出力装置８に出力され、利用者は、実験等によって選択データ７２のラベル１の値を調べて入力装置１から入力する（ステップＳ１１３）。ここで、データ選択条件４３がたとえば所望するラベル値に近い予測値のデータを選択するものであれば、未知データ３２の集合からランダムに選択するよりは、ラベル１の値がＡであるデータである確率が高くなる。
データ更新手段２５は、ラベル１に値が入力されたデータを未知データ３２から取り除き、既知データ３１に追加する（ステップＳ１１４）。
以上と同様な動作が終了条件４４が成立するまで繰り返される。【００８５】
本実施形態によれば、学習開始時点の初期の状態において既知データの集合中に所望データが全く存在しないかごく僅かしか存在しないような、ルール学習が正しく行えない状況であっても、ランダム選択よりは効率的に未知データの集合から所望データを選択することができ、最終的に所望データを使ったルール学習が可能になる。【００８６】
その理由は、既知データの集合に存在する所望データ以外のデータと最も似ていないデータを未知データから選択するという類似度による予測方法によってランダム選択よりは効率的に所望データの発見が行えるためである。また別の理由は、僅かに存在する所望データあるいは仮の所望データである補助データに最も似ているデータを未知データから選択するという類似度による予測方法によってランダム選択よりは効率的に所望データの発見が行えるためである。さらに別の理由は、仮の所望データである補助データを使って意味のある学習が行えるためである。【００８７】
［第２の実施形態例］
図４を参照すると、本発明の第２の実施形態例にかかる能動学習システムは、図１に示した第１の実施形態例にかかる能動学習システムと比較して、計算用データ生成手段２２の代わりに重み付き計算用データ生成手段２８を備え、データ選択手段２３の代わりに重みを考慮して予測を行うデータ選択手段２９を備えている点で相違する。【００８８】
重み付き計算用データ生成手段２８は、第１の実施形態例の計算用データ生成手段２２と同様の機能を有する計算用データ生成部２８Ａと、この計算用データ生成部２８Ａにより生成された計算用データに対して重みを付与するデータ重み付け部２８Ｂとから構成される。【００８９】
図５を参照すると、重み付き計算用データのデータ構造の一例は、図２に示した計算用データに重み２０４の項目を付加した構造を持つ。重み２０４は、例えば０から１までの値をとり、１に近いほど（値が大きいほど）重要度が高いことを示す。【００９０】
データ重み付け部２８Ｂは、既知データ３１が補助データ３３より重要視したルール学習や類似度計算が行われるように、既知データ３１から生成された計算用データに対する重みを補助データ３３から生成された計算用データに対する重みよりも相対的に大きくする。それぞれに対してどの程度の値の重みを使用するかは、制御条件の一つに追加した重み条件で初期設定時および計算中に外部から指定するようにしても良いし、例えば既知データには値１、補助データにはその半分の値を設定するものと予め定めておいても良い。【００９１】
図６は本実施形態にかかる能動学習システムの全体の動作を示すフローチャートである。以下、図４乃至図６を参照して、本実施形態の動作を説明する。処理装置２は、利用者による入力装置１からの指示等によって起動されると、図６のフローチャートに示す処理を開始する。【００９２】
処理装置２の初期設定手段２１は、入力装置１からデータと制御条件とを入力し、データを記憶装置３に格納し、制御条件を記憶装置４に格納する（図６のステップＳ１０１）。次に処理装置２の重み付き計算用データ生成手段２８の計算用データ生成部２８Ａは、記憶装置４から補助条件４１を読み出して成立の可否を判定し（ステップＳ１０２）、補助条件が満たされないなら、記憶装置３から読み出した既知データ３１をデータ重み付け部２８Ｂに与え、データ重み付け部２８Ｂは与えられた既知データ３１に既知データ用の重みを付加して、計算用データ５１として記憶装置５に格納する（ステップＳ１０３）。【００９３】
他方、補助条件を満たすなら、計算用データ生成部２８Ａは、記憶装置３から既知データ３１と補助データ３３とを読み出し、補助データ３３をデータ重み付け部２８Ｂに与え、データ重み付け部２８Ｂは与えられた補助データ３３に補助データ用の重みを付加して、計算用データ５１として記憶装置５に格納する（ステップＳ２０１）。さらに計算用データ生成部２８Ａは、既知データ３１から補助データ３３と記述子が同じデータを除いた残りのデータをデータ重み付け部２８Ｂに与え、データ重み付け部２８Ｂは与えられたデータに既知データ用の重みを付加して、計算用データ５１として記憶装置５に追加格納する（ステップＳ２０１）。【００９４】
次に処理装置２のデータ選択手段２９は、記憶装置４から予測条件４２を読み出し、類似度を用いて処理を行うか、ルール学習により処理を行うかを判定する（ステップＳ１０５）。類似度を用いて処理を行うと判定した場合は第１のデータ選択部２６を起動し、ルール学習により処理を行うと判定した場合は第２のデータ選択部２７を起動する。【００９５】
第１のデータ選択部２６は、まず記憶装置５に格納された重み付きの計算用データ５１の集合から所定ラベル値４６と同じラベル値を持つすべてのデータを所定データとして選択し、計算用所定データとする（ステップＳ１０６）。次に、記憶装置３に格納された未知データ３２の集合中のデータ毎に、計算用所定データとの類似度を計算する（ステップＳ２０２）。この類似度の計算時に重みを考慮し、既知データ３１を補助データ３３より重要視するような類似度を計算する。例えば、記述子が全部でｎ個ある場合、未知データと計算用所定データとの間でｎ個の記述子どうしを比較し、例えば一致する記述子の数に応じた値に、その計算用所定データに付加されている重みを乗じた値を類似度とする。次に、計算した各未知データの類似度と、記憶装置４に格納されたデータ選択条件４３とに基づいて、未知データ３２の集合から次に学習すべきデータを選択データ６１として選択し、記憶装置６に格納する（ステップＳ１０８）。【００９６】
第２のデータ選択部２７は、まず記憶装置５に格納された計算用データ５１に基づいて任意のデータの記述子の入力に対してそのデータの所定ラベルの値を計算するルール７１を学習し、記憶装置７に記憶する（ステップＳ２０３）。このルールの学習時に重みを考慮し、既知データ３１を補助データ３３より重要視するような学習を行う。具体的には、例えば、バギング法では、計算用データからサンプリングしたデータを複数回生成することにより複数のルールを生成しているが、このサンプリング時に重みの値が大きい計算用データが重みの値が小さい計算用データに比べてよりサンプリングされ易くする。勿論、計算用データに付加された重みに応じて学習の重要度を変える方法は上述した例に限定されず、その他各種の方法を採用することが可能である。次に、学習したルール７１を記憶装置３に格納された未知データ３２の集合に適用して各未知データの所定ラベルの値を予測する（ステップＳ１１０）。最後に、各未知データの所定ラベルの予測結果と、記憶装置４に格納されたデータ選択条件４３とに基づいて、未知データ３２の集合から次に学習すべきデータを選択データ７２として選択し、記憶装置７に格納する。【００９７】
次に処理装置２の処理制御手段２４は、記憶装置４から終了条件４４を読み出して成立の可否を判定する（ステップＳ１１２）。そして、終了条件４４が成立していなければ、データ選択手段２９で選択されたデータを記憶装置６または記憶装置７から読み出して出力装置８に出力し、利用者の入力装置１の操作により、前記出力したデータのラベルの値を入力する（ステップＳ１１３）。次に処理装置２のデータ更新手段２５は、ラベル値が入力されたデータを未知データ３２から取り除き、既知データ３１に追加する（ステップＳ１１４）。そして、制御を重み付き計算用データ生成手段２８に戻し、上述した処理と同様の処理を終了条件が成立するまで繰り返す。他方、処理装置２の処理制御手段２４は、終了条件４４が成立していれば、記憶装置４に格納された出力条件４５に応じて、ルール７１および既知データ３１などを出力装置８から出力し（ステップＳ１１５）、処理を終える。【００９８】
本実施形態によれば、重み付き計算用データ生成手段２８を備えるように構成されているため、既知データ３１を補助データ３３より重要視したルール学習や類似度計算を行うことが可能である。補助データは、ラベルが未知であるか又は本来のラベル値とは異なるラベル値を利用者により設定されたもので、真の既知データほど重要ではないため、そのような違いを反映した処理が可能となることにより、より効率的な予測が可能となる。【００９９】
以上本発明の実施形態例について説明したが、本発明は以上の実施形態例にのみ限定されず、その他各種の付加変更が可能である。また、本発明の能動学習システムは、その有する機能をハードウェア的に実現することは勿論、コンピュータと能動学習用プログラムとで実現することができる。能動学習用プログラムは、磁気ディスクや半導体メモリ等のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施形態例における初期設定手段２１、計算用データ生成手段２２または重み付き計算用データ生成手段２８、データ選択手段２３またはデータ選択手段２９、処理制御手段２４およびデータ更新手段２５として機能させ、また図３、図６に示した処理を実行させる。【０１００】
本発明にあっては、従来の能動学習システムで行われているルール学習によるデータ選択とは別に、類似度計算によって次に学習するデータを選択する。ルール学習を正しく行うためには、様々なラベル値の既知データが必要になるが、類似度計算による選択では、所望ラベルが所望値であるデータが既知データとして全く存在しない場合、所望ラベルが所望値以外の値である既知データと最も似ていない未知データを選択することで、ランダム選択の場合に比べて効率良く所望データを発見することができる。また、僅かでも所望データが存在すれば、所望データと最も似ている未知データを選択することで、ランダム選択の場合に比べて効率良く所望データを発見することができる。さらに、所望データがない場合に、利用者が所望データに近いと類推するデータを補助データとして用いることも可能である。所望データが集まった後は、類似度計算による予測から従来と同様のルール学習による予測へ移行することができる。【０１０１】
上記実施形態能動学習システムによると、既知データ中に或るラベル値付近（所望ラベル値）のデータ（所望データ）が全く存在しないか、ごく僅かしか存在しない場合にも、ランダム選択の場合に比べて効率良く次に学習するデータを選択できる。【０１０２】
その理由は、未知データについて既知データとの類似度を計算し次に学習するデータを選択する手段を備えているためである。より具体的には、既知データの集合に存在する所望データ以外のデータと最も似ていないデータを未知データから選択したり、僅かに存在する所望データに最も似ているデータを未知データから選択するといった類似度による予測方法によってランダム選択よりは効率的に所望データの発見が行えるためである。【０１０３】
また、利用者がもつ補助情報を利用して、より効率的に学習できる。その理由は、仮の所望データである補助データを使って類似度計算を行ったり、ルール学習が行えるためである。【０１０４】
本発明を特別に示し且つ例示的な実施形態を参照して説明したが、本発明は、その実施形態及びその変形に限定されるものではない。当業者に明らかなように、本発明は、添付のクレームに規定される本発明の精神及び範囲を逸脱することなく、種々の変更が可能である【０１０５】
本出願は、２００６年１０月１９日出願に係る日本特許出願２００６−２８４６６０号を基礎とし且つその優先権を主張するものであり、引用によってその開示の内容の全てを本出願の明細書中に加入する。
【産業上の利用可能性】
【０１０６】
本発明は、例えば、創薬におけるスクリーニングの場面において活性化合物を探索する場合などのように、多数の候補データからデータを選択して効率的に学習するような能動学習といった用途に適用できる。
【図１】
2008047835.tif 000003
【図２】
2008047835.tif 000004
【図３】
2008047835.tif 000005
【図４】
2008047835.tif 000006
【図５】
2008047835.tif 000007
【図６】
2008047835.tif 000008
【国際調査報告】
2008047835.tif 000009
2008047835.tif 000010