(57)【要約】【課題】ラベルの事前分布の偏りをコストに直接反映したブースティングを行うことで、ラベルに偏りがあるデータに対する高精度の分類器を構成できる学習システムを提供する。【解決手段】ラベルの分布が異なるデータの学習方法において、データを用いて学習する第１の工程と、データの事前分布にしたがってコストを求める第２の工程と、コストと第１の工程で得られた学習結果とを考慮して学習する第３の工程と、を設ける。【選択図】図２
2009237923.tif 000002
【特許請求の範囲】
【請求項１】
ラベルの分布が異なるデータの学習方法において、
前記データを用いて学習する第１の工程と、
前記データの事前分布にしたがってコストを求める第２の工程と、
前記コストと前記第１の工程で得られた学習結果とを考慮して学習する第３の工程と、
を有することを特徴とする学習方法。
【請求項２】
前記第３の工程で得られた学習結果からテストデータを判別する第４の工程を有することを特徴とする請求項１に記載の学習方法。
【請求項３】
前記第３の工程での学習のアルゴリズムが、正例と負例とではコストが異なるブースティングあるいは勾配ブースティングであることを特徴とする請求項１または２に記載の学習方法。
【請求項４】
前記ブースティングまたは前記勾配ブースティングの下位学習機械に、決定木、サポートベクターマシンおよびニューラルネットワークの中から選ばれた１種類以上の教師付き学習機械を用いることを特徴とする請求項３に記載の学習方法。
【請求項５】
前記データが有するラベルが、連続値、順位及びクラスのうちのいずれかであることを特徴とする請求項１乃至４のいずれか一項に記載の学習方法。
【請求項６】
前記学習で用いる損失関数が、前記ラベルに依存した非対称な凸関数であることを特徴とする請求項１乃至５のいずれか一項に記載の学習方法。
【請求項７】
前記コストが、前記データの前記事前分布の逆数に比例することを特徴とする請求項１乃至６いずれか一項に記載の学習方法。
【請求項８】
前記クラスが２クラス分類である場合には損失関数の期待値が２項分布であり、前記クラスが多クラス分類である場合には前記損失関数の期待値が多項分布であることを特徴とする請求項６に記載の学習方法。
【請求項９】
前記第３の工程での学習が、正則化項を有することを特徴とする請求項１乃至９のいずれか一項に記載の学習方法。
【請求項１０】
ラベルの分布が異なるデータによる学習を行う学習システムにおいて、
前記データを格納するデータ記憶部と、
前記データ記憶部に格納された前記データを用いて初期学習を行い、さらに前記データとコストと前記初期学習で得られた学習結果とを考慮して予測モデル学習を行う学習実行部と、
前記データの事前分布にしたがって前記コストを求めるコスト計算部と、
を有することを特徴とする学習システム。
【請求項１１】
前記予測モデル学習の結果として得られた予測モデルを格納するモデル記憶部と、
前記モデル記憶部から前記予測モデルを読み出し、当該予測モデルに基づいてテストデータを判別する判別部と、
をさらに有することを特徴とする、請求項１０に記載の学習システム。
【請求項１２】
前記予測モデル学習のアルゴリズムが、正例と負例とではコストが異なるブースティングあるいは勾配ブースティングであることを特徴とする請求項１０または１１に記載の学習システム。
【請求項１３】
前記ブースティングまたは前記勾配ブースティングの下位学習機械に、決定木、サポートベクターマシンおよびニューラルネットワークの中から選ばれた１種類以上の教師付き学習機械を用いることを特徴とする請求項１２に記載の学習システム。
【請求項１４】
前記コストが、前記データの前記事前分布の逆数に比例することを特徴とする請求項１０乃至１３いずれか一項に記載の学習システム。
【請求項１５】
コンピュータに、請求項１乃至９のいずれか一項に記載の学習方法を実施させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械学習に関し、特に、ラベルの事前分布に基づき、かつ事前分布における偏りを考慮したコスト考慮型学習により予測精度の高い学習を可能にする学習方法およびシステムに関する。
【背景技術】
【０００２】
一般に、分類器に対する教師あり学習では、訓練データでの正例と負例のラベルは、同数分布することが前提となっている。しかしながら現実には、訓練データでのラベルの分布が一方に極端に偏っている場合もある。例えば、疾患診断に関するデータを訓練データとする場合、対象疾患の患者（正例）よりも健常者（負例）のサンプル数の方が圧倒的に多い場合がある。
【０００３】
このようにラベルにおける分布に偏りがある場合、ラベルの分布が均一と仮定する関連技術での学習方法では少数ラベルの予測が困難であるので、ラベルの事前分布を考慮した学習方法が有効であると考えられる。例えば、正例と負例とが割合で正例が５％、負例が９５％である場合、全サンプルを負例と予測すれば正解率は９５％になるが、これでは正しいラベルの予測は行われていないため、正例に対してより大きなコストを与えて学習を行う必要がある。
【０００４】
コスト考慮型学習では、上記のように少数ラベルに対して大きなコストを与えることで、この問題に取り組んでいる。コスト考慮型学習としては、ブースティング(boosting)の枠組みで実現されているものが多く、例えば非特許文献１，２に記載されている。非特許文献１に記載の方法では、偽陽性と偽陰性のコストを予め設定することで、平均コストを最小化することを実現している。非特許文献２に記載の方法では、ブースティングの手法の一つであるAdaboostをコスト考慮型学習に拡張している。Adaboostについては、非特許文献３に記載されている。
【０００５】
本発明に関連するものとして、特許文献１には、学習用データ（訓練データ）からモデルを作成する際に、モデルを表すパラメータである重み付けパラメータの事前分布としてラプラス分布を仮定し、事前分布と学習用データから算出されるモデルの尤度（事後確率）が最大となるように重み付けパラメータや事前分布を決定してモデルを作成することが開示されている。特許文献２には、能動学習を行う際に正例と負例の数に偏りがある場合に、仮説を用いて複数の候補データの各々に対するスコアを計算し、計算されたスコアに基づき、かつ指数的な関数である選択関数を用いて、少数側のデータも第１候補データとして選択できるようにすることが開示されている。特許文献３には、入出力データ間に少なくとも近似的に成り立つ関数関係の推定を行う能動学習法において、データの初期分布を入力して学習予測誤差計算と判定とを行うことが開示されている。特許文献４には、勾配降下法を用いて３層の学習機械を学習させ最適化することが開示されている。特許文献５には、ニューラルネットワークなどに対して学習を行う際に、少ないデータ例に対して過学習を引き起こすことを防ぐために、対数尤度の代わりに、入出力データの例を含み所定の幅を有する密度分布に基づく尤度を用いることが開示されている。
【特許文献１】特開２００８−９５４８号公報（段落００３１）
【特許文献２】特開２００５−１０７３４３号公報（段落００４３、００５６、００７７）
【特許文献３】特開２００５−２５８４８０号公報（段落００３６、００３８）
【特許文献４】特開２００５−１８２７８５号公報（段落００４２、００４３）
【特許文献５】特開平６−３３２８７９号公報（段落００２４、００３１）
【非特許文献１】Masnadi-Shirazi, H., Vasconcelos, N., "Asymmetric Boosting," Proceeding of the 24-th International Conference on Machine Learning, pp. 609-616, 2007
【非特許文献２】Sun, Y., Kamel, M. S., Wong, A. K. C., Wang, Y., "Cost-sensitive boosting for classification of imbalanced data," PATTERN RECOGNITION, Vol. 40, pp. 3358-3378, 2007
【非特許文献３】Freund, Y., Schapire, R. E., "A decision-theoretic generalization of on-line learning and an application to boosting," Journal of Computer and System Sciences, pp. 23-27, 1997 (Proceedings of the Second European Conference on Computational Learning Theory, pp. 1-15, 1995)
【非特許文献４】Friedman, J., Hastie, T., Tibshirani, R., "Additive logistic regression: a statistical view of boosting," Ann. Statist., Vol. 28, pp. 337-407, 2000
【非特許文献５】Shi, T., Seligson, D., Belldegrun, S. A., Palotie, A., Horvath, S., "Tumor classification by tissue microarray profiling: random forest clustering applied to renal cell carcinoma," Modern Pathology, Vol. 18, pp. 547-557, 2005.
【発明の開示】
【発明が解決しようとする課題】
【０００６】
正例と負例との間に偏りがある場合に対処する学習方法としては、上述したもののようにいくつか知られているが、中でも、ラベルの事前分布を考慮し、かつ、少数ラベルに対して大きなコストを与えるコスト考慮型学習が最も有効であると考えられている。しかしながら、非特許文献１，２に記載されたコスト考慮型学習方法では、以下に示すような問題点がある。
【０００７】
まずこれらの非特許文献に記載のものでは、コストは、問題に応じて許容される偽陽性と偽陰性のトレードオフの関係から設定されるものである。そのため、ラベルの事前分布を直接考慮した学習を行えるようにはなっていない。これでは、適切な偽陽性と偽陰性のコストを決定するために試行錯誤する必要があり、これには時間と労力を要する。また、そのコストの決定、学習アルゴリズムの導出、予測性能について、理論的な正当性が与えられておらず、経験的にコストを決定するしかない問題がある。その上、非特許文献２に記載のものは、Adaboostを拡張しているので、回帰学習などへの拡張を容易に行うことができない。
【０００８】
本発明の目的は、上述した課題に鑑み、ラベルの事前分布の偏りをコストに直接反映させたブースティングを行うことで、ラベルに偏りがあるデータに対して高精度かつ汎用的な分類器を提供することができる学習方法及びシステムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明の学習方法は、ラベルの分布が異なるデータの学習方法において、データを用いて学習する第１の工程と、データの事前分布にしたがってコストを求める第２の工程と、コストと第１の工程で得られた学習結果とを考慮して学習する第３の工程と、を有することを特徴とする。
【００１０】
本発明の学習システムは、ラベルの分布が異なるデータによる学習を行う学習システムにおいて、データを格納するデータ記憶部と、データ記憶部に格納されたデータを用いて初期学習を行い、さらにデータとコストと初期学習で得られた学習結果とを考慮して予測モデル学習を行う学習実行部と、データの事前分布にしたがってコストを求めるコスト計算部と、を有することを特徴とする。
【発明の効果】
【００１１】
本発明は、ラベルの事前分布の偏りをコストに直接反映したブースティングを行うことが可能となり、ラベルに偏りがあるデータに対して高精度の分類器の構成が可能になるという効果がある。
【発明を実施するための最良の形態】
【００１２】
次に、本発明の実施の形態について、図面を参照して説明する。本実施形態に基づく学習方法は、ラベルの事前分布の偏りをコストに直接反映したブースティングを行うことで、ラベルに偏りがあるデータに対して高精度の分類器を構成する新規の方法である。
【００１３】
図１は、このような学習方法を実行するために用いられる学習システムの構成の一例を示している。この学習システムは、大別すると、キーボードなどの入力装置１と、プログラム制御により動作するデータ処理装置２と、情報を記憶する記憶装置３と、ディスプレイ装置や印刷装置などの出力装置４から構成されている。
【００１４】
データ処理装置２は、本発明に基づいてデータから予測モデルの学習を行う学習部２１と、学習部２１で学習された予測モデルを用いてテストデータのラベルを予測する判別部２２と、を含んでいる。記憶装置３は、訓練データやテストデータなどのデータを格納するデータ記憶部３１と、学習部２１で学習された予測モデルを格納するモデル記憶部３２と、を含んでいる。
【００１５】
次に、図示された学習システムの動作について説明する。図２は、学習システムにおける学習部２１での処理を示すフローチャートである。
【００１６】
この学習システムの動作は、大まかに言えば、入力装置１によってデータ処理装置２に実行指示が与えられると、データ処理装置２の学習部２１が、記憶装置３のデータ記憶部３１からデータを読み込んでそのデータを用いた学習を行い、学習結果である予測モデルをモデル記憶部３２に記憶し、その後、データ処理装置２の判別部２２が、データ記憶部３１からテストデータを読み込み、モデル記憶部３２から予測モデルを読み込み、予測モデルを使用してテストデータのラベルを予測し結果を出力装置４に出力する、というものである。判別部２２によるラベルの予測自体は、分類器として一般的な学習機械において実行されるものと同様のものである。そこで、以下では、学習部２１での処理について詳しく説明する。
【００１７】
ステップＡ１において、データ記憶部３１から学習部２１に訓練データが入力されると、学習部２１は、ステップＡ２において、判別関数Ｆ0を０、反復回数ｍを１に初期化し、ステップＡ３において、正例・負例の事前分布を割合から計算する。ここでは、正例を少数データ、負例を多数データとし、それぞれの事前分布をｐ(ｙ＝１)，ｐ(ｙ＝−１)とする。引き続いて学習部２１は、ステップＡ４において、訓練データに関してラベルと属性とに基づいて決定木による学習を行う。ここでは、この学習システムに対する下位学習機械として決定木を用いているが、下位学習機械としては、決定木以外にも、サポートベクターマシン（ＳＶＭ）やニューラルネットワークなどの教師あり学習による学習機械を用いることができる。ステップＡ４での学習は、訓練データを用いて学習する第１の工程（初期学習工程）に相当する。その後、ステップＡ５において、判別関数Ｆ1に、学習した決定木のモデルＴ1を代入する。
【００１８】
次に学習部２１は、ステップＡ６において、それぞれ偽陽性及び偽陰性の重み付けに用いられる重み係数であるコスト
【００１９】
【数１】
2009237923.tif 000003
【００２０】
を算出する。この例ではこれらのコストは、ラベルの事前分布の逆数の半分としてあらわされている。ステップＡ３、Ａ６によって、データの事前分布にしたがってコストを求める第２の工程が実施されたことになる。
【００２１】
次に学習部２１は、ステップＡ７において、判別関数Ｆ1とラベルから勾配を計算する。勾配は以下のように求めることができる。まず、判別関数をＦとすると、
【００２２】
【数２】
2009237923.tif 000004
【００２３】
を最小化する判別関数Ｆは、期待値をＦで微分し、その微分値を０となる条件を求めることで、下記の(1)式のように与えられる。ここで、各指数関数内でｙ・Ｆに乗算されている重み係数は、上述したようにコストである。
【００２４】
【数３】
2009237923.tif 000005
【００２５】
ここで、ｓ，ｔは、
【００２６】
【数４】
2009237923.tif 000006
【００２７】
であり、Ｉ()は、括弧内が成立するとき１となる指示関数である。ｐ(ｙ＝１｜ｘ)，ｐ(ｙ＝−１｜ｘ)は、データｘが与えられたときにラベルｙ（それぞれ正例及び負例）となる条件付き確率である。損失関数の期待値の式において指数関数に乗算されるコストすなわち重み係数は、上述したもののように、ラベルの事前分布の逆数に比例するものであればよい。ここで示す例では損失関数Ｌは、２クラス分類であるため、２項分布の対数尤度の期待値から、ラベルに依存した非対称な凸関数であり、(2)式のように求めることができる。すなわち損失関数Ｌの期待値は２項分布となっている。
【００２８】
【数５】
2009237923.tif 000007
【００２９】
ここで
【００３０】
【数６】
2009237923.tif 000008
【００３１】
である。これから、勾配φはラベル１、−１の場合、それぞれ(3),(4)式のように求めることができる。
【００３２】
【数７】
2009237923.tif 000009
【００３３】
多クラス分類の場合は、損失関数の期待値が多項分布であるようにすればよい。ラベルが＋１、−１となるのが等確率の場合、
【００３４】
【数８】
2009237923.tif 000010
【００３５】
となり、上記の期待値や判別関数Ｆは、ブースティングの一手法であるLogitBoostでの損失関数と同一の損失関数となる。すなわち、上記の損失関数は、LogitBoostの損失関数にラベルの事前分布を直接考慮した形になっていることが分かる。LogitBoostについては、非特許文献４に記載されている。
【００３６】
次にステップＡ８において学習部２１は、勾配をラベルと見なして、決定木によりＴmを学習し、ステップＡ９において、更新された判別関数とラベルとを用いて勾配を計算する。その後、ステップＡ１０において、判別関数ＦmをＦm-1＋νＴmにより更新する。ここで、νは正則化項であり、０＜ν＜１である。例えば、０．０１といった小さい値のνを用いると、過学習を避けることが可能になる。同時に反復回数を表す変数ｍに１を加算する。
【００３７】
次に、ステップＡ１１において、反復回数ｍが予め設定された回数Ｍに達したかどうかが判断され、達していない場合には、学習部２１の処理はステップＡ８に戻り、達している場合には学習部２１は、ステップＡ１２において、それまでの処理によって学習された予測モデルをモデル記憶部３２に格納し、その後、処理を終了する。
【００３８】
以上説明したステップＡ７〜Ａ１１の処理により、コストと第１の工程で得られた学習結果とを考慮して学習する第３の工程であって、正例と負例とではコストが異なるブースティングあるいは勾配ブースティングによる学習を行う工程が実施されたことになる。
【００３９】
ステップＡ１２においてモデル記憶部３２に記憶された予測モデルに対し、判別部３２は、その予測モデルとテストデータとを読み込み、予測モデルを使用してテストデータのラベルを予測し、結果を出力装置４に出力する
以上説明した処理を実行する学習部２１は、図３に示すように、データ記憶部３２に格納された訓練データを用いて初期学習（ステップＡ４）を行い、さらに訓練データとコストと初期学習で得られた学習結果とを考慮して予測モデル学習（ステップＡ７〜Ａ１１）を行う学習実行部２５と、正例・負例の事前分布の計算（ステップＡ３）を行い、データの事前分布にしたがってコストを求める（ステップＡ６）コスト計算部２６と、データの入出力（ステップＡ１，Ａ１２）や初期化（ステップＡ２，Ａ５）、反復学習でのループの制御などを行う制御部２７と、を備えている。制御部２７は、学習部２１全体の動作を制御する機能も有している。
【００４０】
本実施形態において、ラベル情報としては、医学・生物学分野への適用の場合、疾患や薬効の有無、病態の進行度の他に生存時間などを用いることができる。すなわち、ラベルとして、連続値、順位またはクラスを用いることができる。また、ラベル付きデータに正例・負例がある場合は、ラベルのベクトルｙの要素として、１，−１を用いることができる。その場合、ラベル情報に応じて損失関数の形が異なるため、損失関数に応じて勾配を求める。例えば、回帰学習の場合は、損失関数Ｌは
【００４１】
【数９】
2009237923.tif 000011
【００４２】
を用いることができる。ここで、ｐ(ｙ)はラベルｙの事前分布であり、カーネル密度推定法などで求めることができる。勾配φは
【００４３】
【数１０】
2009237923.tif 000012
【００４４】
で求めることができる。
【００４５】
以上説明した学習システムは、それを実現するためのコンピュータプログラムを、パーソナルコンピュータ（ＰＣ）やサーバ用コンピュータなどのコンピュータに読み込ませ、そのプログラムを実行させることによっても実現できる。上述した手順で学習を行うためのプログラムは、ＣＤ−ＲＯＭなどの記録媒体によって、あるいはネットワークを介して、コンピュータに読み込まれる。
【実施例】
【００４６】
以下、上述した学習システムによって上述した実施形態の学習方法を実施した例を説明する。
【００４７】
腎細胞癌の組織マイクロアレイデータをインターネット(http://www.genetics.ucla.edu/labs/horvath/RFclustering/RFclustering.htm)から取得した。このデータは、８種類の蛋白質の発現データと腎細胞癌のグレード（グレード１〜４）に関する情報を含んでいる。このデータを用いた論文として、非特許文献５がある。ト
病理診察された２９７人の患者の８種類の蛋白質の発現データに基づき、腎細胞癌の組織のグレードに対する性能評価を行った。グレード１と診断された者は３４人、グレード２〜４と診断された者は２６３人である。癌のグレードは、病理医によって分類される癌の悪性度のことであり、グレード１の場合はその患者の予後は良いことが知られている。グレードが上がるのにしたがって、予後が悪くなる。詳細については非特許文献５に記載されている。
【００４８】
本実施例では、パラメータとして、ν＝０．０１と設定し、反復回数Ｍについては、５０，１００，２００の３通りを用いた。また、この実施例に対する対照となる比較例として、正例と負例とで事前分布が同一であるとしてブースティングによる学習を行った。
【００４９】
性能評価は、グレード１の患者を正例、その他のグレード３〜４の患者を負例として、各クラスから半分のサンプルを訓練データとして、残りをテストデータとして無作為にサンプリングを行う操作を５０回繰り返し、F-measure，G-mean，ＲＯＣ（受信者動作特性：receiver operating characteristic）曲線下の面積（ＡＵＣ：Area Under Curve）の平均を評価基準とした。結果を表１に示す。F-measure，G-mean，AUCは、正例・負例の数が大きく異なる場合に適切な評価基準として知られており、それらの定義は非特許文献２に記載されている。F-measure，G-mean，AUCは値が大きければ大きいほど、性能が高いことを示している。特に表１において下線を付した、実施例でのＭ＝２００における結果は、極めてよい結果を示している。
【００５０】
【表１】
2009237923.tif 000013
【００５１】
上記の結果から、上述した実施形態による方法を用いることによって、従来法と比較して、性能が大幅に向上することが分かる。
【図面の簡単な説明】
【００５２】
【図１】本発明の実施の一形態の学習システムの構成を示すブロック図である。
【図２】実施の一形態における学習部での処理手順を示すフローチャートである。
【図３】学習部の構成の一例を示すブロック図である。
【符号の説明】
【００５３】
１    入力装置
２    データ処理装置
３    記憶装置
４    出力装置
２１    学習部
２２    判別部
２５    学習実行部
２６    コスト算出部
２７    制御部
３１    データ記憶部
３２    モデル記憶部
【図１】
2009237923.tif 000014
【図２】
2009237923.tif 000015
【図３】
2009237923.tif 000016