(57)【特許請求の範囲】
【請求項１】
正例の確率モデルのパラメータをθ＋とし、負例の確率モデルのパラメータをθ−として、
負例のデータを正例のデータと誤分類する確率である偽陽性率に関する予め定められた閾値ｐと、正例のラベルが付与された訓練データ及び負例のラベルが付与された訓練データとに基づいて、前記正例の確率モデルの、前記負例の確率モデルに対する比で表されるスコア関数を用いて正例の訓練データ及び負例の訓練データの各々を分類したときの、前記偽陽性率と、正例のデータを正例のデータと正しく分類する確率である真陽性率との対応関係を表すグラフ上におけるＲＯＣ曲線の下側面積であって、かつ、前記閾値ｐ以下での前記下側面積を最大化するように前記正例の確率モデルのパラメータθ＋と負例の確率モデルのパラメータθ−を推定するスコア関数最適化部と、
入力された正例または負例のラベルが付与されていないテストデータと前記推定された前記正例の確率モデルのパラメータθ＋と負例の確率モデルのパラメータθ−を用いた前記スコア関数とに基づいて、前記テストデータのスコア値を算出するスコア算出部と、
を含む分類装置。
【請求項２】
スコア関数最適化部と、スコア算出部とを含む分類装置における、分類方法であって、
前記スコア関数最適化部は、
正例の確率モデルのパラメータをθ＋とし、負例の確率モデルのパラメータをθ−として、
負例のデータを正例のデータと誤分類する確率である偽陽性率に関する予め定められた閾値ｐと、正例のラベルが付与された訓練データ及び負例のラベルが付与された訓練データとに基づいて、前記正例の確率モデルの、前記負例の確率モデルに対する比で表されるスコア関数を用いて正例の訓練データ及び負例の訓練データの各々を分類したときの、前記偽陽性率と、正例のデータを正例のデータと正しく分類する確率である真陽性率との対応関係を表すグラフ上におけるＲＯＣ曲線の下側面積であって、かつ、前記閾値ｐ以下での前記下側面積を最大化するように前記正例の確率モデルのパラメータθ＋と負例の確率モデルのパラメータθ−を推定し、
前記スコア算出部は、入力された正例または負例のラベルが付与されていないテストデータと前記推定された前記正例の確率モデルのパラメータθ＋と負例の確率モデルのパラメータθ−を用いた前記スコア関数とに基づいて、前記テストデータのスコア値を算出する、分類方法。
【請求項３】
コンピュータを、請求項１に記載の分類装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを正例か負例に分類するための分類装置、方法、及びプログラムに関するものである。
【背景技術】
【０００２】
観測データが正例クラスか負例クラスかを判定する２クラス分類問題では、正例に属する複数のサンプルと負例に属する複数のサンプルとを訓練データとして２分類器を学習し、学習済の２分類器を用いてクラスラベルが未知のテストサンプルの帰属クラス(正例クラスか負例クラスかの二者択一）を推定する。通常の２クラス分類問題では、訓練データに対し、正例を正例、負例を負例として正しく分類できた確率（正答率）を最大化するように２クラス分類器を学習する。
【０００３】
しかし、例えば異常検知では、異常をできるだけ洩れなく検出することが重要である。すなわち、「異常」を正例クラスとすると、負例クラスに属するサンプルを正例クラスとして誤分類する確率（以後、偽陽性率）をできるだけ抑え、正例クラスに属するサンプルを正例クラスと正しく分類する確率（以後、真陽性率）が高い２クラス分類器の設計が必要となる。当然ながら、偽陽性と真陽性はトレードオフの関係にあり、例えば、すべて異常と判定すると真陽性率は1.0(100%)となるが、同時に偽陽性率も1.0(100%)となり意味がない。
【０００４】
２クラス分類の場合、スコア関数と呼ばれる正例らしさ、負例らしさを評価する関数を定義し（通常、スコア関数値が大きい程、正例らしさが大きいとする）、あるサンプルに対し、スコア関数値がある閾値以上であれば正例クラスと判定する。スコア関数は、予め、正例に属する複数のサンプルと、負例に属する複数のサンプルからなる訓練データを用いて学習する。そして、前記偽陽性と真陽性のトレードオフの関係は、スコア関数の閾値を変化させて、横軸に偽陽性率、縦軸に真陽性率をプロットして得られるROC曲線(Receiver Operating Characteristic)で図示される。図４の左図に、正例に属するサンプルを塗りつぶした丸、負例に属するサンプルを中抜きの丸で示し、それらのスコア関数値（数直線上の点）が図４のように得られたとき、これらのスコア関数値に対し、閾値を変化させて得られた曲線が図４の右図に示すROC曲線である。
【０００５】
図４でのスコア関数の例において、閾値を正例の第１サンプルのスコア値よりも大きくすると、全てのサンプルを負例クラスとして分類することになるので、真陽性率、偽陽性率ともに0.0となる。一方、閾値を負例の第５サンプルよりも小さくすると、全て正例クラスとして分類することになるので、真陽性率も偽陽性率ともに1.0となる。また、閾値を正例の第３サンプルのスコア値より小さく、かつ、負例の第２サンプルのスコア値よりも大きい場合、５個の正例サンプルの内、３個は正例と正しく分類できているので真陽性率は3/5=0.6となり、５個の負例サンプルの内、１個を正例と誤分類しているので、偽陽性率は1/5=0.2となる。ROC曲線上の(0.2,0.6)がこの場合に相当する。すなわち、ROC曲線は、原点(０，０)と(１，１)を通り広義の単調増加曲線となる。
【０００６】
ROC曲線の下側面積として定義されるAUC(Area Under the Curve)値が２クラス分類器の良さの指標として用いられる。AUC値は最小値０、最大値１をとり、１に近い程、２クラス分類器が高性能であることを意味する。さらに、図５に示す様に、偽陽性率の値をある固定値ｐとしたときのAUC値はpartial AUC(以後、ｐＡＵＣ)値と呼ばれる。図５はｐ＝０．３のときのｐＡＵＣの例である。ｐ＝１のとき、ｐＡＵＣ値はＡＵＣ値と一致する。すなわち、ｐＡＵＣはＡＵＣを特殊な場合として含んでいる。
【０００７】
しかし、通常の２クラス分類器の学習法では、訓練データに対する分類誤りを最小化するように２クラス分類器を学習し、ｐＡＵＣを直接最大化して２クラス分類器を学習しているわけではない。それ故、得られた２クラス分類器は必ずしもｐＡＵＣ値を最大化しているとは限らない。訓練データにおいて、正例クラスに属するサンプル数が負例クラスに属するサンプル数に比べ著しく少ない場合、分類誤りを最小化するように学習すると、サンプル数の多い負例クラスのサンプルをできるだけ正しく分類しようとして、稀少な正例クラスのサンプルが正例クラスとして正しく分類できない。すなわち、偽陽性率は小さくなるが、真陽性率も同時に小さくなるという問題があった。
【０００８】
この問題に対し、ｐＡＵＣ値を直接最大化する２クラス分類器の学習法が幾つか提案されている（非特許文献１、及び非特許文献２)。
【０００９】
非特許文献１、及び非特許文献２の手法におけるｐＡＵＣ値最大化学習の基本的な考え方を以下に説明する。
【００１０】
一般に分類問題では、訓練データの各サンプルは特徴ベクトルとして表現される。今、正例クラスに属するサンプルをｘ＋、負例クラスに属するサンプルをｘ−と表すこととする。ｘ＋、及びｘ−はいずれも固定次元の特徴ベクトルである。このとき、スコア関数をｆ（ｘ；θ）とする。ここではパラメータで、訓練データを用いて学習する。２クラス分類のための閾値をｃとすると２クラス分類における真陽性率（ＴＰＲｆ（ｃ））、および偽陽性率（ＦＰＲｆ（ｃ））は、各々下記（１）式、及び（２）式で定義される。真陽性率、偽陽性率ともにｃ、θに依存して定まるため、両者はｃ、θの関数として表されるが、表記の簡単化のためパラメータθを省略し、単にｆと表記する。
【００１１】
【数１】
0006498107.tif 000002
【００１２】
ここで、Ｉ（ｘ）は論理ユニット関数で、ｘが真の時Ｉ（ｘ）＝１、ｘが偽真の時Ｉ（ｘ）＝０となる。また、ｐ（ｘ＋）、ｐ（ｘ−）は各々正例、負例クラスのサンプルの確率分布を表す。そして、ｐＡＵＣ値は、下記（３）式に従って算出される。
【００１３】
【数２】
0006498107.tif 000003
【００１４】
ここで、ＦＰＲｆ−１（ｕ）は、下記（４）式に従って定義される。
【００１５】
【数３】
0006498107.tif 000004
【００１６】
すなわちｐＡＵＣを最大化するためには、スコア関数ｆを定義した上で上記式（３）を最大化するスコア関数のパラメータθを求めれば良い。実際には、正例クラス、負例クラスの確率分布は未知故、直接上記（３）式を計算することはできないが、与えられた訓練データで上記（３）式を近似した、下記（５）式に示す経験ｐＡＵＣ値で計算できる。
【００１７】
【数４】
0006498107.tif 000005
【００１８】
ここで、Ｄ＋、Ｄ−は各々訓練データ中の正例クラスサンプル集合、負例クラスサンプル集合を表す。表記｜Ｖ｜は集合Ｖの要素数を表す。表記
【００１９】
【数５】
0006498107.tif 000006
【００２０】
はｙを超えない最大整数を表す。ｘｉ＋は正例クラスに属す訓練データの第ｉサンプルの特徴ベクトルを表す。一方、表記ｘ（ｊ）−は負例クラスに属す訓練データの各サンプルをスコア関数値で降順に並び替えた時の第ｊ番目のサンプルの特徴ベクトルを表す。上記（５）式の右辺の和は、正例クラスに属する訓練データ（｜Ｄ＋｜個）の各々と、スコア値の降順でソートされた上位
【００２１】
【数６】
0006498107.tif 000007
【００２２】
の負例クラスに属する訓練データの各々とをスコア値で比較した際での正例クラスサンプルが負例クラスサンプルのスコア値より大きい正例クラスサンプルの個数を意味する。
【００２３】
結局、ｐＡＵＣを直接最大化する２クラス分類器はパラメータθを有するスコア関数を定め、上記（５）式を最大化するθを求める問題に帰着される。ただし、上記（５）式から明らかな様に、ユニット関数Ｉ（ｘ）が微分不可能なため、ユニット関数を微分可能な連続関数で近似して最大化することになる。そして前述した従来手法では、スコア関数としてパラメータに関し、下記（６）式に示す線形な関数（線形スコア関数）が用いられていた。
【００２４】
【数７】
0006498107.tif 000008
【００２５】
ここで、表記Ｔはベクトルの転置を表す。θ＝（θ１，θ２）が推定すべき未知パラメータである。
【先行技術文献】
【非特許文献】
【００２６】
【非特許文献１】M. J. Hsu and H. M. Hsueh: The linear combinations of biomarkers which maximize the partial area under the ROC curve, Computational Statistics, 2012.
【非特許文献２】H. Narasimhan and S. Agarwal: A structural SVM based approach for optimization partial AUC, International Conference on Machine Learning (ICML), 2013.
【発明の概要】
【発明が解決しようとする課題】
【００２７】
しかし、上述した方法では、線形スコア関数では自由度が小さいため、ｐＡＵＣ値の最大化に限界があり、スコア関数を非線形化して単純に複雑化すると上記（５）式の最大化問題が複雑になり、かつ、訓練データにフィッティングし過ぎて、学習に使用しないテストデータでのｐＡＵＣ値が悪化するという過学習の問題が生じるという問題がある。
【００２８】
本発明では、上記問題点を解決するために成されたものであり、正例クラスのサンプル数が負例クラスのサンプル数に対し相対的に少ない場合であっても、精度よく２クラス分類をすることができる分類装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００２９】
上記目的を達成するために、第１の発明に係る分類装置は、負例のデータを正例のデータと誤分類する確率である偽陽性率に関する予め定められた閾値ｐと、正例の訓練データ及び負例の訓練データとに基づいて、スコア関数を用いて正例の訓練データ及び負例の訓練データの各々を分類したときの、前記偽陽性率と、正例のデータを正例のデータと正しく分類する確率である真陽性率との対応関係を表すグラフ上におけるＲＯＣ曲線の下側面積であって、かつ、前記閾値ｐ以下での前記下側面積を最大化する、前記スコア関数を学習するスコア関数最適化部と、入力されたテストデータと前記学習されたスコア関数とに基づいて、前記テストデータのスコア値を算出するスコア算出部と、を含んで構成され、前記スコア関数は、正例用のモデルパラメータを用いて定められた正例の確率モデルと、負例用のモデルパラメータを用いて定められた負例の確率モデルとの比を用いて表される。
【００３０】
第２の発明に係る分類方法は、スコア関数最適化部と、スコア算出部とを含む分類装置における、分類方法であって、前記スコア関数最適化部は、負例のデータを正例のデータと誤分類する確率である偽陽性率に関する予め定められた閾値ｐと、正例の訓練データ及び負例の訓練データとに基づいて、スコア関数を用いて正例の訓練データ及び負例の訓練データの各々を分類したときの、前記偽陽性率と、正例のデータを正例のデータと正しく分類する確率である真陽性率との対応関係を表すグラフ上におけるＲＯＣ曲線の下側面積であって、かつ、前記閾値ｐ以下での前記下側面積を最大化する、前記スコア関数を学習し、前記スコア算出部は、入力されたテストデータと前記学習されたスコア関数とに基づいて、前記テストデータのスコア値を算出し、前記スコア関数は、正例用のモデルパラメータを用いて定められた正例の確率モデルと、負例用のモデルパラメータを用いて定められた負例の確率モデルとの比を用いて表される。
【００３１】
第１及び第２の発明によれば、スコア関数最適化部により、負例のデータを正例のデータと誤分類する確率である偽陽性率に関する予め定められた閾値ｐと、正例の訓練データ及び負例の訓練データとに基づいて、スコア関数を用いて正例の訓練データ及び負例の訓練データの各々を分類したときの、偽陽性率と、正例のデータを正例のデータと正しく分類する確率である真陽性率との対応関係を表すグラフ上におけるＲＯＣ曲線の下側面積であって、かつ、閾値ｐ以下での下側面積を最大化する、スコア関数を学習し、スコア算出部により、入力されたテストデータと学習されたスコア関数とに基づいて、テストデータのスコア値を算出し、スコア関数は、正例用のモデルパラメータを用いて定められた正例の確率モデルと、負例用のモデルパラメータを用いて定められた負例の確率モデルとの比を用いて表される。
【００３２】
このように、偽陽性率に関する予め定められた閾値ｐと、正例の訓練データ及び負例の訓練データとに基づいて、スコア関数を用いて正例の訓練データ及び負例の訓練データの各々を分類したときの、偽陽性率と、真陽性率との対応関係を表すグラフ上におけるＲＯＣ曲線の下側面積であって、かつ、閾値ｐ以下での下側面積を最大化する、正例用のモデルパラメータを用いて定められた正例の確率モデルと、負例用のモデルパラメータを用いて定められた負例の確率モデルとの比を用いて表されるスコア関数を学習し、入力されたテストデータと学習されたスコア関数とに基づいて、テストデータのスコア値を算出することにより、正例クラスのサンプル数が負例クラスのサンプル数に対し相対的に少ない場合であっても、精度よく２クラス分類をすることができる。
【００３３】
また、第１及び第２の発明において、前記スコア関数は、前記正例の確率モデルと前記負例の確率モデルとの比の対数としてもよい。
【００３４】
また、本発明のプログラムは、コンピュータを、上記の分類装置を構成する各部として機能させるためのプログラムである。
【発明の効果】
【００３５】
以上説明したように、本発明の分類装置、方法、及びプログラムによれば、偽陽性率に関する予め定められた閾値ｐと、正例の訓練データ及び負例の訓練データとに基づいて、スコア関数を用いて正例の訓練データ及び負例の訓練データの各々を分類したときの、偽陽性率と、真陽性率との対応関係を表すグラフ上におけるＲＯＣ曲線の下側面積であって、かつ、閾値ｐ以下での下側面積を最大化する、正例用のモデルパラメータを用いて定められた正例の確率モデルと、負例用のモデルパラメータを用いて定められた負例の確率モデルとの比を用いて表されるスコア関数を学習し、入力されたテストデータと学習されたスコア関数とに基づいて、テストデータのスコア値を算出することにより、正例クラスのサンプル数が負例クラスのサンプル数に対し相対的に少ない場合であっても、精度よく２クラス分類をすることができる。
【図面の簡単な説明】
【００３６】
【図１】本実施形態に係る分類装置の機能的構成を示すブロック図である。
【図２】本実施形態に係る分類装置における分類処理ルーチンのフローチャート図である。
【図３】実験例の結果の一例を示す図である。
【図４】ＲＯＣ曲線の一例を示す図である。
【図５】ｐＡＵＣ値の一例を示す図である。
【発明を実施するための形態】
【００３７】
以下、図面を参照して本発明の実施形態を詳細に説明する。
【００３８】
＜本発明の実施形態の概要＞
まず、本実施形態の概要について説明する。
【００３９】
本実施形態に係る分類装置においては、正例クラスに属する複数のサンプルと負例に属する複数のサンプルからなる訓練データを用いて、予め定めた偽陽性率の値（ｐ）に対し、ｐＡＵＣを最大化するスコア関数を学習する。次いで、クラスが未知のテストデータ集合に対し、学習済のスコア関数を用いてテストデータ集合の各サンプルのスコア値を出力する。
【００４０】
これまでに機械学習の研究分野において、問題ごとに適切な確率モデルが提案されている。例えば、特徴ベクトルの要素が実数の（連続値）場合、ガウス混合分布モデルが用いられ、特徴ベクトルの要素が自然数（離散値）の場合、混合多項分布モデルが用いられる。文書分類の応用は後者に相当する。２クラス分類問題の場合、正例クラスおよび負例クラスの確率モデルを各々ｐ（ｘ；θ１）、ｐ（ｘ；θ２）とすると、通常、正例に属する訓練データを用いて正例の確率モデルの未知パラメータθ１を推定し、負例に属する訓練データを用いて負例の確率モデルの未知パラメータθ２を推定し、クラス未知のサンプルｘに対しては、正例のクラス事後確率と負例のクラス事後確率の比較により、正例クラスか負例クラスかを判定する。ベイズの定理より、クラス事後確率はモデルとクラスの事前確率との積に比例するので、上記比較は下記（７）式、及び（８）式のように示される。
【００４１】
【数８】
0006498107.tif 000009
【００４２】
ここで、Ｐ１、Ｐ２は各々正例および負例の事前確率である。尚、両クラスのクラス事後確率が等しい場合はランダムにいずれのクラスとすれば良い。
【００４３】
しかし、本実施形態で対象とする２クラス分類では、正例クラスに属するサンプル数が負例クラスに属するサンプル数に対し顕著に少ない場合、Ｐ１≪Ｐ２となり、本来評価すべきモデル尤度（サンプルの確率モデルへの当てはまり度）の項の影響を阻害するという問題がある。上記（７）式及び（８）式では正例クラスと負例クラスとを対等に扱っているという点で、正例クラスのサンプルの検出を重要視するという目的には整合しない。
【００４４】
さらに、従来の確率モデルの未知パラメータの学習は、前述した様に、正例クラスの確率モデルのパラメータは正例クラスに属する訓練データのみを用いて独立に学習しているため、ｐＡＵＣを直接最大化する学習となっていない。そこで、本実施形態に係る分類装置では、確率モデル（モデル尤度）のみに着目し、スコア関数を下記（９）式に示すように定義する。なお、下記（９）式を等価的に変更した下記（１０）式を用いてもよい。
【００４５】
【数９】
0006498107.tif 000010
【００４６】
ただし、ｐ（ｘ；θ＋）は、正例クラスの確率モデルのパラメータを用いて定義された正例クラスの確率モデルであり、ｐ（ｘ；θ−）は、負例クラスの確率モデルのパラメータを用いて定義された負例クラスの確率モデルである。
【００４７】
正例に属するサンプルｘ＋に対しては、負例の確率モデルよりも正例の確率モデルの尤度値（確率モデルにｘを代入した値）が大きくなる、つまり、ｐ（ｘ＋；θ＋）＞ｐ（ｘ＋；θ−）故、スコア関数として上記（９）式、及び（１０）式は妥当である。そこで本実施形態においては、尚、上記（９）式、又は（１０）式で定義されるスコア関数を上記（５）式に代入し、訓練データを用いて算出される経験ｐＡＵＣ値を最大化するパラメータθ＝（θ＋，θ−）を求める。θ＋、θ−は各々正例、負例クラスの確率モデルのパラメータに相当する。ただし、前述した様に、上記（５）にはユニット関数が含まれ微分不可能故、ユニット関数を適切な連続関数（例えば、シグモイド関数）で近似し、汎用的な既存の非線形最適化手法を用いて前記最大化問題を解く。尚、上記（１０）式で両クラスの確率モデルの比に対数をとるのは数学的な便宜上の理由であり本質ではない。対数をとることで比（除算）が引き算になり、上記（５）式の最大化の計算を容易になる。
【００４８】
＜本発明の実施形態に係る分類装置の構成＞
次に、本発明の実施形態に係る分類装置の構成について説明する。図１に示すように、本実施形態に係る分類装置１００は、ＣＰＵと、ＲＡＭと、後述する分類処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。この分類装置１００は、機能的には図１に示すように入力部１０と、演算部２０と、出力部９０とを含んで構成されている。
【００４９】
入力部１０は、正例、又は負例の何れかが付加された訓練データの各々を受け付ける。また、入力部１０は、正例、又は負例に分類するための分類対象となるテストデータの各々を受け付ける。
【００５０】
演算部２０は、訓練データ記憶部２２と、スコア関数最適化部２４と、テストデータ記憶部２６と、スコア算出部２８とを含んで構成されている。
【００５１】
訓練データ記憶部２２には、入力部１０において受け付けた訓練データの各々が記憶されている。
【００５２】
スコア関数最適化部２４は、訓練データ記憶部２２に記憶されている訓練データの各々と、予め定められた偽陽性率の閾値ｐと、に基づいて、上記（５）式、及び（１０）式に従って、スコア関数を取得する。
【００５３】
具体的には、上記（１０）式を代入した上記（５）式中のユニット関数を適切な連続関数（例えば、シグモイド関数）で近似し、訓練データの各々と、予め定められた偽陽性率の閾値ｐとに基づいて、汎用的な既存の非線形最適化手法を用いて、最大化問題を解き、上記（５）式における経験ｐＡＵＣ値を最大化するパラメータθ＝（θ＋，θ−）を算出する。
【００５４】
そして、取得したパラメータθ＝（θ＋，θ−）を、上記（１０）式に代入したスコア関数を学習済のスコア関数とする。なお、本実施形態においては、上記（１０）式を用いる場合について説明したが、上記（９）式を用いてもよい。
【００５５】
テストデータ記憶部２６には、入力部１０において受け付けた正例、又は負例に分類するための分類対象となるテストデータの各々が記憶されている。
【００５６】
スコア算出部２８は、テストデータ記憶部２６に記憶されているテストデータの各々について、スコア関数最適化部２４において取得した学習済のスコア関数に基づいて、スコア値を算出し、テストデータの各々を取得したスコア値でソートする。また、スコア算出部２８は、スコア値でソートされたテストデータの各々について、予め定められたスコア値の閾値ｃに基づいて、下記（１１）式に従って、正例、又は負例に分類する。
【００５７】
【数１０】
0006498107.tif 000011
【００５８】
また、スコア算出部２８は、取得した正例のテストデータを出力部９０から出力する。
【００５９】
＜本発明の実施形態に係る分類装置の作用＞
次に、本発明の実施形態に係る分類装置１００の作用について説明する。分類装置１００は、入力部１０によって、訓練データの各々を受け付け訓練データ記憶部２２に記憶し、テストデータの各々を受け付けテストデータ記憶部２６に記憶すると、分類装置１００によって、図２に示す分類処理ルーチンが実行される。
【００６０】
まず、図２に示す分類処理のステップＳ１００で、訓練データ記憶部２２に記憶されている訓練データの各々と、テストデータ記憶部２６に記憶されているテストデータの各々とを読み込む。
【００６１】
次に、ステップＳ１０２で、ステップＳ１００において取得した訓練データの各々と、予め定められた偽陽性率の閾値ｐと、に基づいて、上記（５）式、及び（１０）式に従って、上記（５）式における経験ｐＡＵＣ値を最大化するパラメータθ＝（θ＋，θ−）を用いたスコア関数を取得する。
【００６２】
次に、ステップＳ１０４で、ステップＳ１００において取得したテストデータの各々について、ステップＳ１０２において取得したスコア関数に基づいて、スコア値を算出し、テストデータの各々をスコア値に基づいて、ソートする。
【００６３】
次に、ステップＳ１０６で、テストデータの各々について、ステップＳ１０４において取得した当該スコア値と、予め定められたスコア値の閾値ｃとに基づいて、上記（１１）式に従って、正例、又は負例に分類する。
【００６４】
次に、ステップＳ１０８で、ステップＳ１０６において取得した分類結果に基づいて、正例となるテストデータを出力部９０から出力し、分類処理ルーチンを終了する。
【００６５】
＜実験例＞
本実施形態に係る分類装置１００を用いて、天体画像から超新星か否かを判定する２クラス分類問題として寒天体画像を用いた実験結果を以下に示す。本データの各サンプルは、すばる望遠鏡で撮像した天体画像から各種画像特徴を抽出して得られた２３次元の特徴ベクトルで、正例クラス(４８サンプル）と負例クラス(２４００サンプル）の２クラス判定を原画像から専門家が人でラべリングしたデータである。この正解ラベル付きのデータを、正例と負例とのサンプル数の比率（１：５０）を保つように、訓練データとテストデータとに１：２の割合でランダムに分割する。すなわち、訓練データ数は１６３２、テストデータ数は８１６である。そして、この訓練データで２クラス分類器を学習し、テストデータで偽陽性率を１％（ｐ＝０．００１）とした時の、ｐＡＵＣ値および真陽性率で２クラス分類器を評価した。実験においては、以下の３手法を比較した。
【００６６】
手法１：線形のスコア関数を用いてｐＡＵＣ最大化によりスコア関数を求める従来手法１（非特許文献２）。
手法２：正例クラスと負例クラスの確率モデルを用いて、各々独立に確率モデルを学習した後、上記（１０）式に代入してスコア関数を求める従来手法２。
手法３：正例クラスと負例クラスとに確率モデルを用いて、上記（１０）式をスコア関数としてｐＡＵＣ最大化によりスコア関数を求める本手法。
【００６７】
本実施形態において用いる手法が、確率モデルを用いた手法故、確率モデルを用いるがｐＡＵＣ最大化によりスコア関数を求めるのではなく、正例クラス、負例クラス各々独立に確率モデルを最尤推定法により学習してスコア関数を求める従来手法２とも比較した。
【００６８】
従来手法２および本実施形態の手法における確率モデルとして、本実験データの特徴ベクトルの各要素は実数故、確率モデルとして実数の特徴ベクトルに対して多用されるガウス混合分布モデルを用いた。ガウス混合分布モデルは、下記（１２）式で表わされる。
【００６９】
【数１１】
0006498107.tif 000012
【００７０】
ここで、αｋは混合比で、αｋ＞０、Σｋαｋ＝１を満たす。また、Ｎ（ｘ；μｋ，Σｋ）は、第ｋ要素のガウス分布を表し、μｋ、Σｋは各々第ｋガウス分布の平均ベクトル、共分散行列を表す。ただし、実験においては、共分散行列は、下記（１３）式に示すように、対角行列とする。
【００７１】
【数１２】
0006498107.tif 000013
【００７２】
結局、ガウス混合分布モデルでの推定すべき未知パラメータは、下記（１４）式に示すようになる。これらが、正例クラスと、負例クラスとにそれぞれ独立に存在する。
【００７３】
【数１３】
0006498107.tif 000014
【００７４】
なお、混合数Ｋの決め方については、訓練データをさらに１：１の比で正例クラスと負例クラスとのサンプル数の比を保ったまま、検定用と学習用データとにランダムに分割し、Ｋを可能な候補の各々について学習用データでスコア関数を学習し、検定用データでｐＡＵＣ値が最も大きくなる混合数を最適な混合数として決定した。この際、正例クラスでの混合数と負例クラスでの混合数は等しいとは限らず、それらの可能な組み合わせで検定する。
【００７５】
また、実験結果を図３に示す、図３で、従来手法２と本手法の結果を見ると、テストデータに対するｐＡＵＣ値および真陽性率ともに本手法が従来手法に対し顕著に優位であることが確認できる。この差は、従来手法２で学習したスコア関数がｐＡＵＣを直接最大化していないことに起因し、本結果よりｐＡＵＣを直接最大化する手法の有効性が確認できた。また、従来手法１と本手法との比較では、本手法が従来手法１に対し顕著に優位であることが分かる。これは、従来手法が線形のスコア関数を用いているのに対し、本手法では問題に適した確率モデルを用い、適切な非線形のスコア関数を用いていることが主要因である。
【００７６】
実際、従来手法２はｐＡＵＣを直接最大化していないにも関わらず、従来手法１よりも良い結果を得ている。この結果は、正例クラスと負例クラスとの確率分布に重なりがあり、線形のスコア関数では十分でない場合、ｐＡＵＣを直接最大化したとしても、性能に限界があることを示している。一方、本手法では、対象とする問題毎に、適切な確率モデルを用いることで、非線形のスコア関数が定義でき、かつ、ｐＡＵＣを直接最大化することで、所望の２クラス分類器を得ることが可能となる。
【００７７】
以上説明したように、本実施形態に係る分類装置によれば、偽陽性率に関する予め定められた閾値ｐと、正例の訓練データ及び負例の訓練データとに基づいて、スコア関数を用いて正例の訓練データ及び負例の訓練データの各々を分類したときの、偽陽性率と、真陽性率との対応関係を表すグラフ上におけるＲＯＣ曲線の下側面積であって、かつ、閾値ｐ以下での下側面積を最大化する、正例用のモデルパラメータを用いて定められた正例の確率モデルと、負例用のモデルパラメータを用いて定められた負例の確率モデルとの比を用いて表されるスコア関数を学習し、入力されたテストデータと学習されたスコア関数とに基づいて、テストデータのスコア値を算出することにより、正例クラスのサンプル数が負例クラスのサンプル数に対し相対的に少ない場合であっても、精度よく２クラス分類をすることができる。
【００７８】
また、故障検知や疾病診断のように本来検出したい正例クラス（例えば、異常、病気）のサンプル数が負例クラス（例えば、正常、健康）のサンプル数に対し、相対的に少ない場合であってもｐＡＵＣ値を最大化する高精度な故障検知、疾病診断などの２クラス分類を実現することができる。
【００７９】
また、正例と負例とに属するサンプルに対し、偽陽性率を予め定められた閾値以下という制約の下で、真陽性率を最大化する２クラス分類装置を構成することができる。
【００８０】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【００８１】
例えば、本実施形態においては、上記（９）式、及び（１０）式において、正例用のモデルパラメータを用いて定められた正例の確率モデルが分子とし、負例用のモデルパラメータを用いて定められた負例の確率モデルを分母とする場合について説明したが、これに限定されるものではなく、上記（９）式、及び（１０）式の分子と分母とを逆転させるような、正例用のモデルパラメータを用いて定められた正例の確率モデルと、負例用のモデルパラメータを用いて定められた負例の確率モデルとの比とするように、上記（９）式、及び（１０）式を変形して用いてもよい。
【００８２】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能であるし、ネットワークを介して提供することも可能である。
【符号の説明】
【００８３】
１０   入力部
２０   演算部
２２   訓練データ記憶部
２４   スコア関数最適化部
２６   テストデータ記憶部
２８   スコア算出部
９０   出力部
１００ 分類装置
【図１】
0006498107.tif 000015
【図２】
0006498107.tif 000016
【図３】
0006498107.tif 000017
【図４】
0006498107.tif 000018
【図５】
0006498107.tif 000019