* サポートベクトルマシン (support vector machine; SVM) [#t52d955c] SVM の長所: -できるだけ真ん中を通るように識別面を作るので汎化能力が高い. -非線形にしてもグローバルミニマムが求まる. -一部のサンプルだけを使って識別関数が書けるので,必要メモリは少ない. SVM の短所: -サンプル数が多いと最適化が結構大変. -多クラスの場合に工夫が必要. > --あかほ ** 関連項目 [#de45f05d] -[[support vector machine]] -[[サポートベクトルマシン]] #br -[[識別]] -[[線形分離可能]] -[[パーセプトロン]] -[[マージン]] -[[カーネル]] -[[正定値カーネル]] -[[再生核Hilbert空間]] -[[Mercerの定理]] -[[正則化]] -[[VC次元]] -[[汎化能力]] -[[レプリゼンタ定理]] -[[凸二次計画]] -[[KKT条件]] -[[スラック変数]] -[[ロバスト推定]] -[[ヒンジ関数]] -教師あり --[[サポートベクトル回帰]] --[[ν-SVM]] -教師なし --[[サポートベクトルクラスタリング]] --[[最大マージンクラスタリング]] --[[1クラスSVM]] -半教師あり --[[TSVM]] #br -[[検索:SVM サポートベクトルマシン サポートベクターマシン]] ** リンク集 [#g21a6484] -[[サポートベクターマシン入門>http://www.neurosci.aist.go.jp/~kurita/lecture/svm.pdf]] @ 栗田多喜夫 -[[サポートベクターマシン入門>http://home.hiroshima-u.ac.jp/tkurita/lecture/svm.pdf]] @ 栗田多喜夫 -[[Support Vector Machines.org>http://www.support-vector-machines.org/]] -[[統数研 公開講座「カーネル法の最前線 ー SVM, 非線形データ解析, 構造化データ ー 」>http://www.ism.ac.jp/~fukumizu/ISM_lecture_2006/]] -[[www.svms.org>http://www.svms.org/]] @ Martin Sewell:強力なリンク集 -[[Kernel Machines>http://www.kernel-machines.org/]] -[[www.support-vector-machines.org>http://www.support-vector-machines.org/]] #br -[[Wikipedia:Support_vector_machine]] -[[Wikipedia.jp:サポートベクターマシン]] *** Freeware [#p51fbf90] -[[mloss:linear-svm]], [[mloss:support-vector-machines]], [[mloss:svm]], [[mloss:support-vector-machine]] -[[SVM Software>http://www.svms.org/software.html]] @ www.svms.org -[[LIBSVM>http://www.csie.ntu.edu.tw/~cjlin/libsvm/]] (C) --[[Weka LibSVM (WLSVM)>http://www.cs.iastate.edu/~yasser/wlsvm/]] -[[SVM light>http://svmlight.joachims.org/]] (C) --[[Tree Kernels in SVM-light>http://dit.unitn.it/~moschitt/Tree-Kernel.htm]] --[[SVM python>http://www.cs.cornell.edu/~tomf/svmpython/]]:pythonインターフェース --[[Algorithm-SVMLight>http://search.cpan.org/~kwilliams/Algorithm-SVMLight]]:perlインターフェース -[[AI-Categorizer@CPAN>http://search.cpan.org/~kwilliams/AI-Categorizer/]]:perlのモジュール -[[BSVM>http://www.csie.ntu.edu.tw/~cjlin/bsvm/index.html]] -[[Incremental SVM Learning>http://www.cpdiehl.org/softwarepage.html]] -[[LIBLINEAR>http://www.csie.ntu.edu.tw/~cjlin/liblinear/]]:大規模計算用,L1/L2損失 (C/C++) --[[liblinear2scipy>http://public.procoders.net/liblinear2scipy/src/dist/]]:pythonラッパー -[[Lagrangian Support Vector Machine>http://www.cs.wisc.edu/dmi/lsvm/]] -[[LaSVM>http://leon.bottou.org/projects/lasvm]]:大規模用 -[[psvm>http://code.google.com/p/psvm/]]:parallel SVM -[[Shogun>http://www.shogun-toolbox.org/]] (matlab, [[octave]], [[python]], [[R]]) -[[kernlab>http://cran.r-project.org/web/packages/kernlab/index.html]],[[e1071>http://cran.r-project.org/web/packages/e1071/index.html]]:[[R]]のパッケージ -[[Spider>http://www.kyb.tuebingen.mpg.de/bs/people/spider/]]:MATLAB toolbox -[[Tiny SVM>http://chasen.org/~taku/software/TinySVM/]] (C) -[[Active Support Vector Machine>http://www.cs.wisc.edu/dmi/asvm/]] -[[SVMlin>http://people.cs.uchicago.edu/~vikass/svmlin.html]]:教師あり学習・半教師あり学習のための線形SVM -[[Support Vector Machines @ Information: Signals, Images, Systems>http://www.isis.ecs.soton.ac.uk/resources/svminfo/]]:MATLAB Toolbox -[[SVM Fu>http://five-percent-nation.mit.edu/SvmFu/]] (C++) -[[SVM-JAVA>http://iis.hwanjoyu.org/svm-java/]] -[[SVMmap>http://projects.yisongyue.com/svmmap/]]:Support Vector Machine for Optimizing Mean Average Precision -[[SVM-OOPS>http://www.maths.ed.ac.uk/ERGO/svm-oops/]]:MPIを使った分散環境で並列実行 -[[svmsgd>http://leon.bottou.org/projects/sgd]] @ Léon Bottou:確率的勾配降下法で高速化 -[[SVMsequel>http://www.cs.utah.edu/~hal/SVMsequel/]]:自然言語処理用に文字列カーネルとかが入っている -[[Gist>http://svm.sdsc.edu/svm-intro.html]]:Webインターフェースで実行するSVM -[[UniverSVM>http://www.kyb.mpg.de/bs/people/fabee/universvm.html]]:[[CCCP]]を用いて大規模化 -[[kernel-machine library @ terborg.net>http://www.terborg.net/research/kml/]] 基本的なカーネル + [[SVM]],関連ベクトルマシンなどのカーネル学習器 -[[リンク集>http://www.kernel-machines.org/software]] @ kernel-machines.org -[[RjpWiki:R でサポートベクターマシン]] ** 関連文献 [#yfda5c97] -基本文献~ Bernhard E. Boser, Isabelle M. Guyon, Vladimir N. Vapnik "A Training Algorithm for Optimal Margin Classifiers" 5th COLT, pp.144-152 (1992)~ [[GoogleScholarAll:A Training Algorithm for Optimal Margin Classifiers]]~ [[I.Guyonの文献リスト>http://www.clopinet.com/isabelle/Papers/]]から入手可 -SVM やカーネル法全体がよくわかる教科書 [[Book/Learning with Kernels]] -[[赤穂昭太郎 "本 カーネル多変量解析—非線形データ解析の新しい展開" 確率と情報の科学シリーズ, 岩波書店 (2008)>K-NEL]] -SVMのチュートリアル~ C.J.C.Burges "A Tutorial on Support Vector Machines for Pattern Recognition" Data Mining and Knowledge Discovery, vol.2, pp.121-168 (1998)~ [[GoogleScholarAll:A Tutorial on Support Vector Machines for Pattern Recognition]] -N. Cristianini and J. Shawe-Taylor "Introduction to Support Vector Machines" Cambridge University Press (2000):[[サポートページ>http://www.support-vector.net/]] -[[Book/サポートベクターマシン(知の科学)]] -[[Book/データマイニングの基礎]] 3.3節 -[[Book/学習システムの理論と実現]] 第3章 -[[Book/パターン認識と学習の統計学(統計科学のフロンティア6)]] 第II部 -[[Book/パターン認識(Rで学ぶデータサイエンス5)]] 11章, 12章 -[[Book/フリーソフトでつくる音声認識システム]] 6.1節 -[[Book/Learning with Kernels]] -[[Book/Data Mining - Concepts and Techniques]] 6.7章 -[[Book/Pattern Recognition and Machine Learning]] 7章