(57)【特許請求の範囲】
【請求項１】
所与のデータに対するラベル付与において互いに共通事例を有する複数の学習用データにそれぞれ対応している複数の判断基準につきサポートベクトルマシンを構築する方法であって、
前記複数の判断基準にそれぞれ対応する複数の学習用データのうちの一部分における共通事例でサポートベクトルマシンを学習して当該共通事例に対応する決定関数の係数を求める第一のステップと、
前記共通事例につき求められた決定関数の係数を初期値に利用してサポートベクトルマシンを学習することで、前記複数の判断基準のうちの一部分に含まれる判断基準のサポートベクトルマシンを構築する第二のステップと、
前記複数の判断基準につき順次前記第一及び第二のステップを繰り返し実行して、前記複数の判断基準の各々に対応するサポートベクトルマシンを構築する第三のステップとを備えることを特徴とするサポートベクトルマシンを構築する方法。
【請求項２】
前記第三のステップにおいてサポートベクトルマシンが未構築の判断基準を対象として順次前記第一及び第二のステップを繰り返し実行するに際して、前記第一のステップでは既に決定関数の係数が求められた共通事例における係数を初期値に利用して、前記決定関数の係数を求め、前記第二のステップでは当該未構築の判断基準に対応するサポートベクトルマシンを構築することを特徴とする請求項１に記載のサポートベクトルマシンを構築する方法。
【請求項３】
前記第三のステップでは前記複数の判断基準につき、判断基準同士の類似度に基づく所定の順番によって順次、前記第一及び第二のステップを繰り返し実行することを特徴とする請求項１または２に記載のサポートベクトルマシンを構築する方法。
【請求項４】
前記第三のステップが、前記複数の判断基準を判断基準同士の類似度に基づいて分けた所定のグループ毎に個別に実行されることを特徴とする請求項１ないし３のいずれかに記載のサポートベクトルマシンを構築する方法。
【請求項５】
所与のデータに対するラベル付与において互いに共通事例を有する複数の学習用データにそれぞれ対応している複数の判断基準につきサポートベクトルマシンを構築する装置であって、
前記複数の判断基準にそれぞれ対応する複数の学習用データのうちの一部分における共通事例でサポートベクトルマシンを学習して当該共通事例に対応する決定関数の係数を求める共通事例学習部と、
前記共通事例につき求められた決定関数の係数を初期値に利用してサポートベクトルマシンを学習することで、前記複数の判断基準のうちの一部分に含まれる判断基準のサポートベクトルマシンを構築する差分事例学習部と、
共通事例に基づいて前記複数の判断基準の所定の学習順を設定する学習順設定部とを備え、
前記学習順設定部により設定された学習順に従って順次、前記共通事例学習部及び差分事例学習部を適用して、前記複数の判断基準の各々に対応するサポートベクトルマシンを構築することを特徴とするサポートベクトルマシンを構築する装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は複数の判断基準に従って判定を行うサポートベクトルマシン群を効率良く作成する方法及び装置に関し、特に各判定基準が似通っている場合おいて、各判断基準が一致する学習事例から得た初期解を用いて各判断基準を学習することで各判断基準を学習するサポートベクトルマシンを構築する際の演算量の削減を図ることができる方法及び装置に関する。
【背景技術】
【０００２】
非線形識別の能力を持つサポートベクトルマシン（SVM）は、学習を用いた主として２値分類問題に対応するデータ分類方法である。SVMは未学習データに対する高い汎化性能を持つことから、音声、文字、図形及びパターンの認識といったような種々の判別問題に適用されている。
【０００３】
非特許文献１や２では、インターネット上にある大量のコンテンツの中から違法・有害な情報を見つけ出すシステムにSVMが応用されている。しかし、判定精度を向上させようとして大量のデータ（例えば、１００，０００個より多い訓練データ）でSVMを学習すると、大量のメモリを消費したり、収束速度が遅くなる。
【０００４】
このため、非特許文献3-6といった取り組みでは、精度をできるだけ落とさずにメモリ使用量や処理時間の増加を抑えるための工夫が提案されている。これらの工夫は、2-class 判定問題に対して、SVM学習を効率化することを主眼が置かれている。一方、複数の基準で判定を行うシステムは、2-class判定問題を扱う複数のSVMの組み合わせで実現できることは知られている。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】K. Ikeda, T. Yanagihara, G. Hattori, K. Matsumoto, and Y. Takishima. Hazardous document detection based on dependency relations and thesaurus.  In Australasian Conference on Artificial Intelligence, pages 455-565, 2010.
【非特許文献２】松葉達明, 桝井文人, 河合敦夫, 井須尚紀, 里見尚宏, 学校非公式サイトにおける有害情報検出,電子情報通信学会技術研究報告. NLC, 言語理解とコミュニケーション 109(142), 93-98, 2009-07-15
【非特許文献３】E. Osuna, R. Freund, and F.Girosi, "An improved training algorithm for support vector machines,"in Neural Networks for Signal Processing VII - Proceedings of the 1997 IEEEWorkshop, N. M. J. Principe, L. Gile and E. Wilson, Eds., New York, pp.276-285, 1997.
【非特許文献４】T. Joachims, "Makinglarge-scale support vector machine learning practical," in Advances in Kernel Methods: Support Vector Machines, A. S. B. Scholkopf, C. Burges, Ed.,MIT Press, Cambridge, MA, 1998
【非特許文献５】J. Platt, "Fast training ofsupport vector machines using sequential minimal optimization," inAdvances in Kernel Methods - Support Vector Learning, B. Scholkopf, C. J. C.Burges, and A. J. Smola, Eds., Cambridge, MA: MIT Press, 1999.
【非特許文献６】Duc Dung Nguyen; Matsumoto, K.;Takishima, Y.; Hashimoto, K.; Terabe, M., "Two-stage incremental workingset selection for fast support vector training on large datasets," Research, Innovation and Vision for the Future, 2008. RIVF 2008. IEEE International Conference on , vol., no., pp.221-226, 13-17 July 2008
【発明の概要】
【発明が解決しようとする課題】
【０００６】
個々の判断基準に対応する2-class 判定用SVMを組み合わせて、所望の判断基準での判定を得ることができるSVM群を構築する場合、システム構築に必要な学習時間は、個々のSVMの学習時間の総和になる。
【０００７】
非特許文献3−6にあるように個々のSVM学習を効率化することはできる。しかしながら、個々のSVM学習時間の総和より短い時間で、複数の判断基準で判定できるように複数のSVM群をより効率良く構築することは、従来技術では実現できない。
【０００８】
上記課題に鑑みて本発明は、各判断基準がある程度似通っている時、複数の判断基準で判定できるように複数のサポートベクトルマシン群を効率良く構築できる、サポートベクトルマシンを構築する方法及び装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため本発明は、所与のデータに対するラベル付与において共通事例を有する複数の判断基準につきサポートベクトルマシンを構築する方法であって、前記複数の判断基準のうちの一部分における共通事例でサポートベクトルマシンを学習して当該共通事例に対応する決定関数の係数を求める第一のステップと、前記共通事例につき求められた決定関数の係数を初期値に利用してサポートベクトルマシンを学習することで、前記複数の判断基準のうちの一部分に含まれる判断基準のサポートベクトルマシンを構築する第二のステップと、前記複数の判断基準につき順次前記第一及び第二のステップを繰り返し実行して、前記複数の判断基準の各々に対応するサポートベクトルマシンを構築する第三のステップとを備えることを特徴とする。
【００１０】
また上記目的を達成するため本発明は、所与のデータに対するラベル付与において共通事例を有する複数の判断基準につきサポートベクトルマシンを構築する装置であって、前記複数の判断基準のうちの一部分における共通事例でサポートベクトルマシンを学習して当該共通事例に対応する決定関数の係数を求める共通事例学習部と、前記共通事例につき求められた決定関数の係数を初期値に利用してサポートベクトルマシンを学習することで、前記複数の判断基準のうちの一部分に含まれる判断基準のサポートベクトルマシンを構築する差分事例学習部と、共通事例に基づいて前記複数の判断基準の所定の学習順を設定する学習順設定部とを備え、前記学習順設定部により設定された学習順に従って順次、前記共通事例学習部及び差分事例学習部を適用して、前記複数の判断基準の各々に対応するサポートベクトルマシンを構築することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、複数の判断基準の間の共通事例に対してサポートベクトルマシンを学習してその決定関数の係数を求めておき、各判断基準に対応するサポートベクトルマシンを構築する際には当該係数を初期値に利用して学習が行われる。この際、当該初期値が構築対象のサポートベクトルマシンの係数に近いために、学習における計算量が削減され、複数のサポートベクトルマシンを構築する際の全体としての計算量が削減される。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態に係るサポートベクトルマシンを構築する装置の機能ブロック図である。
【図２】本発明を例を用いて概念的に説明する図である。
【図３】本発明の一実施形態に係るサポートベクトルマシンを構築する方法のフローチャートである。
【図４】本発明の一実施例を説明するための図である。
【図５】本発明の一実施例を説明するための図である。
【図６】本発明の一実施例を説明するための図である。
【図７】本発明の一実施例を説明するための図である。
【図８】本発明によるSVM構築の処理時間削減の実例を示す図である。
【図９】本発明によるSVM構築の処理時間削減の実例を示す図である。
【発明を実施するための形態】
【００１３】
図１は、本発明の一実施形態に係るサポートベクトルマシンを構築する装置の機能ブロック図である。サポートベクトルマシンを構築する装置1は、共通事例学習部2、差分事例学習部3及び学習順設定部4を備える。
【００１４】
サポートベクトルマシンを構築する装置1は、所定の複数のM個の判断基準を学習するための各学習用データを T1, T2, T3,…,TMとすると、当該各判断基準に対応するM個のサポートベクトルマシンSVM_1,SVM_2,SVM_3,…,SVM_Mを構築する。当該構築されたSVM群によって、任意の入力データにつき当該M個の判断基準の全てにおける判断結果が得られるようになる。当該学習用データは以下の（数１）と表すことができる。
【００１５】
【数１】
0005905734.tif 000002
【００１６】
すなわち、各学習用データTu(u＝1,2,…M)は、互いに共通する所与のデータxi(i＝1,…l)に対して各判断基準uに対応する２値{−1, +1}のラベルyiuを付与したものとして与えられる。例えば、共通のデータxiは共通のウェブページ群における各ウェブページi(i＝1,…l)の所定の特徴量（文書ベクトル等）であって、各判断基準uはそれぞれのウェブページi(i＝1,…l)が何らかのジャンルに該当するか否かの基準である。
【００１７】
本発明は各判断基準が似通っている場合、すなわち各判断基準のラベル付与に所定割合で共通事例が存在する場合（例えば、ウェブページの内容がスポーツであるか否かの判断基準とレジャーであるか否かの判断基準となど）に、全てのM個の判断基準を学習する際の計算量削減効果を有する。
【００１８】
なお、TuとTvとの共通事例（判断基準uと判断基準vとの共通事例）とはTu∩Tv、すなわちTuとTvとの間でを付与ラベルが共通している学習用データである。３つ以上の共通事例でも同様であり、例えばTuとTvとTwの共通事例はTu∩Tv∩Twである。
【００１９】
また、各判断基準を学習することは、各学習データから下記（数２）及び（数３）の決定関数fu(x)（＝判定のための識別面を定義する）を求める最適化の過程である。当該最適化により決定関数の係数αuiが定まることで、決定関数が求まる。
【００２０】
【数２】
0005905734.tif 000003
【００２１】
【数３】
0005905734.tif 000004
【００２２】
なお、（数３）においてKはカーネル関数であり、Cはパラメータである。
【００２３】
本発明では、この最適化の過程は、既知の方法（例えば、Chih-Chung Chang and Chih-Jen Lin, LIBSVM : a library for support vector machines. ACM Transactions on Intelligent Systems and Technology, 2:27:1--27:27, 2011）を利用することができる。本発明は、各学習用データT1, T2, T3, ・・・・,TMを個別に学習する代わりに、共通事例と残りの差分事例とに分けて有利な初期値を設定したうえで学習することに特徴を有する。
【００２４】
図2は、本発明を例を用いて概念的に説明する図である。ここでは、5個の白丸、1個の灰色の丸(灰丸)及び5個の黒丸で示される合計11個からなる学習用データに対して、ラベル付与が似通った２つの判断基準（基準-1及び基準-2と略称し、それぞれの学習用データをT-1及びT-2と呼ぶこととする）を学習する場合の例が示されている。
【００２５】
図示するように、基準-1では5個の白丸が正例であり、1個の灰丸及び5個の黒丸が負例である。基準-2では5個の白丸及び1個の灰丸が正例であり、5個の黒丸が負例である。すなわち、基準-1及び基準-2の共通事例（C0と呼ぶこととする）は5個の白丸の正例及び5個の黒丸の負例として構成され、11個中の10個という大きな割合で共通している。
【００２６】
従来手法では、基準-1及び基準-2をそれぞれT-1及びT-2によって個別に学習して、SVM-1及びSVM-2がそれぞれ実線及び点線として概念的に図示するように、境界面として得られる。本発明においては、個別学習と同一のSVM-1及びSVM-2が得られるが、手順が異なり、且つ計算量が削減される。
【００２７】
本発明では最初に共通事例C0を学習して、決定関数の係数を求めることでSVM-0を得る。そして、SVM-0を上記（数２）及び（数３）の最適化における初期解として、T-1及びT-2を学習することによって、SVM-1及びSVM-2を得る。この際、灰丸で示される事例、すなわち、共通事例C0とT-1及びT-2との差分事例に対応する決定関数の係数には所定値を付与して、初期解とする。
【００２８】
当該初期解としてのSVM-0はSVM-1及びSVM-2の両者に近いため、計算量削減に有効に機能する。そして、T-1及びT-2の学習の両者において計算量削減の効果が得られるため、個別に学習した場合(個別SVM1＋個別SVM2の2回を学習)と比べて、全体(共通SVM-0の学習＋差分SVM-1の学習＋差分SVM-2の3回を学習)としての計算量が削減される。
【００２９】
図３は、本発明の一実施形態に係るサポートベクトルマシンを構築する方法のフローチャートである。図３を参照して、当該フローをサポートベクトルマシンを構築する装置1（図１）の各部の機能と共に説明する。
【００３０】
ステップS0でフローが開始されると、ステップS1にて学習順設定部4が、以降のステップS3，S4，S5及びS７のループにおいて順次、共通事例学習部2及び差分事例学習部3が学習する対象及びその順番を設定する。具体的には、カウンタi(i＝1,2,…)にて順序が定められた共通事例(i)及び差分事例(i)と、当該カウンタiの終了値すなわち共通事例及び差分事例の設定個数と、共通事例(i)及び差分事例(i)によってどの判断基準のSVMをどの順序iにて構築するかが、設定される。
【００３１】
当該詳細は図４〜図７などを参照して後述するが、各種の設定が可能であり、それらの中からユーザのマニュアル選択等によって予め所定の設定を利用するようにしておき、ステップS1にて学習順設定部4は当該所定の設定を読み込む。この際、学習データ同士の共通事例に基づく所定の設定としてもよい。当該設定は図2の例では、iの終了値は1（＝初期値）であり、共通事例(1)はC0であり、差分事例(1)は灰丸の事例(学習データ)であって、基準-1に対して負例、基準-2に対して正例である。
【００３２】
ステップS2では、カウンタiが初期値の1に設定される。ステップS3では、共通事例学習部2が、共通事例(i)を学習し、当該共通事例(i)に対応する決定関数の係数を求める。
【００３３】
なおステップS3では、i＝1の場合には共通事例(1)を既知の手法(単一のSVMを学習する手法)でそのまま学習するが、繰り返しループの2巡目以降すなわちi≧2の場合には共通事例(i)を次に説明するステップS4と同様に、既に学習された事例における係数を利用して学習する。この際、共通事例(i)と差分事例(i)とを組み合わせた事例を使うステップS4と異なり、ステップS3では当該学習対象の共通事例(i)よりも過去に既に学習済みの共通事例(i−k)を用いる。ここで、k＞0でありi−k＜iである。
【００３４】
ステップS４では、差分事例学習部3が、共通事例(i)と差分事例(i)とを和集合「共通事例(i)∪差分事例(i)」として組み合わせて得られる事例(＝SVM構築対象の各判断基準の学習データのいずれか)によって学習し、構築対象のSVMのいずれかを構築する。この際、ステップS3にて算出済みの共通事例(i)に対応する決定関数の係数を利用して初期値を設定し、SVMを学習する。
【００３５】
ここで、ステップS3で共通事例(i)に対して算出済みの決定関数の係数を{α1,α2,…,αim}とし、共通事例(i)に対応する決定関数の係数の初期値には当該算出済みの係数を用いる。また、組み合わせた事例の初期値において、差分事例(i)に対応する決定関数の係数には所定値としてゼロを設定する。すなわち、差分事例(i)に対応する係数を後方に表記すると、初期値は{α1,α2,…,αim,0,…,0}となる。差分事例(i)に対応する初期値はゼロ以外の所定値を用いてもよい。
【００３６】
なお、共通事例(i)は１つであるが、差分事例(i)は一般に各iにつき１つ以上存在してもよいので、当該ステップS４でのSVMの学習は共通事例(i)と各々の差分事例(i)との全ての組み合わせについて行われ、対応する判断基準のSVMが構築される。当該差分事例(i)を組み合わせて学習する順序は任意でよい。なおまた、学習順設定部4における学習設定によっては、所定のiに対してステップS4がスキップ(省略)される場合もある。
【００３７】
一般に、差分事例(i)＝「当該ステップS4にてSVMを構築しようとする判断基準の学習データ＼共通事例(i)」であるので、共通事例(i)とSVM構築対象の判断基準とを設定することによって差分事例(i)は自ずと定まる。「＼」は後述するように差集合を表す。
【００３８】
なお、前述のi≧2におけるステップS3では、共通事例学習部2は初期値の設定を次の[1]又は[2]のようにして、学習を行う。[1]学習対象の共通事例(i)が過去の共通事例(i−k)と何らかの事例との組み合わせ、すなわち和集合「共通事例(i−k)∪何らかの事例」として構成されているときは、上記同様に、算出済みの共通事例(i−k)の係数と、当該何らかの事例に対応する係数をゼロ等に設定したものとを初期値として用いる。
【００３９】
[2]また、i≧2におけるステップS3にて、当該学習対象の共通事例(i)が初期値を利用する共通事例(i−k)の一部分として構成されている（「共通事例(i−k)⊃共通事例(i)」の関係がある）ときは、算出済みの共通事例(i−k)の係数のうち、共通事例(i)に対応する部分の係数のみを抜粋したものを初期値として用いる。
【００４０】
ステップS3及びS4の学習においては前述の通り、libSVM等で実装される既知の方法による最適化を行えばよい。
【００４１】
当該ステップS3及びS4の詳細は後述するが、図2の例では次の通りである。ステップS3では、共通事例(1)＝C0を学習して、SVM-0が決定関数の係数として得られる。ステップS4では、差分事例(1)の１つとして基準-1における負例としての灰丸と、SVM-0として算出済みの共通事例(1)＝C0と、を組み合わせた事例(＝T-1)について初期値を設定し学習することで、SVM-1が得られる。また、差分事例(1)のもう１つとして基準-2における正例としての灰丸と、SVM-0として算出済みの共通事例(1)＝C0と、を組み合わせた事例(＝T-2)について初期値を設定し学習することで、SVM-2が得られる。
【００４２】
なお、本発明では図2においても説明したように、ステップS4において共通事例(i)につき算出済みの決定関数の係数を初期値に利用することにより、また、i≧2のステップS3にて過去の共通事例(i−k)につき算出済みの決定関数の係数を初期値に利用することにより、計算量の削減効果が得られる。
【００４３】
ステップS5では、全ての判断基準に対応するSVMが構築済みであるかが確認され、構築済みであればステップS６へ進んでフローは終了し、未構築のSVMがあればステップS７へ進み、カウンタiを1だけ増分して、以降の共通事例(i)及び差分事例(i)を対象としてステップS3及びS4が繰り返される。
【００４４】
図2の例であれば、i＝1におけるステップS4において構築対象のSVM-1及びSVM-2が全て構築済みであるので、繰り返しを経ることなくフローは終了する。
【００４５】
図4〜図7は、図3のフローの詳細を補足説明するための図であり、ステップS1での学習順設定部4による共通事例(i)及び差分事例(i)の所定の設定と、当該設定のもとでのステップS3での共通事例学習部2による学習及びステップS4での差分事例学習部3による所定の学習の各実施例を示している。
【００４６】
図4〜図7では全て、判断基準が5個の例であって、その学習用データをTa,Tb,Tc,Td及びTeとしているが、一般の個数n(n≧2)についても全く同様に所定方式を定めて、本発明を適用することができる。当該学習用データTa,Tb,Tc,Td及びTeより構築されるサポートベクトルマシンをSVM-a,SVM-b,SVM-c,SVM-d及びSVM-eと呼ぶこととする。
【００４７】
図4〜図7では、各学習用データから共通事例を構成する関係を、各学習用データに対応する線同士の結合として表記している。また、ステップS3の共通事例の学習処理を点線枠ブロックにて、ステップS4の判断基準の構築処理を実線枠ブロックにて表記している。当該ステップS3及びS4の処理は共にSVMの「学習」であるが、ステップS4は最終的に求める対象である各判断基準のSVMが順次完成するという意味にて「構築」と呼ぶこととする。
【００４８】
図4の実施例では図示するように、４個の共通事例(i)(i＝1〜4)が各巡におけるステップS3で順次学習される。それぞれ、共通事例(1)＝Ta∩Tb, 共通事例(2)＝Ta∩Tb∩Tc, 共通事例(3)＝Ta∩Tb∩Tc∩Td, 共通事例(4)＝Ta∩Tb∩Tc∩Td∩Teである。それぞれの共通事例(i)の学習と、ステップS4における対応する差分事例(i)を組み合わせての学習は次の通りである。
【００４９】
i＝1のステップS3にて、共通事例(1)が既知の単一SVMの方法に従って学習され、係数が求まる。i＝1のステップS4にて、共通事例(1)と２つの差分事例(1)とを組み合わせて学習して、SVM-a及びSVM-bが構築される。ここで、SVM-aは差分事例(1)の１つである「Ta＼共通事例(1)」を用いて、SVM-bは差分事例(1)のもう1つである「Tb＼共通事例(1)」を用いて構築される。
【００５０】
なおここで、記号「＼」は差集合を表す。例えば「Ta＼共通事例(1)」は学習データTaの中から共通事例(1)に属するデータを除外したものである。以下同様に当該記号表記を利用する。
【００５１】
i＝2のステップS3にて、共通事例(2)が係数算出済みの共通事例(1)を初期値に利用して学習される。この際、共通事例(1)の一部分として共通事例(2)が構成されている（「共通事例(1)⊃共通事例(2)」である）ので、共通事例(1)の係数のうちの対応する一部分を抜粋したものが初期値となる。i＝2のステップS4にて、共通事例(2)と１つの差分事例(2)とを組み合わせて学習して、SVM-cが構築される。当該差分事例(2)は「Tc＼共通事例(2)」である。
【００５２】
i＝3,4のステップS3及びS4もi＝2の場合と同様の学習・構築が繰り返される。i＝3のステップS3では共通事例(3)が共通事例(2)を初期値に利用（係数の一部分を利用）して学習される。i＝3のステップS4では共通事例(3)と1つの差分事例(3)＝「Td＼共通事例(3)」とを組み合わせて学習してSVM-dが構築される。i＝4のステップS3では共通事例(4)が共通事例(3)を初期値に利用（係数の一部分を利用）して学習される。i＝4のステップS4では共通事例(4)と1つの差分事例(4)＝「Te＼共通事例(4)」とを組み合わせて学習してSVM-eが構築され、全てのSVMの構築が完了する。
【００５３】
図5の実施例では図示するように、1つの共通事例(1)のみが学習され、i＝1でループは終了する。共通事例(1)＝「Ta∩Tb∩Tc∩Td∩Te」である。すなわち、共通事例(1)は全ての学習用データの共通事例である。
【００５４】
i＝1のステップS3にて、共通事例(1)が単一SVMとして学習される。i＝1のステップS4にて、共通事例(1)と５つの差分事例(1)とをそれぞれ組み合わせて学習して、構築対象の全てのSVMが構築され、i＝2以降のフローは実行されずに終了する。例えばSVM-aは、共通事例(1)と１つの差分事例(1)＝「Ta＼共通事例(1)」とを組み合わせて学習して構築される。残りのSVM-b〜SVM-eについても同様に、各学習データTb〜Teから共通事例(1)を引いた各差分事例(1)と共通事例(1)とを組み合わせての学習によって構築される。
【００５５】
図6の実施例では図示するようにまず、5個の判断基準をその類似度に基づいてボトムアップクラスタリングを行い、判断基準同士を類似性の関係で結びつける。類似度は、共通事例が全データのうちに占める割合の大きさで定める。なお、クラスタ化（統合）された後も、当初の統合を一切していない際の全データ数を分母として共通事例が占める割合を定める。また、その他の基準で類似度を定めてもよい。
【００５６】
ここでは次の順でクラスタリングが行われている。[1]TaとTbとを90％共通で統合しTa∩Tbとなす。[2]TcとTdとを80％共通で統合しTc∩Tdとなす。[3]「Ta∩Tb」と「Tc∩Td」とを70％共通で統合し「Ta∩Tb∩Tc∩Td」となす。[4]「Ta∩Tb∩Tc∩Td」とTeを60％共通で統合し「Ta∩Tb∩Tc∩Td∩Te」となす。各共通事例(i)は図示するように、当該統合されたクラスタを統合された順の逆に定められ、学習の順序も同様に定められる。
【００５７】
i＝1のステップS3では、共通事例(1)＝「Ta∩Tb∩Tc∩Td∩Te」が単一SVMとして学習される。i＝1のステップS4では、共通事例(1)と１つの差分事例(1)＝「Te＼共通事例(1)」とを組み合わせて学習して、SVM-eが構築される。
【００５８】
i＝2のステップS3では、共通事例(1)を初期値に利用して共通事例(2)＝「Ta∩Tb∩Tc∩Td」が学習される。ここで、共通事例(2)＝「共通事例(1)∪何らかの事例」として構成されるので、対応する係数はゼロに設定して初期値が得られる。i＝2のステップS4は、構築対象のSVMが設定されていないので、スキップされる。よって、差分事例(2)も設定する必要はない。
【００５９】
i＝3のステップS3では、共通事例(3)＝「共通事例(2)∪何らかの事例」であるので、対応係数をゼロに設定すると共に共通事例(2)を初期値に利用して共通事例(3)＝「Tc∩Td」が学習される。i＝3のステップS4では、共通事例(3)と2つの差分事例(3)とをそれぞれ組み合わせて学習して、SVM-c及びSVM-dが構築される。SVM-cは1つの差分事例(3)＝「Tc＼共通事例(3)」にて、SVM-dは１つの差分事例(3)＝「Td＼共通事例(3)」にて構築される。
【００６０】
i＝4のステップS4では、共通事例(4)＝「共通事例(2)∪何らかの事例」であるので、対応係数をゼロに設定すると共に共通事例(2)を初期値に利用して共通事例(4)＝「Ta∩Tb」が学習される。i＝4のステップS4では、共通事例(4)と2つの差分事例(4)とをそれぞれ組み合わせて学習して、SVM-a及びSVM-bが構築され、全SVMの構築が完了する。SVM-aは1つの差分事例(4)＝「Ta＼共通事例(4)」にて、SVM-bは１つの差分事例(4)＝「Tb＼共通事例(4)」にて構築される。
【００６１】
図7の実施例は、図4〜図6の実施例と組み合わせて適用することができる。図7では、図6と同様のボトムアップクラスタリングの結果が示されている。ここで類似度に所定の閾値を設け、例えば75％以下の共通割合に対してクラスタリングを打ち切ると、図示するような複数のクラスタとして、クラスタ１(Ta及びTb)、クラスタ2(Tc及びTd)、クラスタ3(Te)が得られる。当該実施例では、当該クラスタ毎に個別に図4〜図6の実施例を適用する。
【００６２】
なお、ボトムアップクラスタリングによる図７の実施例の代わりに、より一般に、SVM構築対象の複数の判断基準を判断基準同士の類似度に基づいて所定のグループに分けて、当該各グループ毎に個別に図4〜図6の実施例を適用するようにしてもよい。この際、各グループに属する判断基準の数に所定の上限を設けてもよい。本発明は判断基準同士がある程度似ていることを想定しているので、ある程度類似度の高い判断基準のグループ内で個別に本発明を適用することで、より確実に全体としての計算量が削減される。
【００６３】
また、図4の実施例では、Ta〜Teの並びを特に限定していなかったが、5つの判断基準の中で最も類似度が高いものをTa及びTbに、「Ta∩Tb」との類似度が残りの3つの判断基準の中で最も高いものをTcに、「Ta∩Tb∩Tc」との類似度が残りの２つの判断基準の中で最も高いものをTdに、定めるようにしてもよい。
【００６４】
また、図４〜図６の実施例を適宜組み合わせてもよい。例えば、図４の実施例における共通事例(1)及び差分事例(1)を設定して、共通事例(2)及び差分事例(2)に図5の方式を採用してもよい。すなわち、共通事例(2)＝「Ta∩Tb∩Tc∩Td∩Te」、差分事例(2)＝「Tc＼共通事例(2)」、「Td＼共通事例(2)」及び「Te＼共通事例(2)」として、i＝1,2で全SVMが構築されるようにしてもよい。
【００６５】
図8及び図9は、本発明を適用した効果の実例を従来技術との対比によって示すグラフである。共に、３つの判断基準に従う学習データprivate1,pravate2,pravate3のSVMを構築する場合を示しており、本発明は図4の手法にて適用され、i＝1における共通事例として予め学習されるcommon1＝「private1∩private2」を用いてprivate1及びprivate2が構築され、i＝2における共通事例として予めcommon1を利用して学習されるcommon2＝「private1∩private2∩private3」を用いて、private3が構築される。
【００６６】
図8及び図9では従来技術における個別学習の時間( private1＋private2＋private3 )が LibSVM の項目名で示され、本発明による学習の時間 (common1＋common2＋private1＋private2＋private3 )がPerSVM(Personal SVM)の項目名で示されると共に総合的な処理時間の削減度合い（PerSVMの処理時間÷LibSVMの処理時間）が併記されている。
【００６７】
図8及び図9ではLibSVM及びPerSVMの各項目を左右に並べ、学習用データ数を50,000〜250,000と変化させたものを表示してある。各判断基準の似通う度合いを示す指標として、全学習データの中で判断基準の違いからラベルが異なる割合を採用した時、異なり度合いが5%の時の例及び10%の時の例がそれぞれ図8及び図9である。
【００６８】
図8及び図9によれば、本発明の手法（PerSVM）の方が常に左隣の従来手法（LibSVM）より学習に要する時間が短くて済むのが分かる。また、異なり度合いが5%の方が10%の時より、処理時間の短縮度合いは大きいことが分かる。このことから、判断基準が似通っていれば、本発明が効果的であることが分かる。
【００６９】
以上のように、本発明によれば、似通った複数の判断基準を学習する場合、従来手法より短い時間で、複数個のSVMの全ての学習を完了させることができる。
【符号の説明】
【００７０】
1…サポートベクトルマシンを構築する装置、2…共通事例学習部、3…差分事例学習部、4…学習順設定部
【図１】
0005905734.tif 000005
【図２】
0005905734.tif 000006
【図３】
0005905734.tif 000007
【図４】
0005905734.tif 000008
【図５】
0005905734.tif 000009
【図６】
0005905734.tif 000010
【図７】
0005905734.tif 000011
【図８】
0005905734.tif 000012
【図９】
0005905734.tif 000013