【解決手段】機械学習を行う学習装置(10)は、学習用データのセットの少なくとも一部を用いて学習する複数の学習器(22)と、複数の学習器(22)における或る学習器によって誤って推定された誤推定データのセットと、或る学習器によって正しく推定された正推定データのセットの少なくとも一部とに基づいて、仮想データのセットを生成する仮想データ生成部(24)とを備える。複数の学習器(22)における別の学習器は、仮想データ生成部(24)が生成した仮想データのセットと、学習用データのセットの少なくとも一部とを用いて学習する。
前記生成部は、前記誤推定データと、前記正推定データのセットのうち、該誤推定データとの多次元での座標上の距離が近い1または複数の前記正推定データとに基づいて、前記仮想データを生成することを特徴とする請求項1に記載の学習装置。
前記生成部は、前記誤推定データと、該誤推定データとは異なるクラスの前記正推定データであって、前記正推定データのセットのうち、前記誤推定データに多次元での座標上の距離が近い少なくとも2つの前記正推定データとに基づいて、前記仮想データを生成することを特徴とする請求項3に記載の学習装置。
前記生成部は、前記誤推定データと、該誤推定データと同じクラスの前記正推定データであって、前記正推定データのセットのうち、前記誤推定データに多次元での座標上の距離が近い少なくとも2つの前記正推定データとに基づいて、前記仮想データを生成することを特徴とする請求項3に記載の学習装置。
前記生成部は、前記仮想データの座標と前記少なくとも2つの前記正推定データの各座標との距離が、前記誤推定データの座標と前記少なくとも2つの前記正推定データの各座標との距離よりも短くなるように、前記仮想データを生成することを特徴とする請求項4または5に記載の学習装置。
前記生成部は、前記仮想データの座標と前記少なくとも2つの前記正推定データの各座標との距離が、前記誤推定データの座標と前記少なくとも2つの前記正推定データの各座標との距離よりも長くなるように、前記仮想データを生成することを特徴とする請求項4または5に記載の学習装置。
評価用データのそれぞれについて、各学習部によって推定された推定データのセットのうち、最多の推定データを予測したデータとして最終決定する最終決定部をさらに備えることを特徴とする請求項1から8までの何れか1項に記載の学習装置。
請求項1から9までの何れか1項に記載の学習装置としてコンピュータを機能させるための制御プログラムであって、前記学習部および前記生成部としてコンピュータを機能させるための制御プログラム。
【発明の概要】
【発明が解決しようとする課題】
【0010】
上記機械学習のさらなる実用化のため、上記予測の精度をさらに向上させることが望まれている。
【0011】
本発明の一態様は、上記予測の精度を向上できる学習装置などを提供することを目的とする。
【課題を解決するための手段】
【0012】
上記の課題を解決するために、本発明の一態様に係る学習装置は、機械学習を行う学習装置であって、学習用データのセットの少なくとも一部を用いて学習する複数の学習部と、該複数の学習部における或る学習部によって誤って推定された誤推定データのセットと、前記或る学習部によって正しく推定された正推定データのセットの少なくとも一部とに基づいて、仮想データのセットを生成する生成部とを備え、前記複数の学習部における別の学習部は、前記生成部が生成した仮想データのセットと、前記学習用データのセットの少なくとも一部とを用いて学習することを特徴としている。
【0013】
上記の構成によると、或る学習部による誤推定データのセットと、前記或る学習部による正推定データのセットの少なくとも一部とに基づいて、仮想データのセットが生成される。そして、生成された仮想データのセットと、学習用データのセットの少なくとも一部とを利用して、別の学習部が学習する。これにより、誤って推定されたデータのセットのみに基づいて仮想データを生成する場合に比べて、前記別の学習部による推定の精度を向上することができる。その結果、学習装置の予測の精度を向上することができる。
【0014】
また、本態様に係る学習装置では、前記生成部は、前記誤推定データと、前記正推定データのセットのうち、該誤推定データとの多次元での座標上の距離が近い1または複数の前記正推定データとに基づいて、前記仮想データを生成することが好ましい。この場合、前記誤推定データと、該誤推定データに前記座標上の距離が遠い1または複数の前記正推定データとに基づいて、前記仮想データを生成する場合に比べて、前記別の学習部による推定の精度をさらに向上することができる。その結果、学習装置の予測の精度をさらに向上することができる。
【0015】
また、本態様に係る学習装置では、前記複数の学習部は、前記学習用データのセットを複数のクラスに分類して、該複数のクラスの境界を推定するものであってもよい。
【0016】
また、本態様に係る学習装置では、前記生成部は、前記誤推定データと、該誤推定データとは異なるクラスの前記正推定データであって、前記正推定データのセットのうち、前記誤推定データに多次元での座標上の距離が近い少なくとも2つの前記正推定データとに基づいて、前記仮想データを生成してもよい。或いは、本態様に係る学習装置では、前記生成部は、前記誤推定データと、該誤推定データと同じクラスの前記正推定データであって、前記正推定データのセットのうち、前記誤推定データに多次元での座標上の距離が近い少なくとも2つの前記正推定データとに基づいて、前記仮想データを生成してもよい。
【0017】
また、本態様に係る学習装置では、前記生成部は、前記仮想データの座標と前記少なくとも2つの前記正推定データの各座標との距離が、前記誤推定データの座標と前記少なくとも2つの前記正推定データの各座標との距離よりも短くなるように、前記仮想データを生成してもよい。或いは、本態様に係る学習装置では、前記生成部は、前記仮想データの座標と前記少なくとも2つの前記正推定データの各座標との距離が、前記誤推定データの座標と前記少なくとも2つの前記正推定データの各座標との距離よりも長くなるように、前記仮想データを生成してもよい。
【0018】
また、本態様に係る学習装置では、前記生成部は、前記誤推定データと、該誤推定データと同じクラスである2つの前記正推定データとに基づき、前記仮想データの多次元での座標と2つの前記正推定データの多次元での各座標との第1距離が、前記誤推定データの多次元での座標と2つの前記正推定データの多次元での各座標との第2距離よりも長くなるように、前記仮想データを生成する第1生成部と、前記誤推定データと、該誤推定データと異なるクラスである2つの前記正推定データとに基づき、第1距離が第2距離よりも長くなるように、前記仮想データを生成する第2生成部と、前記誤推定データと、該誤推定データと異なるクラスである2つの前記正推定データとに基づいて、第1距離が第2距離よりも短くなるように、前記仮想データを生成する第3生成部とを備えており、前記複数の学習部は、学習用データのセットを用いて学習する第1学習部と、第1学習部が推定した推定データを用いて第1生成部が生成した仮想データのセットと、前記学習用データのセットの少なくとも一部とを用いて学習する第2学習部と、第2学習部が推定した推定データを用いて第2生成部が生成した仮想データのセットと、前記学習用データのセットの少なくとも一部とを用いて学習する第3学習部と、第3学習部が推定した推定データを用いて第3生成部が生成した仮想データのセットと、前記学習用データのセットの少なくとも一部とを用いて学習する第4学習部とを備えてもよい。
【0019】
このように、複数の学習部が、それぞれ、異なる複数の方法により生成された仮想データのセットを利用することにより、学習装置の予測の精度をさらに向上することができる。
【0020】
また、本態様に係る学習装置では、評価用データのそれぞれについて、各学習部によって推定された推定データのセットのうち、最多の推定データを予測したデータとして最終決定する最終決定部をさらに備えてもよい。
【0021】
本発明の他の態様に係る学習方法は、機械学習を行う学習装置であって、学習用データのセットの少なくとも一部を用いて学習する複数の学習部を備える学習装置の学習方法であって、前記複数の学習部における或る学習部によって誤って推定された誤推定データのセットと、前記或る学習部によって正しく推定された正推定データのセットの少なくとも一部とに基づいて、仮想データのセットを生成する生成ステップと、前記生成ステップにて生成された仮想データのセットと、前記学習用データのセットの少なくとも一部とを用いて、前記複数の学習部における別の学習部に学習させる学習ステップとを含むことを特徴としている。
【0022】
上記の方法によれば、上述の学習装置と同様の効果を奏することができる。
【0023】
本発明の各態様に係る学習装置は、コンピュータによって実現してもよく、この場合には、コンピュータを前記学習装置が備える各部(ソフトウェア要素)として動作させることにより前記学習装置をコンピュータにて実現させる学習装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【0024】
本発明の一態様によれば、上記予測の精度をさらに向上できるという効果を奏する。
【発明を実施するための形態】
【0026】
以下、本発明の実施の形態について、詳細に説明する。なお、説明の便宜上、各実施形態に示した部材と同一の機能を有する部材については、同一の符号を付記し、適宜その説明を省略する。
【0027】
〔実施形態1〕
本発明の一実施形態について、
図1および
図2を参照して説明する。
【0028】
(学習装置の概要)
図1は、本実施形態に係る学習装置の概略構成を示すブロック図である。学習装置10は、機械学習のうち、クラスタリングを行うものである。しかしながら、学習装置10は、任意の機械学習を行うことができる。
【0029】
図1に示すように、学習装置10は、制御部11、記憶部12、および通信部13を備える構成である。制御部11は、学習装置10の各種構成の動作を統括的に制御するものであり、例えばCPU(Central Processing Unit)及びメモリを含むコンピュータによって構成される。そして、各種構成の動作制御は、制御プログラムをコンピュータに実行させることによって行われる。記憶部12は、情報を記録するものであり、ハードディスク、フラッシュメモリ等の記憶デバイスによって構成される。通信部13は、インターネット等の通信ネットワークを介して情報の送受信を行うものである。
【0030】
次に、制御部11および記憶部12の詳細について説明する。制御部11は、データ取得部21、学習器群22、結果取得部23、仮想データ生成部24(生成部)、および最終決定部25を備える構成である。また、記憶部12は、評価用データ記憶部31、学習用データ記憶部32、および仮想データ記憶部33を備える構成である。
【0031】
データ取得部21は、学習装置10が学習し予測するために必要なデータのセットを、通信部13を介して取得するものである。1つのデータは、複数種類の属性値(特徴量)を含んでいる。データ取得部21は、取得したデータのセットを、評価用データCHDのセットおよび学習用データTRDのセットに分割し、それぞれ評価用データ記憶部31および学習用データ記憶部32に記憶する。
【0032】
学習器群22は、機械学習を行うn個の学習器(学習部)を備えている(nは2以上の整数)。学習を行う場合、第1学習器22aは、学習用データ記憶部32からの学習用データTRDのセットを用いて学習を行い、推定したクラスのセットを結果として出力する。他の学習器22bは、学習用データ記憶部32からの学習用データTRDのセットの一部と、仮想データ記憶部33からの仮想データVDのセットとを用いて学習を行い、推定したクラスのセットを結果として出力する。
【0033】
また、予測を行う場合、学習された全ての学習器22a・22bは、評価用データ記憶部31からの評価用データCHDのセットからクラスを推定し、推定したクラスのセットを結果として出力する。
【0034】
結果取得部23は、学習器群22の各学習器22a・22bによって推定されたクラスのセットを取得するものである。結果取得部23は、推定されたクラスのセットを、学習を行う場合には仮想データ生成部24に送出する一方、予測を行う場合には、最終決定部25に送出する。
【0035】
仮想データ生成部24は、学習用データ記憶部32からの学習用データTRDのセットと、結果取得部23からの推定したクラスのセットとを用いて、仮想データVDのセットを生成するものである。仮想データ生成部24は、生成した仮想データを仮想データ記憶部33に記憶する。なお、仮想データの生成の詳細については、後述の実施例にて説明する。
【0036】
具体的には、仮想データ生成部24は、まず、学習用データTRDのそれぞれについて、学習用データTRDに含まれる実際のクラスと、上記推定されたクラスとを比較して、クラスの正誤を識別する。次に、誤って推定された学習用データTRD(誤推定データ)と、正しく推定された学習用データTRD(正推定データ)の少なくとも一部とに基づいて、仮想データVDのセットを生成し、生成した仮想データを仮想データ記憶部33に記憶する。
【0037】
最終決定部25は、評価用データCHDのそれぞれについて、各学習器22a・22bによって推定されたクラスのセットのうち、最多のクラスを予測したクラスとして最終決定する。最終決定部25は、評価用データCHDのセットに対し予測したクラスのセットを、通信部13を介して外部の装置に送信する。
【0038】
(学習処理)
図2は、上記構成の学習装置10における学習処理の流れを示すフローチャートである。
図2に示すように、まず、変数iを1に初期化し(S10)、第i学習器(第1学習器22a、或る学習器)は、学習用データ記憶部32からの学習用データTRDのセットを用いて学習を行う(S11)。
【0039】
次に、仮想データ生成部24は、学習用データTRDのそれぞれについて、第i学習器が推定したクラスと実際のクラスとを比較して、クラスの正誤を判定する(S12)。次に、正しく推定された割合が閾値以上である場合(S13にてYES)、上記学習処理を終了する。
【0040】
一方、正しく推定された割合が閾値未満である場合(S13にてNO)、仮想データ生成部24は、誤推定データを含む多次元での座標(空間)上の領域を第(i+1)低推定領域として設定する(S14)。次に、仮想データ生成部24は、第(i+1)低推定領域内に位置する誤推定データおよび正推定データのセットに基づいて、仮想データVDのセットを生成して仮想データ記憶部33に記憶する(S15)。
【0041】
次に、第(i+1)低推定領域内に位置する誤推定データおよび正推定データのセットと、上記仮想データVDのセットとを用いて、第(i+1)学習器(他の学習器22b)が学習を行う(S16)。
【0042】
次に、変数iを1だけ増分する(S17)。変数iが所定回数以下である場合(S18にてNO)、ステップS12に戻って上記動作を繰り返す。そして、変数iが所定回数を超えた場合(S18にてYES)、上記学習処理を終了する。
【0043】
従って、本実施形態の学習装置10では、第(i+1)低推定領域内に位置する誤推定データおよび正推定データのセット(第i学習器による誤推定データのセット、および、第i学習器による正推定データのセットの少なくとも一部)に基づいて、仮想データVDのセットが生成される。そして、生成された仮想データVDのセットと、第(i+1)低推定領域内に位置する誤推定データおよび正推定データのセット(学習用データTRDのセットの少なくとも一部)とを利用して、第(i+1)学習器が学習する。これにより、誤って推定されたデータのセットのみに基づいて仮想データを生成する場合に比べて、第(i+1)学習器による推定の精度を向上することができる。その結果、学習装置10の予測の精度を向上することができる。
【0044】
〔実施例1〕
図3は、上記構成の学習装置10にて処理されるデータの流れの具体例を示すブロック図である。
図3の例では、学習器22a・22bとして4つの学習器M1〜M4が利用されており、また、
図2に示すステップS18における所定回数が4である。
【0045】
まず、データ取得部21は、外部の装置から通信部13を介して取得したデータのセットを、第1学習用データTRD1のセットと評価用データCHDのセットとに分割する。第1学習用データTRD1のセットを用いて第1学習器M1(22a)が学習する。第1学習器M1が推定したクラスとその正誤のセットとを第1結果データRSD1のセットとして結果取得部23が取得する。
【0046】
次に、第1結果データRSD1のセットを用いて、誤推定データのセットを含む多次元での座標上の領域を第2低推定領域として仮想データ生成部24が設定する。第2低推定領域内に位置する誤推定データおよび正推定データのセット(推定データのセット)に基づいて、仮想データ生成部24が第2仮想データVD2のセットを生成する。第2低推定領域内に位置する推定データのセットが第2学習用データTRD2のセットとなる。次に、第2学習用データTRD2のセットと第2仮想データVD2のセットとを用いて、第2学習器M2(22b)が学習する。第2学習器M2が推定したクラスとその正誤のセットとを第2結果データRSD2のセットとして結果取得部23が取得する。
【0047】
次に、第2結果データRSD2のセットを用いて、誤推定データのセットを含む多次元での座標上の領域を第3低推定領域として仮想データ生成部24が設定する。第3低推定領域内に位置する推定データのセットに基づいて、仮想データ生成部24が第3仮想データVD3のセットを生成する。第3低推定領域内に位置する推定データのセットが第3学習用データTRD3のセットとなる。次に、第3学習用データTRD3のセットと第3仮想データVD3のセットとを用いて、第3学習器M3(22b)が学習する。第3学習器M3が推定したクラスとその正誤のセットとを第3結果データRSD3のセットとして結果取得部23が取得する。
【0048】
次に、第3結果データRSD3のセットを用いて、誤推定データのセットを含む多次元での座標上の領域を第4低推定領域として仮想データ生成部24が設定する。第4低推定領域内に位置する推定データのセットに基づいて、仮想データ生成部24が第4仮想データVD4のセットを生成する。第4低推定領域内に位置する推定データのセットが第4学習用データTRD4のセットとなる。そして、第4学習用データTRD4のセットと第4仮想データVD4のセットとを用いて、第4学習器M4(22b)が学習する。
【0049】
全ての学習器M1〜M4の学習が完了したので、評価用データCHDのセットが学習器M1〜M4のそれぞれに入力される。学習器M1〜M4が推定したクラスのセットを、それぞれ結果データRSD11〜RSD14のセットとして結果取得部23が取得する。そして、最終決定部25は、評価用データCHDのそれぞれについて、結果データRSD11〜RSD14のうち最多のものを予測データRSDTとして最終決定する。最終決定部25は、評価用データCHDのセットに対応する予測データRSDTのセットを、通信部13を介して外部の装置に送信する。
【0050】
〔実施例2〕
仮想データ生成部24が生成する仮想データの一例について、
図4〜
図15を参照して説明する。なお、本実施例では、学習用データに含まれる属性の数を2つとしている。これにより、学習用データの位置は2次元の座標で表されることになる。さらに、学習器によって推定される境界は2次元のグラフ上で曲線(境界線)として表されることになる。また、本実施例では、学習器により学習用データが2つのクラスA・Bに分類され、クラスA・Bの境界線BDが推定されるとしている。
【0051】
(実施例2−1)
図4は、本実施例にて作成される仮想データの位置を示すグラフである。また、
図5は、上記仮想データの位置と、上記仮想データによる境界線の変化とを示すグラフである。
図4および
図5では、クラスA・Bの学習用データを○・×でそれぞれ示している。また、誤推定データにはハッチングを付しており、仮想データは一点鎖線で示されている。なお、
図4および
図5にて使用される学習用データは異なるものである。
【0052】
図4に示すように、或る学習器により境界線BDが推定されたとする。この場合、学習用データNGD10が誤推定されたことになる。
【0053】
そこで、本実施例では、まず、誤推定データNGD10と同じクラスであり、かつ、誤推定データNGD10に最も近い2つの正推定データOKD10・11の位置を特定する。次に、決定した2つの正推定データOKD10・11の中点MPD10から誤推定データNGD10の位置までの線分を誤推定データNGD10の位置の外側に外分する外分点に、誤推定データNGD10と同じクラスである仮想データVD10を生成する。この場合、仮想データVD10の位置と正推定データOKD10・11の位置との各距離(第1距離)は、仮想データVD10の位置と誤推定データNGD10の位置との距離(第2距離)よりも長くなる。
【0054】
また、
図5に示すように、或る学習器により境界線BDが推定されたとする。この場合、学習用データNGD11〜14が誤推定されたことになる。
【0055】
そこで、本実施例では、
図4の場合と同様にして、仮想データVD11〜VD14を生成する。次に、生成した仮想データVD11〜VD14と、
図5に示す学習用データとを用いて、上記或る学習器とは別の学習器を学習させる。すなわち、
図5に示す全領域を低推定領域とし、該低推定領域に含まれる学習用データおよび仮想データVD11〜VD14を用いて上記別の学習器を学習させることになる。
【0056】
その結果、該別の学習器により境界線BD1が推定される。
図5を参照すると、境界線BD1は、境界線BDに比べて誤推定データNGD11〜14の側に変形していることが理解できる。従って、仮想データVD11〜VD14を利用することにより、推定の精度が向上したことが理解できる。なお、外分比は、境界線をどの程度変化させる必要があるかに応じて適宜設定される。
【0057】
なお、
図5の例では、仮想データVD11・VD12は、データが疎である領域(データの密度が他よりも低い領域)に配置されている。これにより、学習データ(前回の誤推定データ)NGD11・NGD12付近の境界線BD1をより正確に推定できると考えられる。また、
図5の例では、クラスAの学習データの数よりもクラスBの学習データの数の方が少ない。そこで、クラスBの仮想データVD13・VD14が配置されている。これにより、境界線BD1の推定精度が向上すると考えられる。
【0058】
(実施例2−2)
図6は、本実施例にて作成される仮想データの位置を示すグラフである。また、
図7は、上記仮想データの位置と、上記仮想データによる境界線の変化とを示すグラフである。本実施例は、
図4および
図5に示す実施例に比べて、2つの正推定データOKD10・11の中点から誤推定データNGD10の位置までの線分を、2つの正推定データOKD10・11の位置を結ぶ線分LN11に対し、誤推定データNGD10の位置を通る垂線に変更している点が異なり、その他は同様である。
図7を参照すると、本実施例においても、境界線BD1は、境界線BDに比べて誤推定データNGD11〜14の側に変形していることが理解できる。従って、仮想データVD11〜VD14を利用することにより、推定の精度が向上したことが理解できる。
【0059】
(実施例2−3)
図8は、本実施例にて作成される仮想データの位置を示すグラフである。また、
図9は、上記仮想データの位置と、上記仮想データによる境界線の変化とを示すグラフである。なお、
図8に示す正推定データ、誤推定データ、および境界線BDは、それぞれ、
図4に示す正推定データ、誤推定データ、および境界線BDと同様である。また、
図9に示す正推定データ、誤推定データ、および境界線BDは、それぞれ、
図5に示す正推定データ、誤推定データ、および境界線BDと同様である。
【0060】
図8に示すように、或る学習器により境界線BDが推定されたとする。この場合、学習用データNGD10が誤推定されたことになる。
【0061】
そこで、本実施例では、
図8に示すように、まず、誤推定データNGD10と異なるクラスであり、かつ、誤推定データNGD10に最も近い2つの正推定データOKD20・21の位置を特定する。次に、決定した2つの正推定データOKD20・21の中点MPD20から誤推定データNGD10の位置までの線分を誤推定データNGD10の位置の外側に外分する外分点に、誤推定データNGD10と同じクラスである仮想データVD20を生成する。この場合、仮想データVD20の位置と正推定データOKD20・21の位置との各距離(第1距離)は、仮想データVD20の位置と誤推定データNGD10の位置との距離(第2距離)よりも長くなる。
【0062】
また、
図9に示すように、或る学習器により境界線BDが推定されたとする。この場合、学習用データNGD11〜14が誤推定されたことになる。
【0063】
そこで、本実施例では、
図8の場合と同様にして、仮想データVD21〜VD24を生成する。次に、生成した仮想データVD21〜VD24と、
図9に示す学習用データとを用いて、上記或る学習器とは別の学習器を学習させる。その結果、該別の学習器により境界線BD2が推定される。
図9を参照すると、境界線BD2は、境界線BDに比べて誤推定データNGD11〜14の側に変形していることが理解できる。従って、仮想データVD21〜VD24を利用することにより、推定の精度が向上したことが理解できる。なお、外分比は、境界線をどの程度変化させる必要があるかに応じて適宜設定される。
【0064】
(実施例2−4)
図10は、本実施例にて作成される仮想データの位置を示すグラフである。また、
図11は、上記仮想データの位置と、上記仮想データによる境界線の変化とを示すグラフである。本実施例は、
図8および
図9に示す実施例に比べて、2つの正推定データOKD20・21の中点から誤推定データNGD10の位置までの線分を、2つの正推定データOKD20・21の位置を結ぶ線分LN21に対し、誤推定データNGD10の位置を通る垂線に変更している点が異なり、その他は同様である。
図11を参照すると、本実施例においても、境界線BD2は、境界線BDに比べて誤推定データNGD11〜14の側に変形していることが理解できる。従って、仮想データVD11〜VD14を利用することにより、推定の精度が向上したことが理解できる。
【0065】
(実施例2−5)
図12は、本実施例にて作成される仮想データの位置を示すグラフである。また、
図13は、上記仮想データの位置と、上記仮想データによる境界線の変化とを示すグラフである。なお、
図12に示す正推定データ、誤推定データ、および境界線BDは、それぞれ、
図4に示す正推定データ、誤推定データ、および境界線BDと同様である。また、
図13に示す正推定データ、誤推定データ、および境界線BDは、それぞれ、
図5に示す正推定データ、誤推定データ、および境界線BDと同様である。
【0066】
図12に示すように、或る学習器により境界線BDが推定されたとする。この場合、学習用データNGD10が誤推定されたことになる。
【0067】
そこで、本実施例では、
図12に示すように、まず、誤推定データNGD10と異なるクラスであり、かつ、誤推定データNGD10に最も近い2つの正推定データOKD30・31の位置を特定する。次に、決定した2つの正推定データOKD30・31の中点に、誤推定データNGD10と異なるクラスである仮想データVD30を生成する。この場合、仮想データVD30の位置と正推定データOKD30・31の位置との各距離(第1距離)は、仮想データVD30の位置と誤推定データNGD10の位置との距離(第2距離)よりも短くなる。
【0068】
また、
図13に示すように、或る学習器により境界線BDが推定されたとする。この場合、学習用データNGD11〜14が誤推定されたことになる。
【0069】
そこで、本実施例では、
図12の場合と同様にして、仮想データVD31〜VD34を生成する。次に、生成した仮想データVD31〜VD34と、
図13に示す学習用データとを用いて、上記或る学習器とは別の学習器を学習させる。その結果、該別の学習器により境界線BD3が推定される。
図13を参照すると、境界線BD3は、境界線BDに比べて誤推定データNGD11〜14の側に変形していることが理解できる。従って、仮想データVD31〜VD34を利用することにより、推定の精度が向上したことが理解できる。
【0070】
(実施例2−6)
図14は、本実施例にて作成される仮想データの位置を示すグラフである。また、
図15は、上記仮想データの位置と、上記仮想データによる境界線の変化とを示すグラフである。本実施例は、
図12および
図13に示す実施例に比べて、2つの正推定データOKDの中点を、2つの正推定データOKDの位置を結ぶ線分に対し、誤推定データNGDの位置を通る垂線の足に変更している点が異なり、その他は同様である。
図15を参照すると、本実施例においても、境界線BD3は、境界線BDに比べて誤推定データNGD11〜14の側に変形していることが理解できる。従って、仮想データVD31〜VD34を利用することにより、推定の精度が向上したことが理解できる。
【0071】
なお、
図12〜
図15に示す実施例では、誤推定データNGD10と異なるクラスであり、かつ、誤推定データNGD10に最も近い2つの正推定データOKD20・21の中点に、誤推定データNGD10と異なるクラスである仮想データVD30を生成しているが、これに限定されるものではない。例えば、誤推定データNGD10と同じクラスであり、かつ、誤推定データNGD10に最も近い2つの正推定データOKD20・21の中点に、誤推定データNGD10と同じクラスである仮想データVD30を生成してもよい。
【0072】
〔実施例3〕
仮想データ生成部24が生成する仮想データの別の例について、
図16および
図17を参照して説明する。なお、本実施例では、
図4〜
図15に示す実施例と同様に、学習用データに含まれる属性の数を2つとし、学習器により学習用データが2つのクラスA・Bに分類され、クラスA・Bの境界線BDが推定されるとしている。
【0073】
(実施例3−1)
図16は、本実施例にて作成される仮想データの位置と、上記仮想データによる境界線の変化とを示すグラフである。本実施例では、
図3に示す学習装置10を利用している。また、仮想データ生成部24は、仮想データを生成する方法として、
図4および
図5に示す実施例の方法と、
図8および
図9に示す実施例の方法と、
図12および
図13に示す実施例の方法とを組み合わせている。
【0074】
まず、
図16の左部に示すように、第1学習器22a(第1学習部)により境界線BD110が推定されたとする。この場合、学習用データNGD110が誤推定されたことになる。
【0075】
次に、仮想データ生成部24(第1生成部)は、
図4および
図5に示す実施例と同様の方法を用いて、第2仮想データVD120を生成する。次に、生成した仮想データVD120と、
図16の左側に示す学習用データとを用いて、第2学習器22b(第2学習部)を学習させる。その結果、第2学習器22bにより境界線BD120が推定される。この場合、
図16の中央部に示すように、学習用データNGD120が誤推定されたことになる。
【0076】
次に、仮想データ生成部24(第2生成部)は、
図8および
図9に示す実施例と同様の方法を用いて、第3仮想データVD130を生成する。次に、生成した仮想データVD130と、
図16の中央に示す学習用データとを用いて、第3学習器22b(第3学習部)を学習させる。その結果、第3学習器22bにより境界線BD130が推定される。この場合、
図16の右部に示すように、学習用データNGD130が誤推定されたことになる。
【0077】
次に、仮想データ生成部24(第3生成部)は、
図12および
図13に示す実施例と同様の方法を用いて、第4仮想データVD140を生成する。次に、生成した仮想データVD140と、
図16の右部に示す学習用データとを用いて、第4学習器22b(第4学習部)を学習させる。その結果、第4学習器22bにより境界線BD140が推定される。この場合、全ての学習用データのクラスは、正しく推定されたことになる。
【0078】
従って、仮想データの異なる生成方法を適宜組み合わせることにより、学習装置10の予測の精度をさらに向上することができる。
【0079】
なお、
図16を参照すると、
図4および
図5に示す実施例の方法に比べて、
図8および
図9に示す実施例の方法の方が、境界線の変化量が少ないことが理解できる。また、
図8および
図9に示す実施例の方法に比べて、
図12および
図13に示す実施例の方法の方が、境界線の変化量が少ないことが理解できる。従って、
図16に示すような順序で仮想データを生成することが望ましいことが理解できる。この場合、推定の精度をさらに向上させることができる。
【0080】
(実施例3−2)
図17は、本実施例にて作成される仮想データの位置と、上記仮想データによる境界線の変化とを示すグラフである。本実施例では、
図3に示す学習装置10を利用している。また、仮想データ生成部24は、仮想データを生成する方法として、
図6および
図7に示す実施例の方法と、
図10および
図11に示す実施例の方法と、
図14および
図15に示す実施例の方法とを組み合わせている。
図17を参照すると、本実施例においても、
図16に示す実施例と同様の効果を奏することが理解できる。
【0081】
〔付記事項〕
上記実施例では、誤推定データに最も近い2つの正推定データを利用して仮想データを作成しているが、これに限定されるものではない。例えば、誤推定データに最も近い3つ以上の正推定データを利用して仮想データを作成してもよい。また、該推定データから所定の距離に含まれる複数の正推定データを利用して仮想データを作成してもよい。
【0082】
また、多次元での座標において、学習データが計測不可能である領域に仮想データを作成してもよい。この場合、推定の精度をさらに向上させることができる。
【0083】
また、上記実施例では、学習用データに含まれる属性の数を2つとしているが、これに限定されるものではない。上記属性の数がk個である場合(kは2以上の整数)学習用データの位置はk次元の座標で表されることになる。
【0084】
また、仮想データ生成部24が生成した仮想データを、少なくとも1つの学習器に利用されればよく、その他の学習器には、非特許文献1〜3に記載されているような仮想データを利用してもよい。
【0085】
〔ソフトウェアによる実現例〕
学習装置10の制御ブロック(特にデータ取得部21、学習器群22、結果取得部23、仮想データ生成部24、および最終決定部25)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、ソフトウェアによって実現してもよい。
【0086】
後者の場合、学習装置10は、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータを備えている。このコンピュータは、例えば1つ以上のプロセッサを備えていると共に、上記プログラムを記憶したコンピュータ読み取り可能な記録媒体を備えている。そして、上記コンピュータにおいて、上記プロセッサが上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記プロセッサとしては、例えばCPU(Central Processing Unit)を用いることができる。上記記録媒体としては、「一時的でない有形の媒体」、例えば、ROM(Read Only Memory)等の他、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムを展開するRAM(Random Access Memory)などをさらに備えていてもよい。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【0087】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。