Rohit Singh, Tommi Jaakkola, and Ali Mohammad. 6.867 Machine Learning. Fall 2006. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.
The Support Vector Machine
大きなgeometric marginがあって線形分離できるという仮定のもとで,有限回の繰り返しでそのようなlinear classifierを与えられることを見た.Support Vector Machine(SVM)は繰り返しでなく直接そのようなlinear classifierを与える. まず,正しく線形分離を行うclassifierを見つけて(fig.1a),それからgeometric marginが最大になるようにθを調節する(fig.1b).このような解は一意である.
figure 1
より形式的には,geometric marginを最大化する最適化問題となる. すなわち,ytθTxt≥γがすべてのtraining dataに成立するという制約条件のもとで,γgeom=γ/‖θ‖を最大化する. γgeomを最大化する代わりに,逆数‖θ‖/γか12(‖θ‖/γ)2を最小化する問題とすることもできる.
ytθTxt≥γの両辺をγで割って
minimize 12‖θ/γ‖2 subject to yt(θ/γ)Txt≥1 for all t=1,...,n
となる.この問題の解はγとθのそれぞれの値を与えず,θの定数倍によって得られるdecision boundaryは変わらないから,γ=1としてよい.以上から,結局
minimize 12‖θ|2 subject to yt(θ/)Txt≥1 for all t=1,...,n
という最適化問題を解くことになる. この最適化問題はstandard SVM formであり,quadratic programming problem(目的関数が線形制約のもとのパラメータの二次関数)である. この解として得られるgeometric marginは1/‖ˆθ‖である. decision boundaryとgeometric marginはγ=1という設定によって変化していない.
General Formulation, Offset Parameters
パラメータにoffset term θ0を加えることで,decision boundaryが必ずしも原点を通らなくとも良くなる. このときclassifierは
f(x;θ,θ0)=sign(θTx+θ0)
separating hyperplaneはθTx+θ0=0なるxの集合である.θ0の導入によって,原点を通るlinear classifierよりも大きなmarginを取れるようになることが有る. θ0の導入によって最適化問題は
minimize 12‖θ|2 subject to yt(θTxt+θ0)≥1 for all t=1,...,n
となる.θ0は制約項においてだけ考慮する. θ0はまさしくgeometric marginを最大化するためにのみ導入されるのである.
Properties of the Maximum Margin Linear Classifier
Benefits
解はtraining dataが与えられるたびに一意に決まり,geometric marginが最大になるようにboundaryを引くから,データのノイズに対して頑強である. さらに,marginの上のexampleたち(support vectors)のみによってパラメータは決まる(これが利点であるか否かを言うには,classifierの良さをより形式的に測る方法を議論する.).
training examplesのみが与えられたときのclassifierの性能をはcross-validationによって計量される. これは単純に,training dataのある部分集合だけを使ってclassifierを訓練し,そのclassifierが選ばれなかったtraing examplesに対する成績を計測していくのである. leave-one-out cross-validationはそのような方法の一つで,traing dataから1つだけexampleを取り出して訓練を行い,取り出されたexampleを正しく判別できたか否かをたしかめ,これをtraing data全てに繰り返す. 右肩に−iを置くことでi番目のexampleを取り出して訓練したときのパラメーターを表すとすると,
leave-one-out CV error =1nn∑i=1Loss(yi,f(xi;θ−i,θ−i0))
である.ただしLoss(y,y′)={1 (y≠y′)0 otherwise とする. leave-one-out CV errorが低いとよくgeneralizeできていると考えられるが,保証されているわけではない.
maximum margin linear classifierにおいて,あるexampleを除いて訓練を行ってそのexampleを判別し損ねるというのは,そのexampleがsupport vectorであるときであって,
leave-one-out CV error≤numberofsupportvectorsn
である. よって,support vectorが少ないほどよい.これを解のsparse(疎)性質という.
Problems
たった一つのexampleであっても,labelが間違っていると完全にmaximum margin classifierを変化させてしまう.
Allowing Misclassified Examples, Relaxation
labelを間違えることはよく有ることだから,これに弱いというのは致命的なので,mislabelに強くする工夫が必要である. うまく判別できないデータが与えられたとして,それがmislabelによるのか,あるいは線形分離不可能だからなのかを知ることは困難である. どちらにせよ, traing exampleに対する正確性と,未知のexampleに対する正確性にはトレードオフの関係が有ることを肝に銘じなければならない.
maximum margin classifierをmislabelに頑強にする最も単純な方法の一つにslack variableの導入が有る. それぞれのexampleに対して,どれほどmarginの内側に来てしまうかを計量し,それのtraing dataの和を小さくするようにobjective functionに付け加えるのである.形式的には
minimize12‖θ‖2+Cn∑t=1ξt
subject to yt(θTxt+θ0)≥1−ξt and ξt≥0 for all t=1,...n
となる.ξtがslack variableである. example xtがmarginを内側にはみ出るときξt>0となって,objective functionにCξtを加え,1/2‖θ‖2の最少化を阻害し,未知のdataに対する頑強さを減じる. Cを小さくするとよりmislabelに強いが未知のexampleに弱く,Cを大きくするとmislabelに弱いが未知のexampleに強くなる.Cが極端に大きくなると,slack variableを考えないのと同じことになる.
0 件のコメント:
コメントを投稿