(57)【要約】【課題】多クラスＳＶＭに含まれるＳＶの数を局所最適解に陥らずに削減でき、またＳＶの削減を高精度かつ高速で行える多クラスＳＶＭのためのＳＶ削減方法を提供する。【解決手段】複数の当初存在するサポートベクトルの中から、サポートベクトルｚｉ，ｚｊ（ｉ，ｊ＝１，２，・・・・，Ｎｓ）のペアを選ぶステップＳ２０と、１個の最大点をもつ１変数の目的関数を用意し、該目的関数の最大値ｋを求めるステップと、前記ペアのサポートベクトルｚｉ，ｚｊに、前記最大値ｋを適用して分類エラーの小さい一時ベクトルZtemp［ｉ］を求めるステップＳ３０とを有し、前記ペアのサポートベクトルｚｉ，ｚｊを、前記一時ベクトルZtemp［ｉ］で代表させる。【選択図】図２
2010072896.tif 000002
【特許請求の範囲】
【請求項１】
多クラスＳＶＭのためのＳＶ削減方法であって、
複数の当初存在するサポートベクトルの中から、サポートベクトルｚｉ，ｚｊ（ｉ，ｊ＝１，２，・・・・，Ｎｓ）のペアを選ぶ第１ステップと、
１個の最大点をもつ１変数の目的関数を用意し、該目的関数の最大値ｋを求める第２ステップと、
前記ペアのサポートベクトルｚｉ，ｚｊに、前記最大値ｋを適用して分類エラーの小さい一時ベクトルZtemp［ｉ］を求める第３ステップと、
前記ペアのサポートベクトルｚｉ，ｚｊを、前記一時ベクトルZtemp［ｉ］で代表させる第４ステップとからなるＳＶ削減方法。
【請求項２】
請求項１に記載の多クラスＳＶＭのためのＳＶ削減方法であって、
前記サポートベクトルｚｉ，ｚｊのペアは、ベクトル間の距離が最も小さいものから形成されることを特徴とするＳＶ削減方法。
【請求項３】
請求項１又は２に記載の多クラスＳＶＭのためのＳＶ削減方法であって、
前記一時ベクトルZtemp［ｉ］は、前記最大値ｋで前記２個のサポートベクトルｚｉ，ｚｊを内分して求められることを特徴とするＳＶ削減方法。
【請求項４】
請求項１ないし３のいずれかに記載の多クラスＳＶＭのためのＳＶ削減方法であって、
前記目的関数がガウシアンカーネルのために最適化されている場合、
前記第２ステップは、下記の(6)式の関数ｈ（ｋ）の最大値ｋを求める処理を行い、
前記第３ステップは、下記の(5)式を用いて一時ベクトルZtemp［ｉ］を求めることを特徴とするＳＶ削減方法。
【数６】
2010072896.tif 000012
【数５ａ】
2010072896.tif 000013
【請求項５】
請求項１ないし３のいずれかに記載の多クラスＳＶＭのためのＳＶ削減方法であって、
前記目的関数がポリノミアルカーネルのために最適化されている場合、
前記第２ステップは、下記の(8)式の関数ｇ（ｋ）の最大値ｋを求める処理を行い、
前記第３ステップは、下記の(7)式を用いて一時ベクトルZtemp［ｉ］を求めることを特徴とするＳＶ削減方法。
【数８】
2010072896.tif 000014
【数７ａ】
2010072896.tif 000015
【請求項６】
請求項４又は５に記載の多クラスＳＶＭのためのＳＶ削減方法であって、
前記一時ベクトルZtemp［ｉ］の係数βｔを、下記の(9)式を用いて計算することを特徴とするＳＶ削減方法。
【数９】
2010072896.tif 000016
【請求項７】
請求項１に記載の多クラスＳＶＭのためのＳＶ削減方法であって、
さらに、
前記一時ベクトルZtemp［ｉ］のうち分類誤差の一番小さな一時ベクトルZtemp［ｉ］を選択する第５ステップと、
該選択された一時ベクトルZtemp［ｉ］と、残余の前記当初のサポートベクトルｚｉ、ｚｊとからペアを選ぶ第６ステップと、
該ペアのサポートベクトルに、前記最大値ｋを適用して分類エラーの小さい一時ベクトルZtemp［ｉ］を求める第７ステップと、
前記ペアのサポートベクトルを、前記一時ベクトルZtemp［ｉ］で代表させる第８ステップとを備え、
前記第５〜第８ステップを繰り返し実行し、前記サポートベクトルのサイズが削減目標サイズＮｚになったとき、サポートベクトルの削減処理を終了するＳＶ削減方法。
【請求項８】
請求項７に記載の多クラスＳＶＭのためのＳＶ削減方法であって、
さらに、
前記削減処理されたサポートベクトルとそれに対応する係数を、該係数を固定して分類誤差関数を最小化し、次いで該分類誤差関数を固定して前記係数を最適化する第９ステップを備えたＳＶ削減方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多クラスサポートベクトルマシン（以下、ＳＶＭ）のためのサポートベクトル（ＳＶ）削減方法に関し、特に、ＳＶの個数の削減を高精度かつ高速で行える多クラスＳＶＭのためのＳＶ削減方法に関する。なお、以降では、「サポートベクトル」は、場合によっては「ＳＶ」と表記されることがある。
【背景技術】
【０００２】
サポートベクトルマシンは、最初は、二つのクラスに分類するタスク用に設計されたが、近年では多クラスに分類するタスク用に設計されているものも開発されている。多クラス分類問題では、多クラスに分類するために、１以上のＳＶＭが用いられる。多クラスＳＶＭでは、最終決定関数 ｆｔは、１からＴの値をとる時間ｔの関数ｆｔ（但し、ｔ＝１，２，・・・，Ｔ）に基づいて計算される。
【０００３】
【数１】
2010072896.tif 000003
【０００４】
ここに、Ｋ（ｘ，ｙ）は、ある特徴空間における２つのベクトルｘとｙ間の内積を計算するカーネル関数である。上記の式（１）の計算の時間複雑度は、ＳＶの個数ｘｉ（ｉ＝１，・・・，Ｎｓ）と共に増大する。
【０００５】
そこで、ＳＶの個数を減じるための削減セット方法が研究されている。主たるタスクは、減じられたベクトルｚｉ（ｉ＝１，・・・，Ｎｚ）の新しいセットと、それらに対応する係数βｔｉ（ｉ＝１，・・・，Ｎｚ、ｔ＝１，・・・，Ｔ）を組み立てることである。新しい関数ｆ’ｔは、次の（２）式のようになる。
【０００６】
【数２】
2010072896.tif 000004
【０００７】
ここに、Ｎｚ＜＜Ｎｓであり、新しい関数ｆ’ｔ（ｘ）は新しいベクトルｘを評価するとき、より簡単でより速く動作する。
【０００８】
次に、前記(1)式を(2)式に導く従来方法、換言すれば、ＳＶの個数を減じるための従来方法として、次の（１）〜（３）のような方法が提案されている。
【０００９】
（１）２クラスＳＶＭ（バイナリＳＶＭ）のためのトップダウン方法（非特許文献１，２）
【００１０】
２クラスＳＶＭ（２クラスの判別処理をするＳＶＭ)では、各ＳＶは、一つの係数と結びつけられる。非特許文献１，２に記述される方法では、次の(3)および(4)式を用いて一時ベクトルｚｉ（ｉ＝１，２，・・・，ＮＺ）を導き出すようにしている。なお、該一時ベクトルｚｉが導き出されれば、係数βｉは決まることになる。  
【００１１】
【数３】
2010072896.tif 000005
ここに、Ψｉは次の（４）式で表される。
【００１２】
【数４】
2010072896.tif 000006
【００１３】
なお、（３)式の分類関数Φ（ｚ）は、多変数ｚ（＝ｚ１，ｚ２，・・・，ｚｎ）の多変数関数であるので、後述するように、局所最適解の問題が発生する。
【００１４】
（２）２クラスＳＶＭのためのボトムアップ方法（非特許文献３）
【００１５】
非特許文献３には、ボトムアップ方式でＳＶの個数を低減する、つまり繰り返し２個のＳＶを選択し、それらを新しく構成されたベクトルで置換する方法が提案されている。
【００１６】
（３）多クラスＳＶＭのためのトップダウン方法（非特許文献４）
【００１７】
非特許文献４には、非特許文献１、２の低減セット構成方法を拡張して多クラスＳＶＭを簡単化する方法が提案されている。各反復の際に、１つのＳＶＭ中の１つの新しい低減ＳＶｚが生成され、全てのＳＶＭを再訓練することにより他のものと共有される。
【非特許文献１】Burges, C. J. C. 1996. Simplified support vector decision rules. International Conference on Machine Learning, 71-77.
【非特許文献２】B. Scholkopf, S. Mika, C.J.C. Burges, P. Knirsch, K.-R. Muller, G. Ratsch and A. Smola, "Input Space vs. Feature Space in Kernel-Based Methods," IEEE Trans. Neural Networks, vol. 10, pp. 1,000-1,017, Sept. 1999.
【非特許文献３】Nguyen, D.D., Ho, T.B. 2005. An Efficient Method for Simplifying Support Vector Machines.  International Conference on Machine Learning, ICML 2005, Bonn, August 7-11, 2005, 617-624.
【非特許文献４】Tang, B. and Mazzoni, D. 2006. Multiclass reduced-set support vector machines. International Conference on Machine Learning, June 25 - 29, 2006. ICML '06, vol. 148. ACM, New York, NY, 921-928.
【発明の開示】
【発明が解決しようとする課題】
【００１８】
しかしながら、前記した従来方法（１）〜（３）には、次のような課題がある。
１．２クラスＳＶＭのためのトップダウン方法（非特許文献１，２）
【００１９】
この方法の主たる欠点は、局所最適解に陥り易いために、ＳＶＭの性能がよくないという課題、良好に簡単化されたＳＶＭを得るために、(3)式中のｚのサーチを多数回繰り返さなければならないという課題がある。なお、前記局所最適解に陥る原因は、分類関数Φ（ｚ）が多変数関数であることである。
２．２クラスＳＶＭのためのボトムアップ方法（非特許文献３）
【００２０】
この方法も、局所最適解に陥り易く精度が良くないという課題、各ＳＶが単に１つの係数のみに相当する２クラスＳＶＭに適用できるだけであるという課題がある。
３．多クラスＳＶＭのためのトップダウン方法（非特許文献４）
【００２１】
この方法は、前記２クラスＳＶＭを拡張したものであるので、局所最適解に陥り易いという課題が生じ、ＳＶＭの精度がよくない。該局所最適解問題を軽減するために、異なる発展アルゴリズムが、低減ベクトルを構成する際にグラジエント低下方法と結合して使用される。しかし、その課題の性質上、判定結果が不安定になる。
【００２２】
本発明の目的は、前記課題に鑑み、多クラスＳＶＭに含まれるＳＶの数を局所最適解に陥らずに削減できる多クラスＳＶＭのためのＳＶ削減方法を提供することにある。また、ＳＶの削減を高精度かつ高速で行える多クラスＳＶＭのためのＳＶ削減方法を提供することにある。
【課題を解決するための手段】
【００２３】
前記した目的を達成するために、本発明の多クラスＳＶＭのためのＳＶ削減方法は、複数の当初存在するサポートベクトルの中から、サポートベクトルｚｉ，ｚｊ（ｉ，ｊ＝１，２，・・・・，Ｎｓ）のペアを選ぶ第１ステップと、１個の最大点をもつ１変数の目的関数を用意し、該目的関数の最大値ｋを求める第２ステップと、前記ペアのサポートベクトルｚｉ，ｚｊに、前記最大値ｋを適用して分類エラーの小さい一時ベクトルZtemp［ｉ］を求める第３ステップと、前記ペアのサポートベクトルｚｉ，ｚｊを、前記一時ベクトルZtemp［ｉ］で代表させる第４ステップとからなる点に特徴がある。
【００２４】
また、本発明は、さらに、前記一時ベクトルZtemp［ｉ］のうち分類誤差の一番小さな一時ベクトルZtemp［ｉ］を選択する第５ステップと、該選択された一時ベクトルZtemp［ｉ］と、残余の前記当初のサポートベクトルｚｉ、ｚｊとからペアを選ぶ第６ステップと、該ペアのサポートベクトルに、前記最大値ｋを適用して分類エラーの小さい一時ベクトルZtemp［ｉ］を求める第７ステップと、前記ペアのサポートベクトルを、前記一時ベクトルZtemp［ｉ］で代表させる第８ステップとを備え、前記第５〜第８ステップを繰り返し実行し、前記サポートベクトルのサイズが削減目標サイズＮｚになったとき、サポートベクトルの削減処理を終了する点に他の特徴がある。
【発明の効果】
【００２５】
本発明は、ＳＶのペアから局所最適解に陥らずに分類エラーの小さい一時ベクトルZtemp［ｉ］を求めることができる。
【００２６】
また、このため、前記した従来方法（１）〜（３）に比べて、高速でＳＶの削減処理を行うことができると共に、高効率で安定で処理速度の速い多クラスＳＶＭを提供することができる。
【発明を実施するための最良の形態】
【００２７】
以下に、図面を参照して、本発明を詳細に説明する。まず、本発明の要部について説明し、その後で、本発明の一実施形態を説明する。
【００２８】
本発明は、非特許文献１，２，３及び４の局所最適解に陥らずにＳＶを削減するものである。前記(1)式および(2)式のカーネル関数Ｋがガウシアンカーネル(Gaussian  kernel）の場合、すなわちＫｉｊ＝Ｋ（ｚｉ，ｚｊ）＝exp（−γ‖ｚｉ−ｚｊ‖２）の場合には、２個のＳＶであるｚｉとｚｊを下記の(5)式と(6)式を用いて、新しく構成されたベクトルｚ（以下、「一時ベクトルｚ」と呼ぶ）に置き換えてＳＶを削減する。また、該一時ベクトルｚの係数βｔを下記の(9)式から求める。
【００２９】
【数５】
2010072896.tif 000007
【００３０】
ここに、ｋは（６）式で表される。
【００３１】
【数６】
2010072896.tif 000008
【００３２】
(6)式の「arg」は「arguement」の略であり、引数を意味する。また、該(6)式のｈ（ｋ）は、ガウシアンカーネルのために最適化された目的関数である。
【００３３】
該目的関数ｈ（ｋ）は、前記ベクトルｚの分類誤差Err(z)（下式参照）を最小にする条件から導き出された目的関数であるが、詳細な説明は省略する。なお、Φ（ｚ）は分類関数である。
【００３４】
Err(z)＝‖βΦ（ｚ）−（ｍΦ（ｚｉ）＋（１−ｍ）Φ（ｚｊ）‖
【００３５】
また、ポリノミアルカーネル（Polynomial kernel)の場合、すなわちＫｉｊ＝Ｋ（ｚｉ，ｚｊ）＝（ｚｉｚｊ）ｐの場合には、２個のＳＶであるｚｉとｚｊを下記の(7)式と(8)式を用いて、新しく構成されたベクトルｚに置き換え、ＳＶを削減する。また、該一時ベクトルｚの係数βｔを下記の(9)式から求める。
【００３６】
【数７】
2010072896.tif 000009
【００３７】
【数８】
2010072896.tif 000010
【００３８】
前記(8)式のｇ（ｋ）は、ポリノミアルカーネルのために最適化された目的関数である。該目的関数ｇ（ｋ）は、前記目的関数ｈ（ｋ）と同様に、ベクトルｚの分類誤差Err(z)を最小にする条件から導き出された目的関数である。
【００３９】
【数９】
2010072896.tif 000011
【００４０】
（６）式中の目的関数ｈ（ｋ）および（８）式中の目的関数ｇ（ｋ）は、図１に示すように、［０，１］間に１つの最大点を持つ１変数関数（凸関数）であるので、それらの最大点を簡単に見つけることができる。前記目的関数ｈ（ｋ）およびｇ（ｋ）の最大点が求まれば、(5)式および(7)式により、一時ベクトルｚは簡単に求めることができる。
【００４１】
以上のように、前記目的関数ｈ（ｋ）およびｇ（ｋ）は、［０，１］間に１つの最大点を持つ１変数関数（凸関数）であるので、ガウシアンカーネルの場合には、(6)式の制約の下で(5)式を解くことにより、一方ポリノミアルカーネルの場合には、(8)式の制約の下で(７)式を解くことにより、局所最適解の問題に陥らずに、２個のサポートベクトルｚｉとｚｊから一つの新しいサポートベクトルｚ（つまり、前記一時ベクトルｚ）を求めることができるようになる。
【００４２】
以上のことから明らかなように、本発明の要点の一つは、(6)式のような目的関数ｈ（ｋ）の制約の下で(5)式を解くようにした点、または(8)式のような目的関数ｇ（ｋ）の制約の下で(７)式を解くようにした点にある。
【００４３】
次に、本発明の多クラスＳＶＭのためのＳＶ削減方法の一実施形態のアルゴリズムを、図２、図３および図４のフローチャート、ならびに図５の説明図を参照して説明する。なお、この実施形態では、ガウシアンカーネルの場合について説明するが、ポリノミアルカーネルの場合においても同様に実施できる。
【００４４】
図２のステップＳ１０では、全ての当初サポートベクトルｘｉ、その係数αｔｉを、それぞれ、ｚｉ、βｔｉ（ｉ＝１，２，・・・，Ｎｓ；ｔ＝１，２，・・・，Ｔ）と置き、これらの集合を削減対象サポートベクトル（Red）とする。例えば、図５(a)のサポートベクトルｚ１，ｚ２，・・・，ｚ５を削減対象サポートベクトル（Red）とする。
【００４５】
ステップＳ２０では、ｚｉに対して、サポートベクトルｚｋ（ｋ≠ｉ，ｋ＝１，２，・・・，Ｎｓ）の中から距離の一番小さいペア（対）ｊ＝Pair［ｉ］を求める。例えば、図５(a)のペアｚ１−ｚ２，ｚ３−ｚ１，ｚ４−ｚ５，およびｚ５−ｚ２を求める。
【００４６】
続いて、ステップＳ３０では、前記(5)式と(6)式を用いて、一時ベクトルｚ＝Ztemp［ｉ］を計算する。このｚは、ペア間の分類エラーErrを最小にするように内分したＳＶであり、例えば図５(b)に示されているZtemp［１］、Ztemp［３］、Ztemp［４］、Ztemp［５］のようになる。なお、前記ポリノミアルカーネルの場合には、前記(7)式と(8)式を用いて一時ベクトルZtemp［ｉ］を計算する。
【００４７】
ステップＳ４０では、前記（９）式を用いて、各ＳＶの係数Beta［ｔ，ｉ］を計算する。
【００４８】
ステップＳ５０では、前記Ztemp［ｉ］の分類誤差Err［ｉ］を求める。式中のΦは分類関数である。例えば、図５(b)に示されている、Ztemp［１］のErr［１］、Ztemp［３］のErr［３］などを求める。
【００４９】
以上で、削減対象サポートベクトル（Red）に対して、一時ベクトルZtemp［ｉ］、係数Beta［ｔ，ｉ］およびZtemp［ｉ］の分類誤差Err［ｉ］を求める第１段階の処理を終える。
【００５０】
次に、ステップＳ６０では、サイズ＝Ｎｓと置く。ここに、サイズＮｓは、当初のＳＶのサイズである。例えば、本例の場合、ＳＶの当初サイズは、図５(a)、(b)に示されているように、サイズ＝５である。
【００５１】
ステップＳ７０では、サイズ≧Ｎｚの条件が成立するか否かの判断がなされる。ここに、サイズＮｚは、ＳＶ削減目標のサイズであり、Ｎｚ≪Ｎｓである。例えば、Ｎｚ＝（１／１０）Ｎｓである。
【００５２】
ステップＳ８０では、前記Err［ｋ］の集合の中の最小のものをｉと置く。また、該最小のｉのペアがｊと置かれる。ステップＳ９０では、前記エラーが最小のZtemp［ｉ］がサポートベクトルｚｉと置かれ、該ｚｉの係数βｔｉが求められる。
【００５３】
ステップＳ１００では、前記ペアの一方がＮＵＬＬ，すなわち削除される。このため、ステップＳ１１０では、ＳＶのサイズは１だけ削減され、（サイズ−１）となる。
【００５４】
例えば、図５(b)のErr［１］が最小のエラーであるとすると、図５(c)に示されているようにZtemp［１］＝ｚ１とされ、ｚ２がＮＵＬＬとされる。そして、ＳＶのサイズは、当初のサイズ＝５から１削減され、サイズ＝４とされる。
【００５５】
次に、図３のステップＳ１２０に進む。ステップＳ１２０では、サイズに関連するある置数Ｉ（＝１，２，・・・，Ｎｓ−１）に対して、前記ステップＳ２０と同様の距離の一番小さいペア（対）ｊ＝Pair［Ｉ］を求める。なお、前記置数Ｉは、ステップＳ１１０で減じられた数だけ、Ｎｓから減じられることは明らかである。このステップＳ１２０では、例えば、図５(c)に示されているように、ペア（Ztemp［１］＝）ｚ１−ｚ５、ｚ３−ｚ４，ｚ４−ｚ５が求められる。なお、当初のサポートベクトルｚ１とｚ２が削除され、一時ベクトルZtemp［Ｉ］（＝ｚ１）に置換されたため、これらのペアは図５(a)のペアとは異なるものになる。
【００５６】
ステップＳ１３０では、前記ステップＳ３０と同様に、前記(5)式と(6)式を用いて、ｚ＝Ztemp［Ｉ］を計算する。例えば、図５(c）に示されているように、新たなZtemp［３］’、Ztemp［５］’が求められる。
【００５７】
ステップＳ１４０では、前記ステップＳ４０と同様に、前記（９）式を用いて、各ＳＶの係数Beta［ｔ，Ｉ］を計算する。
【００５８】
ステップＳ１５０では、前記ステップＳ５０と同様に、Ztemp［Ｉ］の分類誤差Err［Ｉ］を求める。例えば、図５(c)に示されているように、前記Ztemp［３］’のErr［３］、Ztemp［５］’のErr［５］などを求める。
【００５９】
以上のようにして、ＳＶのサイズを１減じた時の一時ベクトルZtemp［Ｉ］、係数Beta［ｔ，Ｉ］およびZtemp［Ｉ］の分類誤差Err［Ｉ］を求める第２段階の処理を終えると、図２のステップＳ７０に戻る。
【００６０】
ステップＳ７０でＳＶのサイズが削減目標サイズＮｚよりまだ大きいと判断されると、再度ステップＳ８０に進み、前記ステップＳ１５０で求められたZtemp［Ｉ］の分類誤差Err［Ｉ］の中の一番小さい分類誤差に対応するペアｊが選択される。例えば図５(c)のZtemp［４］が一番小さい分類誤差であるとすると、該分類誤差Err［４］に対応するペアｚ４−ｚ５が選択される。
【００６１】
ステップＳ９０では、Ztemp［ｉ］がサポートベクトルｚｉと置かれ、該ｚｉの係数βｔｉが求められる。例えば、図５(d)に示されているように、Ztemp［４］＝ｚ４と置かれ、該ｚ４の係数βｔ４が求められる。
【００６２】
ステップＳ１００では、ペア相手のｚ５＝ＮＵＬＬとされ、ステップＳ１１０ではサイズが１減じられる。この結果、ＳＶのサイズは、図５(d)に示されているように、サイズ＝３になる。
【００６３】
そして、図３のステップＳ１２０に進み、Ｉ＝１，２，・・・，Ｎｓ−２に対して、前記したステップＳ１２０〜Ｓ１５０の処理が行われる。
【００６４】
以上のようにして、ステップＳ７０〜Ｓ１５０の処理が繰り返し行われ、１サイクル毎にサイズが１削減され、ステップＳ７０の判断が否定になると、すなわちＳＶのサイズが削減目標サイズＮｚに達すると、処理は図４のステップＳ１６０に進む。
【００６５】
ステップＳ１６０〜１８０の処理は、上記のようにして削減されたサポートベクトルｚｉとその係数βｔｉとを補正する処理である。
【００６６】
ステップＳ１６０では、削減されたサイズＮｚ個の（ｚｉ，βｔｉ）の集合が、削減サポートベクトル（Red）と置かれる。
【００６７】
ステップＳ１７０では、係数βｔｉを固定して、関数Ｆ（ｚ）を最小にする演算が行われる。なお、該関数Ｆ（ｚ）は、既知の最適化関数である。該関数Ｆ（ｚ）中の係数βｔｉは、前記ステップＳ１４０で求めた値を用いる。
【００６８】
ステップＳ１８０では、ステップＳ１７０で求められたｚｉを固定して、係数βｔを最適化する処理が行われる。
【００６９】
上記の補正処理は、従来は、前記関数Ｆ（ｚ）のｚｉとβｔｉとを変数として、Ｆ（ｚ）を最小にする最適解を求める演算をしていたので、演算に時間が掛かっていたが、本発明では、ステップＳ１７０で係数βｔｉを固定して関数Ｆ（ｚ）を最小にする演算を行い、ステップＳ１８０でｚｉを固定して係数βｔを最適化する演算を行うようにしたので、演算速度を、従来のものに比べて、大幅に大きくすることができるようになる。
【００７０】
図６は、本発明の方法でＳＶを削減した場合（ロ）と、非特許文献４に記されている方法でＳＶを削減した場合（イ）のＳＶＭの予測精度を比較するグラフであり、縦軸は予測精度、横軸は削減したＳＶ％を示す。なお、曲線イは理論的に求めたものではなく、具体的な実験で求められたものである。
【００７１】
図６から明らかなように、曲線（ロ）の方が曲線（イ）より上にあり、本発明によりＳＶを削減した方が非特許文献４の方法でＳＶを削減した場合にくらべ、予測精度が良いことが分かる。その上、本発明によれば、従来方法に比べて、ＳＶの削減を高速で行えることは上記した通りである。
【００７２】
以上、本発明を一実施形態で説明したが、本発明は該実施形態に限定されず、本発明の範囲を逸脱しない範囲において、種々の変形ができることは明らかである。
【図面の簡単な説明】
【００７３】
【図１】(6)式および(8)式で表される目的関数ｈ（ｋ）およびｇ（ｋ）が１変数関数（凸関数）であることを示すグラフである。
【図２】本発明の一実施形態の処理手順を示すフローチャートである。
【図３】図２の続きを示すフローチャートである。
【図４】図２の続きを示すフローチャートである。
【図５】図２、図３の処理の概略説明図である。
【図６】本発明と従来技術との比較を示すグラフである。
【符号の説明】
【００７４】
ｚｉ，ｚｉ・・・サポートベクトル（ＳＶ）、Ztemp［ｉ］・・・一時ベクトル
【図１】
2010072896.tif 000017
【図２】
2010072896.tif 000018
【図３】
2010072896.tif 000019
【図４】
2010072896.tif 000020
【図５】
2010072896.tif 000021
【図６】
2010072896.tif 000022