SVM by Sequential Minimal Optimization (SMO).ppt

上传人:testyield361 文档编号:389532 上传时间:2018-10-14 格式:PPT 页数:19 大小:429.50KB
下载 相关 举报
SVM by Sequential Minimal Optimization (SMO).ppt_第1页
第1页 / 共19页
SVM by Sequential Minimal Optimization (SMO).ppt_第2页
第2页 / 共19页
SVM by Sequential Minimal Optimization (SMO).ppt_第3页
第3页 / 共19页
SVM by Sequential Minimal Optimization (SMO).ppt_第4页
第4页 / 共19页
SVM by Sequential Minimal Optimization (SMO).ppt_第5页
第5页 / 共19页
亲,该文档总共19页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、SVM by Sequential Minimal Optimization (SMO),Algorithm by John Platt Lecture by David Page CS 760: Machine Learning,Quick Review,Inner product (specifically here the dot product) is defined as Changing x to w and z to x, we may also write:or or wTx or w x In our usage, x is feature vector and w is w

2、eight (or coefficient) vector A line (or more generally a hyperplane) is written as wTx = b, or wTx - b = 0 A linear separator is written as sign(wTx - b),Quick Review (Continued),Recall in SVMs we want to maximize margin subject to correctly separating the data that is, we want to:Here the ys are t

3、he class values (+1 for positive and -1 for negative), so says xi correctly labeled with room to spare Recall is just wTw,Recall Full Formulation,As last lecture showed us, we can Solve the dual more efficiently (fewer unknowns) Add parameter C to allow some misclassifications Replace xiTxj by more

4、more general kernel term,Intuitive Introduction to SMO,Perceptron learning algorithm is essentially doing same thing find a linear separator by adjusting weights on misclassified examples Unlike perceptron, SMO has to maintain sum over examples of example weight times example label Therefore, when S

5、MO adjusts weight of one example, it must also adjust weight of another,An Old Slide: Perceptron as Classifier,Output for example x is sign(wTx) Candidate Hypotheses: real-valued weight vectors w Training: Update w for each misclassified example x (target class t, predicted o) by: wi wi + h(t-o)xi H

6、ere h is learning rate parameter Let E be the error o-t. The above can be rewritten asw w hEx So final weight vector is a sum of weighted contributions from each example. Predictive model can be rewritten as weighted combination of examples rather than features, where the weight on an example is sum

7、 (over iterations) of terms hE.,Corresponding Use in Prediction,To use perceptron, prediction is wTx - b. May treat -b as one more coefficient in w (and omit it here), may take sign of this value In alternative view of last slide, prediction can be written as or, revising the weight appropriately, P

8、rediction in SVM is:,From Perceptron Rule to SMO Rule,Recall that SVM optimization problem has the added requirement that: Therefore if we increase one by an amount h, in either direction, then we have to change another by an equal amount in the opposite direction (relative to class value). We can a

9、ccomplish this by changing: w w hEx also viewed as: yhE to:1 1 y1h(E1-E2)or equivalently: 1 1 + y1h(E2-E1)We then also adjust 2 so that y11 + y22 stays same,First of Two Other Changes,Instead of h = or some similar constant, we set h = or more generally h =For a given difference in error between two

10、 examples, the step size is larger when the two examples are more similar. When x1 and x2 are similar, K(x1,x2) is larger (for typical kernels, including dot product). Hence the denominator is smaller and step size is larger.,Second of Two Other Changes,Recall our formulation had an additional const

11、raint:Therefore, we “clip” any change we make to any to respect this constraintThis yields the following SMO algorithm. (So far we have motivated it intuitively. Afterward we will show it really minimizes our objective.),Updating Two s: One SMO Step,Given examples e1 and e2, setwhere:Clip this value

12、 in the natural way: if y1 = y2 then:otherwise:Set where s = y1y2,Karush-Kuhn-Tucker (KKT) Conditions,It is necessary and sufficient for a solution to our objective that all s satisfy the following:An is 0 iff that example is correctly labeled with room to spare An is C iff that example is incorrect

13、ly labeled or in the margin An is properly between 0 and C (is “unbound”) iff that example is “barely” correctly labeled (is a support vector)We just check KKT to within some small epsilon, typically 10-3,SMO Algorithm,Input: C, kernel, kernel parameters, epsilon Initialize b and all s to 0 Repeat u

14、ntil KKT satisfied (to within epsilon): Find an example e1 that violates KKT (prefer unbound examples here, choose randomly among those) Choose a second example e2. Prefer one to maximize step size (in practice, faster to just maximize |E1 E2|). If that fails to result in change, randomly choose unb

15、ound example. If that fails, randomly choose example. If that fails, re-choose e1. Update 1 and 2 in one step Compute new threshold b,At End of Each Step, Need to Update b,Compute b1 and b2 as followsChoose b = (b1 + b2)/2 When 1 and 2 are not at bound, it is in fact guaranteed that b = b1 = b2,Deri

16、vation of SMO Update Rule,Recall objective function we want to optimize:Can write objective as:where:Starred values are from end of previous round,1 with everybody else,2 with everybody else,all the other s,Expressing Objective in Terms of One Lagrange Multiplier Only,Because of the constraint , eac

17、h update has to obey: where w is a constant and s is y1y2 This lets us express the objective function in terms of 2 alone:,Find Minimum of this Objective,Find extremum by first derivative wrt 2:If second derivative positive (usual case), then the minimum is where (by simple Algebra, remembering ss = 1):,Finishing Up,Recall that w = andSo we can rewriteas: = s(K11-K12)(s2*+1*) +y2(u1-u2+y11*(K12-K11) + y22*(K22-K21) +y2y2 y1y2We can rewrite this as:,Finishing Up,Based on values of w and v, we rewroteas:From this, we get our update rule:where,u1 y1,u2 y2,K11 + K22 2K12,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学课件 > 综合培训

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1