(57)【要約】【課題】計算コストを抑えて、二値分類問題のＡＵＣの一部分を最適化する。【解決手段】スコア算出部１５ｃが、データの特徴量と重みとから、スコア関数を用いてデータのスコアを算出する。最適化部１５ｄが、算出されたスコアにより、データを正例または負例のいずれかに分類する分類器についてのＲＯＣ曲線の一部区間のＡＵＣについて、この一部区間のＡＵＣを近似して表す目的関数の非線形関数の部分を所定の方式で近似して、この近似した目的関数を最大化するように重みを学習する。【選択図】図４
2020071708.tif 000002
【特許請求の範囲】
【請求項１】
データの特徴量と重みとから、スコア関数を用いて該データのスコアを算出するスコア算出部と、
算出された前記スコアにより、前記データを正例または負例のいずれかに分類する分類器についてのＲＯＣ曲線の一部区間のＡＵＣについて、該ＡＵＣを近似して表す目的関数の非線形関数の部分を所定の方式で近似して、該近似した目的関数を最大化するように前記重みを学習する学習部と、
を備えることを特徴とする分類装置。
【請求項２】
前記学習部は、前記目的関数の非線形関数の部分を、パデ近似を用いて近似することを特徴とする請求項１に記載の分類装置。
【請求項３】
前記学習部は、前記目的関数の非線形関数の部分を、テイラー展開を用いて近似することを特徴とする請求項１に記載の分類装置。
【請求項４】
前記学習部は、さらに、前回最大化された目的関数と今回最大化された目的関数との差分が所定の値以下になった場合に、収束したと判定することを特徴とする請求項１に記載の分類装置。
【請求項５】
前記学習部は、さらに、前回最大化された目的関数に対応する重みと今回最大化された目的関数に対応する重みとの差分が所定の値以下になった場合に、収束したと判定することを特徴とする請求項１に記載の分類装置。
【請求項６】
分類装置で実行される分類方法であって、
データの特徴量と重みとから、スコア関数を用いて該データのスコアを算出するスコア算出工程と、
算出された前記スコアにより、前記データを正例または負例のいずれかに分類する分類器についてのＲＯＣ曲線の一部区間のＡＵＣについて、該ＡＵＣを近似して表す目的関数の非線形関数の部分を所定の方式で近似して、該近似した目的関数を最大化するように前記重みを学習する学習工程と、
を含んだことを特徴とする分類方法。
【請求項７】
データの特徴量と重みとから、スコア関数を用いて該データのスコアを算出するスコア算出ステップと、
算出された前記スコアにより、前記データを正例または負例のいずれかに分類する分類器についてのＲＯＣ曲線の一部区間のＡＵＣについて、該ＡＵＣを近似して表す目的関数の非線形関数の部分を所定の方式で近似して、該近似した目的関数を最大化するように前記重みを学習する学習ステップと、
をコンピュータに実行させるための分類プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分類装置、分類方法および分類プログラムに関する。
【背景技術】
【０００２】
機械学習において、スパムメールかハムメールか、癌か否か等の２クラスに分類する二値分類は、最も単純なタスクである。二値分類では、９９人の正常な人と１人の癌患者との検査結果を分類するというように、各クラスのデータ数が不均衡な場合が多い。従来、機械学習により作成される二値分類問題の分類器の性能の指標として、ＡＵＣ（Area  Under  the  Curve）が知られている。
【０００３】
ここで、分類対象のデータの特徴量を正例と負例とに分類する二値分類問題において、分類器の性能は、真陽性（ＴＰ、True  Positive）、偽陽性（ＦＰ、False  Positive）、偽陰性（ＦＮ、False  Negative）および真陰性（ＴＮ、True  Negative）を用いて定義される。真陽性とは、正例を正しく正例に分類することを意味し、偽陽性とは、負例を誤って正例に分類することを意味する。また、偽陰性とは、正例を誤って負例に分類することを意味し、真陰性とは、負例を正しく負例に分類することを意味する。
【０００４】
この場合に、分類器の検知率は、真陽性率（ＴＰＲ、True  Positive  Rate）すなわちＴＰ／（ＴＰ＋ＦＮ）で表される。また、分類器の誤検知率は、偽陽性率（ＦＰＲ、False  Positive  Rate）すなわちＦＰ／（ＦＰ＋ＴＮ）で表される。
【０００５】
また、ＲＯＣ（Receiver  Operating  Characteristic）曲線は、各データを正例または負例と判定する特徴量のスコアの閾値ごとに、ＴＰＲおよびＦＰＲを算出し、各閾値でのＴＰＲを縦軸に、ＦＰＲを横軸に二次元プロットした複数の点を連結して得られる曲線である。また、ＡＵＣは、ＲＯＣ曲線と座標軸とで囲まれた部分の面積である。ＡＵＣは、０〜１の間の値をとり、１に近いほど分類性能が高いことを示す指標である。
【０００６】
このように、ＡＵＣは、正例と負例との双方の正誤が考慮された値である。そのため、ＡＵＣは、例えば９９人の正常な人と１人の癌患者の検査結果のように正例と負例との数が不均衡なデータを分類する二値分類問題において、全員を正常な人に分類した場合に９９％と算出されるような正解率（Accuracy）等と比べ、分類性能の指標として有効である。
【０００７】
一方、実用上のタスクでは、誤検知率（ＦＰＲ）が低い（０に近い）領域での検知率（ＴＰＲ）が重視される場合がある。例えば、癌か否かを判定する場合に、誤検知率が高いと、多数の正常な人に対して誤って癌と判定してしまうことになる。したがって、実用上は、誤検知率を抑えた上で検知率を最適化することが望ましい。これに対し、ＡＵＣが同じでも、低誤検知率領域での検知率が異なる場合がある。そこで、ＡＵＣの一部分を最適化する技術（以下、ｐＡＵＣ（partial  AUC）最適化問題と呼ぶ。）が検討されている（特許文献１，２、非特許文献１参照）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１７−１０２５４０号公報
【特許文献２】特開２０１７−１２６１５８号公報
【非特許文献】
【０００９】
【非特許文献１】Harikrishna  Narasimhan  et  al.、“A  Structural  SVM  Based  Approach  for  Optimizing  Partial  AUC”、2013年
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、従来の技術では、ｐＡＵＣを表す関数の非線形な部分を対象に最適化する処理を繰り返す必要があり、計算コストが大きいという問題がある。
【００１１】
本発明は、上記に鑑みてなされたものであって、計算コストを抑えて、二値分類問題のＡＵＣの一部分を最適化することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、目的を達成するために、本発明に係る分類装置は、データの特徴量と重みとから、スコア関数を用いて該データのスコアを算出するスコア算出部と、算出された前記スコアにより、前記データを正例または負例のいずれかに分類する分類器についてのＲＯＣ曲線の一部区間のＡＵＣについて、該ＡＵＣを近似して表す目的関数の非線形関数の部分を所定の方式で近似して、該近似した目的関数を最大化するように前記重みを学習する学習部と、を備えることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、計算コストを抑えて、二値分類問題のＡＵＣの一部分を最適化することができる。
【図面の簡単な説明】
【００１４】
【図１】図１は、本実施形態に係る分類装置の処理概要を説明するための図である。
【図２】図２は、本実施形態に係る分類装置の処理概要を説明するための図である。
【図３】図３は、本実施形態に係る分類装置の処理概要を説明するための図である。
【図４】図４は、分類装置の概略構成を例示する模式図である。
【図５】図５は、学習処理手順を示すフローチャートである。
【図６】図６は、判定処理手順を示すフローチャートである。
【図７】図７は、分類プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【００１６】
［分類装置の概要］
図１〜図３は、本実施形態に係る分類装置の処理概要を説明するための説明図である。まず、図１には、分類器が、癌患者を正例とし、正常な人を負例として分類する場合のＲＯＣ曲線の描き方が例示されている。図１に示す例では、分類器が、正例の特徴量ｘ１＋、ｘ２＋、ｘ３＋、ｘ４＋、ｘ５＋と、負例の特徴量ｘ１−、ｘ２−、ｘ３−、ｘ４−とのそれぞれのスコアが正例または負例のいずれに該当するかを、閾値を用いて判定する。すなわち、分類器は、各特徴量のスコアが閾値以上の場合に正例（癌患者）と判定し、閾値未満の場合に負例（正常な人）と判定する。
【００１７】
例えば、閾値が０．９−０．９９の間に設定されている場合には、分類器は負例を正例（癌患者）と誤った判定はしておらず、誤検知率（ＦＰＲ）は０％である。また、この分類器は５つの正例のうちの１つを正しく正例と判定しており、検知率（ＴＰＲ）は２０％である。この場合には図１の２次元座標に星印で示すように、（ＦＰＲ，ＴＰＲ）＝（０，０．２）がプロットされる。
【００１８】
分類結果は閾値によって変化する。そこで、閾値を変えて、以上の処理を繰り返すことにより、図１に示す２次元平座標に複数の点がプロットされる。プロットされた複数の点を連結した曲線がＲＯＣ曲線に相当する。また、ＲＯＣ曲線と２軸とで囲まれたＲＯＣ曲線の下側の図１に網掛けで示す領域の面積がＡＵＣに相当する。図１に示す例では、ＡＵＣは、１６／２０＝０．８と算出される。
【００１９】
ここで、図２には、ＡＵＣが同じでも、ＦＰＲが１より０に近い低誤検知率領域での検知率が異なる場合が例示されている。図２に示す例では、（ａ）、（ｂ）のいずれでもＡＵＣは０．８であるが、ＦＰＲが低い領域でのＴＰＲが異なっている。例えば、ＦＰＲが０．１の場合に、図２（ａ）ではＴＰＲが０．４であり、図２（ｂ）では０．６である。そこで、本実施形態の分類装置は、低誤検知率の領域での検知率の最適化、すなわち、ＡＵＣの一部分の最適化を行う。
【００２０】
図３には、本実施形態の分類装置の処理対象であるＡＵＣの一部分が例示されている。本実施形態の分類装置は、ＲＯＣ曲線のＦＰＲが［α，β］（０≦α＜β≦１）である一部区間のＡＵＣ（図３に斜線で示す領域の面積、以下、ｐＡＵＣと記す。）を最大化する分類器を作成する。
【００２１】
図３に示すＲＯＣ曲線の一部区間のＡＵＣは、特徴量ｘ、スコア関数ｆ、ヘビサイドのステップ関数Ｉを用いて、次式（１）で表される。ここで、ｍは正例の数、ｎは負例の数である。また、ｘｉ＋は、正例のｉ番目の特徴量であり、ｘｊ−は、負例のｊ番目の特徴量である。
【００２２】
【数１】
2020071708.tif 000003
【００２３】
また、ｐＡＵＣは、次式（２）で表される。ここで、ｊαはｎα以上の最小の整数である。また、ｊβはｎβ以下の最大の整数である。また、ｘ（ｊ）−は、スコア順にソートした負例のｊ番目の特徴量である。
【００２４】
【数２】
2020071708.tif 000004
【００２５】
本実施形態の分類装置は、後述する分類処理を行うことにより、上記式（２）のｐＡＵＣを最大化する重みｗを決定する。分類器は、決定した重みｗを適用したスコア関数を用いてデータのスコアを算出し、算出したスコアが正例／負例のいずれに該当するかを所定の閾値を用いて判定する。
【００２６】
なお、上記式（２）に示すように、ｐＡＵＣを最大化するためには、負例をスコア順にソートしながら、最適化の処理を繰り返すことになる。
【００２７】
［分類装置の構成］
図４は、分類装置の概略構成を例示する模式図である。図４に例示するように、分類装置１０は、パソコン等の汎用コンピュータで実現され、入力部１１、出力部１２、通信制御部１３、記憶部１４、および制御部１５を備える。
【００２８】
入力部１１は、キーボードやマウス等の入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部１５に対して処理開始などの各種指示情報を入力する。出力部１２は、液晶ディスプレイなどの表示装置、プリンター等の印刷装置等によって実現される。通信制御部１３は、ＮＩＣ（Network  Interface  Card）等で実現され、ＬＡＮ（Local  Area  Network）やインターネットなどの電気通信回線を介したネットワーク機器や管理サーバ等の外部の装置と制御部１５との通信を制御する。
【００２９】
記憶部１４は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現され、後述する分類処理により作成される分類器のパラメータ１４ａ等が記憶される。なお、記憶部１４は、通信制御部１３を介して制御部１５と通信する構成でもよい。
【００３０】
制御部１５は、ＣＰＵ（Central  Processing  Unit）等を用いて実現され、メモリに記憶された処理プログラムを実行する。これにより、制御部１５は、図４に例示するように、学習データ取得部１５ａ、特徴抽出部１５ｂ、スコア算出部１５ｃ、最適化部１５ｄ、テストデータ取得部１５ｅ、特徴抽出部１５ｆ、スコア算出部１５ｇおよび判定部１５ｈとして機能する。
【００３１】
なお、これらの機能部は、それぞれ、あるいは一部が異なるハードウェアに実装されてもよい。例えば、分類装置１０は、学習データ取得部１５ａ、特徴抽出部１５ｂ、スコア算出部１５ｃ、最適化部１５ｄを実装した学習装置と、テストデータ取得部１５ｅ、特徴抽出部１５ｆ、スコア算出部１５ｇおよび判定部１５ｈを実装した判定装置とに分離されてもよい。
【００３２】
学習データ取得部１５ａは、入力部１１あるいは通信制御部１３を介して、後述する分類処理に用いる学習用データを取得する。
【００３３】
特徴抽出部１５ｂは、学習用データを後述する最適化部１５ｄの処理に用いるための準備として、取得された学習用データの特徴量を抽出する。ここで、特徴量とは、分類対象のデータの着眼点の組み合わせを意味する。例えば、特徴量は、健康か不健康かの分類において、１日に吸うたばこの本数、ＢＭＩ、１日当たりの飲酒量等である。なお、特徴量の抽出の手法は特に限定されない。人手によってもよいし、ディープラーニング等のように自動的に特徴を抽出して機械学習を行う手法を適用してもよい。
【００３４】
また、特徴抽出部１５ｂは、抽出した特徴量を特徴ベクトルに変換する。例えば、特徴抽出部１５ｂは、Ｂａｇ−ｏｆ−ＷｏｒｄｓやＮ−ｇｒａｍ等の手法を用いて、特徴量を特徴ベクトルに変換する。
【００３５】
スコア算出部１５ｃは、データの特徴量と重みとから、スコア関数ｆを用いてデータのスコアを算出する。ここで、スコア関数ｆとして、線形のスコア関数を用いる場合に、スコア関数ｆは、重みｗと特徴量（特徴ベクトル）ｘとを用いて、次式（３）のように表される。
【００３６】
【数３】
2020071708.tif 000005
【００３７】
なお、重みｗは、後述する分類処理の結果として出力される。重みの初期値には、任意の値が設定されればよい。また、スコア関数ｆは特に線形関数に限定されず、非線形関数でもよい。
【００３８】
最適化部１５ｄは、学習部である。すなわち、最適化部１５ｄは、算出されたスコアにより、データを正例または負例のいずれかに分類する分類器についてのＲＯＣ曲線の一部区間のＡＵＣについて、このｐＡＵＣを近似して表す目的関数の非線形関数の部分を所定の方式で近似して、この近似した目的関数を最大化するように重みｗを学習する。
【００３９】
具体的には、最適化部１５ｄは、上記式（２）で表されるＲＯＣ曲線の任意の一部区間［α，β］でのｐＡＵＣを最大化する重みｗを決定する。
【００４０】
その際、ヘビサイドのステップ関数Ｉは微分不可能であるため、最適化部１５ｄは、上記式（２）のヘビサイドのステップ関数Ｉを、例えば、次式（４）に示すように、ロジスティックシグモイド関数等を用いて近似する。
【００４１】
【数４】
2020071708.tif 000006
【００４２】
その場合に、ｐＡＵＣは、次式（５）のように表される。
【００４３】
【数５】
2020071708.tif 000007
【００４４】
最適化部１５ｄは、ｐＡＵＣを近似して表す上記式（５）を目的関数として、目的関数を最大化する最適化を行う。ここで、上記式（５）の最適化では、負例をスコア順にソートするたびに、ロジスティックシグモイド関数のような非線形関数を対象に最適化計算を行うことになるため、計算コストが大きい。具体的には、この場合の計算量は、上記式（４）に示したようにｅｘｐの乗数の計算が必要となり、オーダー（程度）記法であるランダウの記法を用いて、Ｏ（ｅｘ）と表される。
【００４５】
そこで、最適化部１５ｄは、目的関数の非線形関数の部分を、例えばパデ近似を用いて近似する。ここで、パデ近似は、次式（６）のように表される。
【００４６】
【数６】
2020071708.tif 000008
【００４７】
最適化部１５ｄは、例えば２次のパデ近似を用いて、上記式（５）に次式（７）を適用する。
【００４８】
【数７】
2020071708.tif 000009
【００４９】
その場合に、上記式（７）で示したパデ近似を用いて近似した目的関数を最適化する計算量は、ランダウの記法を用いて、Ｏ（ｘ２）と表される。これに対し、上記式（５）で表される目的関数を最適化する計算量は、上記のとおりＯ（ｅｘ）と表される。ｘの増加に伴い、Ｏ（ｅｘ）の計算量は爆発的に増加する。これと比較して、任意の定数ｎについてのＯ（ｘｎ）の計算量の増加は緩やかであるため、上記式（７）を用いて近似した目的関数は、最適化部１５ｄの計算コストを抑えることが可能となる。
【００５０】
なお、目的関数の最適化の方式は特に限定されず、例えば、確率的勾配降下法、ニュートン法、Ｌ−ＢＦＧＳ等の準ニュートン法、共役勾配法等が適用可能である。また、目的関数の最適化問題は、書き換えが可能である。例えば、上記式（７）で近似した目的関数を最大化することと、この目的関数の対数を最大化することと、１からこの目的関数を減算した関数を最小化することとは同義である。
【００５１】
最適化部１５ｄは、式（５）中に「ｘ（ｊ）−」で示されるように、負例をスコア順にソートするたびに、上記式（７）で近似した目的関数の最適化の処理を行って、重みｗを決定する。すなわち、最適化部１５ｄは、目的関数が最大になるように重みｗを決定する。
【００５２】
ここで決定する重みｗは、１ステップ前の重みを用いて算出した負例のスコアを元に計算された結果である。そこで、最適化部１５ｄは、収束するまで、上記の目的関数の最適化の処理を繰り返す。
【００５３】
例えば、最適化部１５ｄは、更新前（１ステップ前）と更新後（今回）との目的関数の差分が所定の値以下になった場合に、収束したと判定する。または、最適化部１５ｄは、更新前と更新後との重みｗの差分が所定の値以下になった場合に、収束したと判定してもよい。最適化部１５ｄは、収束したと判定した場合の重みｗを、目的関数を最大化するｐＡＵＣ最適化問題の解として、記憶部１４のパラメータ１４ａに記憶させる。
【００５４】
なお、目的関数の非線形関数の部分の近似の方式は、パデ近似に限定されない。例えば、最適化部１５ｄは、目的関数の非線形関数の部分を、テイラー展開で近似してもよい。０近傍でのテイラー展開（マクローリン展開）は、次式（８）のように表される。
【００５５】
【数８】
2020071708.tif 000010
【００５６】
パデ近似の場合と同様に、上記式（５）のロジスティックシグモイド関数等の非線形関数の部分を上記式（８）のテイラー展開を用いて近似した場合の計算量は、ランダウの記法を用いればパデ近似の場合と同様に表される。したがって、上記式（５）で表される目的関数の最適化より、最適化部１５ｄの計算コストを抑えることが可能となる。
【００５７】
なお、パデ近似は、同次数のテイラー展開より誤差が小さいため、テイラー展開より少ない次数で高精度な近似を行える。
【００５８】
テストデータ取得部１５ｅは、学習データ取得部１５ａと同様に、入力部１１または通信制御部１３を介して、後述する判定部１５ｈの処理対象となるテスト用データを取得する。なお、テストデータ取得部１５ｅは、学習データ取得部１５ａと同一の機能部としてもよい。
【００５９】
特徴抽出部１５ｆは、上記の特徴抽出部１５ｂと同様に、後述する判定部１５ｈの処理に用いるための準備として、テスト用データの特徴量を抽出し、特徴ベクトルへ変換する。特徴抽出部１５ｆは、特徴抽出部１５ｂと同一の機能部としてもよい。
【００６０】
スコア算出部１５ｇは、上記のスコア算出部１５ｃと同様に、データの特徴量から、スコア関数ｆを用いてデータのスコアを算出する。具体的には、スコア算出部１５ｇは、パラメータ１４ａを参照して決定した重みｗを取得し、これを適用したスコア関数ｆを用いて、テスト用データの特徴量のスコアを算出する。スコア算出部１５ｇは、スコア算出部１５ｃと同一の機能部としてもよい。
【００６１】
判定部１５ｈは、算出されたテスト用データのスコアが正例／負例のいずれに該当するかを、所定の閾値を用いて判定する。例えば、判定部１５ｈは、スコアが所定の閾値以上の場合に正例と判定し、所定の閾値未満の場合に負例と判定する。これにより、判定部１５ｈは、テスト用データを正例／負例のいずれかに分類する。また、判定部１５ｈは、テスト用データの判定結果を出力部１２に出力する。
【００６２】
［分類処理］
次に、図５および図６を参照して、本実施形態に係る分類装置１０による分類処理について説明する。分類処理は、学習処理と判定処理とを含む。図５は、学習処理手順を示すフローチャートである。図５のフローチャートは、例えば、ユーザが学習処理の開始を指示する操作入力を行ったタイミングで開始される。
【００６３】
まず、学習データ取得部１５ａが、入力部１１あるいは通信制御部１３を介して、学習用データの入力を受け付ける（ステップＳ１）。次に、特徴抽出部１５ｂが、入力された学習用データの特徴量を抽出し（ステップＳ２）、特徴ベクトルに変換する。
【００６４】
また、スコア算出部１５ｃが、学習用データの特徴ベクトルと重みｗとから、スコア関数ｆを用いて学習用データのスコアを算出する（ステップＳ３）。その際、スコア算出部１５ｃは、重みｗとして、１ステップ前に決定した重みを適用する。
【００６５】
次に、最適化部１５ｄが、算出されたスコアを用いて、上記式（２）で表されるｐＡＵＣを最大化する重みｗを学習する最適化処理を行う（ステップＳ４）。具体的には、最適化部１５ｄは、例えば上記式（５）のように、上記式（２）のｐＡＵＣを近似して表す式の非線形関数の部分を、例えば上記式（７）のパデ近似等で近似した式を目的関数として、この目的関数を最大化するように、重みｗを学習する。
【００６６】
また、最適化部１５ｄは、収束判定を行う（ステップＳ５）。例えば、最適化部１５ｄは、更新前（１ステップ前）と更新後（今回）との目的関数の差分が所定の値以下になった場合に、収束したと判定する。または、最適化部１５ｄは、更新前と更新後との重みｗの差分が所定の値以下になった場合に、収束したと判定してもよい。
【００６７】
最適化部１５ｄは、収束していないと判定した場合には（ステップＳ５，Ｎｏ）、ステップＳ３に処理を戻す。
【００６８】
一方、最適化部１５ｄは、収束したと判定した場合には（ステップＳ５，Ｙｅｓ）、決定した重みｗを、ｐＡＵＣを最大化する分類器のパラメータとして、記憶部１４のパラメータ１４ａに記憶させる（ステップＳ６）。これにより、一連の学習処理が終了する。
【００６９】
図６は、判定処理手順を示すフローチャートである。図６のフローチャートは、例えば、ユーザが判定処理の開始を指示する操作入力を行ったタイミングで開始される。
【００７０】
まず、テストデータ取得部１５ｅが、入力部１１あるいは通信制御部１３を介して、処理対象のテスト用データの入力を受け付ける（ステップＳ１１）。次に、特徴抽出部１５ｆが、テスト用データの特徴量を抽出し（ステップＳ１２）、特徴ベクトルに変換する。
【００７１】
また、スコア算出部１５ｇが、テスト用データの特徴ベクトルから、スコア関数ｆを用いてデータのスコアを算出する（ステップＳ１３）。その際に、スコア算出部１５ｇは、パラメータ１４ａを参照して決定した重みｗを取得し、これを適用したスコア関数ｆを用いて、テスト用データのスコアを算出する。
【００７２】
次に、判定部１５ｈが、算出されたテスト用データのスコアが正例／負例のいずれに該当するかを、所定の閾値を用いて判定する（ステップＳ１４）。例えば、判定部１５ｈは、スコアが所定の閾値以上の場合に正例と判定し、所定の閾値未満の場合に負例と判定する。これにより、判定部１５ｈは、テスト用データを正例／負例のいずれかに分類する。
【００７３】
また、判定部１５ｈは、テスト用データの判定結果を出力部１２に出力する（ステップＳ１５）。これにより、一連の判定処理が終了する。
【００７４】
以上、説明したように、本実施形態の分類装置１０において、スコア算出部１５ｃは、データの特徴量と重みとから、スコア関数ｆを用いてデータのスコアを算出する。また、最適化部１５ｄが、算出されたスコアにより、データを正例または負例のいずれかに分類する分類器についてのＲＯＣ曲線の一部区間のＡＵＣについて、このｐＡＵＣを近似して表す目的関数の非線形関数の部分を所定の方式で近似して、この近似した目的関数を最大化するように重みｗを学習する。例えば、最適化部１５ｄは、目的関数の非線形関数の部分を、テイラー展開、パデ近似等を用いて近似する。
【００７５】
これにより、本実施形態の分類装置１０は、負例をスコア順にソートするたびに繰り返す目的関数の最適化処理における非線形関数の部分の計算量を大幅に抑えることができる。このように、本実施形態の分類装置１０によれば、計算コストを抑えて、二値分類問題のＡＵＣの一部分を最適化することが可能となる。
【００７６】
特に、最適化部１５ｄが、目的関数の非線形関数の部分を、パデ近似を用いて近似する場合には、テイラー展開を用いて近似する場合より高精度に近似できるので、テイラー展開より少ない次数で高精度な近似を行うことが可能となる。したがって、分類装置１０は、より精度を保ちつつ、ｐＡＵＣの最適化を行うことが可能となる。
【００７７】
また、最適化部１５ｄは、さらに、前回最大化された目的関数と今回最大化された目的関数との差分が所定の値以下になった場合に、収束したと判定する。または、最適化部１５ｄは、さらに、前回最大化された目的関数に対応する重みと今回最大化された目的関数に対応する重みとの差分が所定の値以下になった場合に、収束したと判定する。これにより、分類装置１０は、より効果的にｐＡＵＣの最適化を行うことが可能となる。
【００７８】
［プログラム］
上記実施形態に係る分類装置１０が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。一実施形態として、分類装置１０は、パッケージソフトウェアやオンラインソフトウェアとして上記の分類処理を実行する分類プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の分類プログラムを情報処理装置に実行させることにより、情報処理装置を分類装置１０として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）などの移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistant）などのスレート端末などがその範疇に含まれる。また、分類装置１０の機能を、クラウドサーバに実装してもよい。
【００７９】
図７は、分類プログラムを実行するコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【００８０】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０３１に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１０４１に接続される。ディスクドライブ１０４１には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１０５１およびキーボード１０５２が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１０６１が接続される。
【００８１】
ここで、ハードディスクドライブ１０３１は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３およびプログラムデータ１０９４を記憶する。上記実施形態で説明した各情報は、例えばハードディスクドライブ１０３１やメモリ１０１０に記憶される。
【００８２】
また、分類プログラムは、例えば、コンピュータ１０００によって実行される指令が記述されたプログラムモジュール１０９３として、ハードディスクドライブ１０３１に記憶される。具体的には、上記実施形態で説明した分類装置１０が実行する各処理が記述されたプログラムモジュール１０９３が、ハードディスクドライブ１０３１に記憶される。
【００８３】
また、分類プログラムによる情報処理に用いられるデータは、プログラムデータ１０９４として、例えば、ハードディスクドライブ１０３１に記憶される。そして、ＣＰＵ１０２０が、ハードディスクドライブ１０３１に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【００８４】
なお、分類プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０３１に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１０４１等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、分類プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮ（Local  Area  Network）やＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【００８５】
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述および図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例および運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【００８６】
１０  分類装置
１１  入力部
１２  出力部
１３  通信制御部
１４  記憶部
１４ａ  パラメータ
１５  制御部
１５ａ  学習データ取得部
１５ｂ  特徴抽出部
１５ｃ  スコア算出部
１５ｄ  最適化部（学習部）
１５ｅ  テストデータ取得部
１５ｆ  特徴抽出部
１５ｇ  スコア算出部
１５ｈ  判定部
【図１】
2020071708.tif 000011
【図２】
2020071708.tif 000012
【図３】
2020071708.tif 000013
【図４】
2020071708.tif 000014
【図５】
2020071708.tif 000015
【図６】
2020071708.tif 000016
【図７】
2020071708.tif 000017