JP5137074B2 - サポートベクトルマシンの学習方法 - Google Patents

サポートベクトルマシンの学習方法 Download PDF

Info

Publication number
JP5137074B2
JP5137074B2 JP2008057922A JP2008057922A JP5137074B2 JP 5137074 B2 JP5137074 B2 JP 5137074B2 JP 2008057922 A JP2008057922 A JP 2008057922A JP 2008057922 A JP2008057922 A JP 2008057922A JP 5137074 B2 JP5137074 B2 JP 5137074B2
Authority
JP
Japan
Prior art keywords
training
svm
learning
vector
vectors
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008057922A
Other languages
English (en)
Other versions
JP2009217349A (ja
Inventor
ズン デュック グエン
一則 松本
康弘 滝嶋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2008057922A priority Critical patent/JP5137074B2/ja
Priority to US12/400,144 priority patent/US20090228413A1/en
Publication of JP2009217349A publication Critical patent/JP2009217349A/ja
Application granted granted Critical
Publication of JP5137074B2 publication Critical patent/JP5137074B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Image Analysis (AREA)

Description

本発明はサポートベクトルマシンの学習方法に関し、特に大量のデータセットを用いて行うサポートベクトルマシンの学習方法に関する。
サポートベクトルマシン(以下、SVM)の学習の主要な処理は、ラベルy={−1,+1}をもつ訓練データx(ここに、i=1,2,・・・,l)の集合が与えられた時に、次の(1)式の制約二次計画問題(以下、QP問題)を解くことである。
Figure 0005137074
ここに、K(x,x)はある特徴空間中の2つのベクトルx,xの内積を計算するカーネル関数、Cは訓練データ中のノイズの入った訓練データにペナルティを課すパラメータである。
さて、従来のSVMの学習方法としては、分解(Decomposition)アルゴリズム、SMO(Sequential Minimal Optimization)アルゴリズム、CoreSVM等がある。
前記分解アルゴリズムは、SVM学習の際に、当初のQP問題を小さな複数のQP問題に分解し、これらの小さな問題を繰り返し最適化する方法であり、下記の非特許文献1,2に記されている。
前記SMOアルゴリズムは、QP問題を解くために、2つの訓練データを選択し、それらの係数を分析して更新する方法であり、下記の非特許文献3,4に記されている。
さらに、前記CoreSVMは、ランダムサンプリングを用いたSVMの一形式である。該CoreSVMは、QP問題を数理幾何学のMEB(minimum enclosing ball)問題に変換し、該MEB問題を適用してQP問題の解を得る方法であり、下記の非特許文献5,6に記されている。
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 IEEE Workshop, N. M. J. Principe, L. Gile and E. Wilson, Eds., New York, pp. 276-285, 1997. T. Joachims, "Making large-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 of support vector machines using sequential minimal optimization," in Advances in Kernel Methods - Support Vector Learning, B. Scholkopf, C. J. C. Burges, and A. J. Smola, Eds., Cambridge, MA: MIT Press, 1999. R. Fan, P. Chen, and C. Lin, "Working Set Selection Using Second Order Information for Training Support Vector Machines". J. Mach. Learn. Res. 6, 1889-1918, 2005. I. W. Tsang, J. T. Kwok, and P.-M. Cheung, "Core vector machines: Fast SVM training on very large datasets," in J. Mach. Learn. Res., vol. 6, pp. 363-392, 2005. I. W. Tsang, A. Kocsor, and J. T. Kwok. "Simpler core vector machines with enclosing balls" Proceedings of the Twenty-Fourth International Conference on Machine Learning (ICML), pp.911-918, Corvallis, Oregon, USA, June 2007.
前記分解アルゴリズムおよびSMOアルゴリズムは、SVMの学習を最適化するためには、全訓練データを考慮する必要があり、分割後の全訓練データを用いて学習するのに時間がかかるという課題、特に、多くの訓練データが非サポートベクトルの時には、効率が大変悪くなるという課題がある。また、前記CoreSVMは、訓練データをランダムサンプリングするため、終了条件を適切に設定しない限り学習効果が不安定になるという課題がある。
本発明は、前記した従来技術に鑑みてなされたものであり、その目的は、SVMの精度を維持しながら学習を高速化できるSVMの学習方法を提供することである。
前記した目的を達成するために、本発明は、2つの反対のクラスから2つの訓練ベクトルを選択し、サポートベクトルマシン(以下、SVM)の学習をする工程と、予め用意された訓練ベクトルの集合の中から、複数の未使用訓練ベクトルを任意に選択し、その中のエラー量が最も大きい未使用訓練ベクトルを抽出する工程と、該抽出された未使用訓練ベクトルを既使用訓練ベクトルに追加して訓練ベクトルを更新する工程と、該更新された訓練ベクトルを用いて第1のSVMの学習をする工程と、前記更新された訓練ベクトルの個数が所定個数以上になった時または前記抽出された未使用訓練ベクトルのエラー量が所定値より小さくなった時に前記第1のSVMの学習を終了する工程とからなるSVMの学習方法を提供する点に第1の特徴がある。
また、本発明は、前記の学習に続いて、予め用意された訓練ベクトルの集合の中から1つの訓練ベクトルを任意に選択する工程と、該選択された訓練ベクトルの誤差量が所定値より大きいときには、該訓練ベクトルを既使用訓練ベクトルに追加して訓練ベクトルを更新する工程と、該更新された訓練ベクトルを用いて第2のSVMの学習をする工程と、未使用訓練ベクトルの数が予め決められた個数より小さくなった時に前記第2のSVMの学習を終了する工程とからなるSVMの学習方法を提供する点に第2の特徴がある。
本発明によれば、エラー量の大きな訓練ベクトルを用いてSVMの学習ができるので、SVMの学習を効率的に行うことができ、学習を高速化することができる。また、訓練ベクトルのエラー量が予め設定した値より小さくなった場合あるいは未使用訓練ベクトルの数がある値より小さくなったときに学習を終了するので、学習の終了条件を適切に設定でき、学習効果を安定させることができる。
以下に、図面を参照して、本発明を詳細に説明する。本発明では、訓練データを拡張および更新するための2段階学習方法を提供する。第1段階(第1フェーズ)では、できるだけ早く近似解を見つけ、第2段階(第2フェーズ)では、全部または予め決められた数nの訓練データ(ベクトル)に対して1つずつ解を求める点に特徴があり、以下に実施形態により説明する。
図1は、本発明の一実施形態の手順を示すフローチャートであり、前記第1段階(第1フェーズ)の処理手順を示す。ステップS100では、最初の訓練ベクトル(または訓練データ)のセット(以下、W0と記す)として、2つのベクトルが選ばれる。ベクトル(またはデータ)を2つのクラスに分類する場合には、2つの反対のクラスから任意のベクトルを選ぶことができる。なお、本発明者の実験では、SVM学習の結果は、該2つのベクトルの選定に依存しないことが確かめられている。
ステップS105では、SVMを訓練ベクトルのセットW0で学習して、解S0を求める。ステップS110では、繰り返し回数を示すtをt=0、訓練ベクトルの全データをTとして、未使用の訓練ベクトルの集合T0を求める。該未使用の訓練ベクトルの集合T0は、TからT0を除去したものであり、T0=T−W0となる。
ステップS115では、未使用の訓練ベクトルの数|Tt|が0になったかまたは使用済みの訓練データの数|Wt|が予め決められた数mより大きくなったか否かの判断がなされる。なお、記号「||」は集合の要素の数を示す。この判断が肯定の場合には第1フェーズを終了し、否定の場合にはステップS120に進む。ステップS120では、前記未使用の訓練ベクトルの集合Ttから訓練ベクトルを59個ランダムサンプリングする。なお、59個に限定されず、他の個数でもよい。
ステップS125では、前記59個の訓練ベクトルの内のエラー量Et(vk)の一番大きな訓練ベクトルvtが選ばれる。ここで、該訓練ベクトルvtは、次の(2)、(3)式より求めることができる。
Figure 0005137074
ステップS130では、該エラー量Et(vk)がある設定値εより小さいか否かの判断がなされる。この判断が肯定の場合には第1フェーズを終了し、否定の場合にはステップS130に進む。ステップS135では、既使用の訓練ベクトルWtに前記訓練ベクトルvtが追加され、一方未使用の訓練ベクトルTtから該訓練ベクトルvtが除去され、Tt+1=Tt−vtとなる。次に、ステップS140に進み、SVMを訓練ベクトルWt+1で学習し、解St+1を得る。次に、図示されていないが、場合によっては、該St+1を基に得られたパラメータαを基に非サポートベクトルを除去する。ステップS145では、繰り返し回数tを1インクリメントする。そして、ステップS115に戻って、再度前記した処理を繰り返す。
以上のことから明らかなように、第1フェーズでは、ステップS115またはステップS130の判断が肯定になるまでステップS115〜S145の処理が繰り返され、該ステップS115またはステップS130の判断が肯定になると、第1フェーズは終了して第2フェーズに移行する。
以上のように、この第1フェーズでは、ランダムに選択された訓練ベクトル(上記の例では、59個)の中から学習に関して最も優れたベクトル、すなわち、エラー量の一番大きな訓練ベクトルvtを求め、該訓練ベクトルvtを既使用の訓練ベクトルWtに加えて訓練ベクトルWt+1に更新し、該更新した訓練ベクトルWt+1を用いてSVMを学習するようにしているので、早期にSVMの近似解を求めることができるようになる。
また、該エラー量が前記設定値εより小さくなった時に第1フェーズを終了するので、該設定値εより小さいエラー量の訓練ベクトルを用いて行うSVMの無駄な学習を回避できると共に、学習を高速化できる。
次に、フェーズ2の処理を図2を参照して説明する。該フェーズ2では、前記第1フェーズで学習されたSVMに対して、さらに学習を行う。ステップS200では、t=0と置かれる。ステップS205では、未使用訓練ベクトルの数|Tt|がある設定値n以下になったかどうかの判断がなされる。この処理は、SVM学習の終了条件であり、この設定値nの大きさを変えることにより、当初の訓練ベクトルの総数T0に対する訓練済みのベクトル(T0−Tt)の割合が、例えば10%、20%、40%、80%、あるいは100%になったときに、第2フェーズを終了させることができるようになる(後述の図4参照)。
ステップS205の判断は、最初は否定であるのでステップS210に進む。ステップS210では、未使用訓練ベクトルTtの中から1つの訓練ベクトルvがランダムに選ばれる。ステップS215では、未使用訓練ベクトルTtから該訓練ベクトルvが除去される。ステップS220では、該訓練ベクトルvのエラー量Et(v)がある値εより大きいか否かの判断がなされる。そして、該訓練ベクトルvのエラー量がε未満の場合にはステップS220の判断が否定になり、ステップS235でtが1インクリメントされた後、ステップS205に戻って、未使用訓練ベクトルの数|Tt|が前記設定値n以下になったかどうかの判断がなされる。
一方、エラー量がEt(v)がεより大きい場合には、ステップS225に進んで、既使用訓練ベクトルWtに該訓練ベクトルvが付加され、訓練ベクトルがWt+1に更新される。ステップS230では、該更新された訓練ベクトルWt+1を用いてSVMの学習が行われ、解St+1が求められる。次いで、ステップS230でtが1インクリメントされて、ステップS205に戻る。続いて、前記したステップS205〜S235の手順が繰り返され、前記ステップS205の判断が肯定になると、第2フェーズを終了する。
上記のことから明らかなように、第2フェーズではエラー量が値εより大きな訓練ベクトルを用いて学習するので、SVMの精度は維持または向上され、かつステップS205の処理により第2フェーズの終了条件を適切化することができる。
また、前記ステップS105,S135,S225の処理にはSMOが使用されるが、訓練データWtが全訓練データTに比べてはるかに小さいので、学習効率が大きく向上する。
次に、本発明者が周知の評価基準データセットである「web」、「zero-one」、「KDD-CUP」を用いて学習した結果を図3に示す。図3は、従来の分解アルゴリズム(P)、CoreSVM(Q)、および本発明による学習方法(R)による学習時間を比較するものであり、縦軸の単位は、「web」と「zero-one」に対しては秒、「KDD-CUP」に対しては分である。この図から、本発明の学習方法(R)は、他の従来の学習方法よりも高速で学習できることが分かる。
また、図4には、従来のCoreSVM、本発明の第1フェーズ、第2フェーズ(10%、20%、40%、80%および100%)に対して、評価基準データセット用いて行った分類精度と学習時間(分)を示す。左側の縦軸は分類精度を示し、右側の縦軸は学習時間(分)を示す。また、実線は分類精度を示し、点線は学習時間を示す。分類精度に関しては、従来のCoreSVMについては、約82%〜95%の変動があるのに対して、本発明の第1フェーズでは約82%〜93%の変動、本発明の第2フェーズ(10%、20%、40%、80%および100%)では、約92%〜96%の変動結果が得られた。このことから、第1フェーズでも従来のCoreSVMに比べて変動が小さく、第1フェーズだけでも従来のCoreSVMと遜色がないことが分かる。本発明の第2フェーズにおいては、従来のCoreSVMに比べてさらに変動が小さく、その精度が従来のCoreSVMに比べて大きく勝ることが分かる。なお、本発明の第2フェーズを10%実行するだけで、92%以上の高い分類精度が得られ、かつ短時間で学習を終わることができ、第2フェーズを10%実行するだけでも大きな効果が得られることが分かった。
本発明の一実施形態(第1フェーズ)の手順を示すフローチャートである。 本発明の他の実施形態(第2フェーズ)の手順を示すフローチャートである。 本発明の学習時間が従来の学習方式よりも短いことを示すグラフである。 本発明の分類精度の変動が従来の学習方式よりも小さく、かつ高精度であることを示すグラフである。
符号の説明
P・・・分解アルゴリズム、Q・・・CoreSVM、R・・・本発明の学習方法。

Claims (4)

  1. 2つの反対のクラスから2つの訓練ベクトルを選択し、サポートベクトルマシン(以下、SVM)の学習をする工程と、
    予め用意された訓練ベクトルの集合の中から、複数の未使用訓練ベクトルを任意に選択し、その中のエラー量が最も大きい未使用訓練ベクトルを抽出する工程と、
    該抽出された未使用訓練ベクトルを既使用訓練ベクトルに追加して訓練ベクトルを更新する工程と、
    該更新された訓練ベクトルを用いて第1のSVMの学習をする工程と、
    前記更新された訓練ベクトルの個数が所定個数以上になった時または前記抽出された未使用訓練ベクトルのエラー量が所定値より小さくなった時に前記第1のSVMの学習を終了する工程とからなるSVMの学習方法。
  2. 請求項1に記載のSVMの学習方法において、
    非サポートベクトルを除去する工程を付加するようにしたSVMの学習方法。
  3. 請求項1又は2のSVMの学習後に行われるSVMの学習方法であって、
    前記予め用意された訓練ベクトルの集合の中から1つの訓練ベクトルを任意に選択する工程と、
    該選択された訓練ベクトルの誤差量が所定値より大きいときには、該訓練ベクトルを既使用訓練ベクトルに追加して訓練ベクトルを更新する工程と、
    該更新された訓練ベクトルを用いて第2のSVMの学習をする工程と、
    未使用訓練ベクトルの数が予め決められた個数より小さくなった時に前記第2のSVMの学習を終了する工程とからなるSVMの学習方法。
  4. 請求項3に記載のSVMの学習方法において、
    前記第2のSVMの学習を終了する工程の個数が任意に変更できることを特徴とするSVMの学習方法。
JP2008057922A 2008-03-07 2008-03-07 サポートベクトルマシンの学習方法 Active JP5137074B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008057922A JP5137074B2 (ja) 2008-03-07 2008-03-07 サポートベクトルマシンの学習方法
US12/400,144 US20090228413A1 (en) 2008-03-07 2009-03-09 Learning method for support vector machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008057922A JP5137074B2 (ja) 2008-03-07 2008-03-07 サポートベクトルマシンの学習方法

Publications (2)

Publication Number Publication Date
JP2009217349A JP2009217349A (ja) 2009-09-24
JP5137074B2 true JP5137074B2 (ja) 2013-02-06

Family

ID=41054637

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008057922A Active JP5137074B2 (ja) 2008-03-07 2008-03-07 サポートベクトルマシンの学習方法

Country Status (2)

Country Link
US (1) US20090228413A1 (ja)
JP (1) JP5137074B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6941301B2 (en) * 2002-01-18 2005-09-06 Pavilion Technologies, Inc. Pre-processing input data with outlier values for a support vector machine
JP4034602B2 (ja) * 2002-06-17 2008-01-16 富士通株式会社 データ分類装置、データ分類装置の能動学習方法及び能動学習プログラム

Also Published As

Publication number Publication date
US20090228413A1 (en) 2009-09-10
JP2009217349A (ja) 2009-09-24

Similar Documents

Publication Publication Date Title
Ghosh et al. Structured variational learning of Bayesian neural networks with horseshoe priors
EP3340129A1 (en) Artificial neural network class-based pruning
US11568270B2 (en) Non-transitory computer-readable storage medium storing improved generative adversarial network implementation program, improved generative adversarial network implementation apparatus, and learned model generation method
JP7439151B2 (ja) ニューラルアーキテクチャ検索
US11335118B2 (en) Signal retrieval apparatus, method, and program
CN109753987B (zh) 文件识别方法和特征提取方法
CN110162628A (zh) 一种内容识别方法及装置
CN113011337B (zh) 一种基于深度元学习的汉字字库生成方法及系统
US20200151561A1 (en) Signal generation device, signal generation learning device, method, and program
JP2018026020A (ja) 予測器学習方法、装置、及びプログラム
JP2020042797A (ja) サンプル処理方法、装置、機器および記憶媒体
Wiggers et al. Predictive sampling with forecasting autoregressive models
CN111723203A (zh) 一种基于终生学习的文本分类方法
JP2018055384A (ja) 信号調整装置、信号生成学習装置、方法、及びプログラム
Busa-Fekete et al. Ranking by calibrated AdaBoost
JP5137074B2 (ja) サポートベクトルマシンの学習方法
US11615611B2 (en) Signal retrieval device, method, and program
CN111126443A (zh) 基于随机游走的网络表示学习方法
CN113886578A (zh) 一种表单分类方法及装置
CN110162629B (zh) 一种基于多基模型框架的文本分类方法
CN113139368A (zh) 一种文本编辑方法及系统
Kiechle et al. PREUNN: Protocol Reverse Engineering using Neural Networks.
CN110046338B (zh) 一种上下文选择方法、装置、电子设备及存储介质
CN116572254B (zh) 一种机器人仿人多手指联合触觉感知方法、系统和设备
JP5538354B2 (ja) トピックモデル学習方法、装置、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100715

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120801

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120919

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121017

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121107

R150 Certificate of patent or registration of utility model

Ref document number: 5137074

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151122

Year of fee payment: 3