| 2 | 1/1 | 返回列表 |
| 查看: 789 | 回復(fù): 1 | ||
tuburfransth金蟲 (正式寫手)
|
[求助]
關(guān)于支持向量機(jī)的SMO算法偽代碼中有一些問題請教大家 已有1人參與
|
|
CODE: target = desired output vector point = training point matrix procedure takeStep(i1,i2) if (i1 == i2) return 0 alph1 = Lagrange multiplier for i1 y1 = target[i1] E1 = SVM output on point[i1] – y1 (check in error cache) s = y1*y2 Compute L, H via equations (13) and (14) if (L == H) return 0 k11 = kernel(point[i1],point[i1]) k12 = kernel(point[i1],point[i2]) k22 = kernel(point[i2],point[i2]) eta = k11+k22-2*k12 if (eta > 0) { a2 = alph2 + y2*(E1-E2)/eta if (a2 < L) a2 = L else if (a2 > H) a2 = H } else { Lobj = objective function at a2=L Hobj = objective function at a2=H if (Lobj < Hobj-eps) a2 = L else if (Lobj > Hobj+eps) a2 = H else a2 = alph2 } if (|a2-alph2| < eps*(a2+alph2+eps)) return 0 a1 = alph1+s*(alph2-a2) Update threshold to reflect change in Lagrange multipliers Update weight vector to reflect change in a1 & a2, if SVM is linear Update error cache using new Lagrange multipliers Store a1 in the alpha array Store a2 in the alpha array return 1 endprocedure procedure examineExample(i2) y2 = target[i2] alph2 = Lagrange multiplier for i2 E2 = SVM output on point[i2] – y2 (check in error cache) r2 = E2*y2 if ((r2 < -tol && alph2 < C) || (r2 > tol && alph2 > 0)) { if (number of non-zero & non-C alpha > 1) { i1 = result of second choice heuristic (section 2.2) if takeStep(i1,i2) return 1 } loop over all non-zero and non-C alpha, starting at a random point { i1 = identity of current alpha if takeStep(i1,i2) return 1 } loop over all possible i1, starting at a random point { i1 = loop variable if (takeStep(i1,i2) return 1 } } return 0 endprocedure main routine: numChanged = 0; examineAll = 1; while (numChanged > 0 | examineAll) { numChanged = 0; if (examineAll) loop I over all training examples numChanged += examineExample(I) else loop I over examples where alpha is not 0 & not C numChanged += examineExample(I) if (examineAll == 1) examineAll = 0 else if (numChanged == 0) examineAll = 1 } 代碼見上方,我想請教代碼中的return 0和return 1執(zhí)行后有什么結(jié)果?還有E1 = SVM output on point[i1] – y1 (check in error cache)這行代碼怎么理解? |
| 2 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 一志愿西交大080500材料學(xué)碩349 +4 | jqx1258 2026-03-31 | 5/250 |
|
|---|---|---|---|---|
|
[考研] 一志愿085600中科院寧波所276分求調(diào)劑 +12 | 材料學(xué)257求調(diào)劑 2026-03-28 | 13/650 |
|
|
[考研] 347求調(diào)劑 +11 | 山頂見α 2026-03-25 | 11/550 |
|
|
[考研] 材料科學(xué)與工程調(diào)劑 +12 | 深V宿舍吧 2026-03-30 | 13/650 |
|
|
[考研] 320分,材料與化工專業(yè),求調(diào)劑 +10 | 一定上岸aaa 2026-03-27 | 14/700 |
|
|
[考研] 一志愿鄭大材料工程290求調(diào)劑 +12 | Youth_ 2026-03-30 | 12/600 |
|
|
[考研] 370求調(diào)劑 +3 | 080700調(diào)劑 2026-03-30 | 3/150 |
|
|
[考研] 085601材料工程找調(diào)劑 +17 | oatmealR 2026-03-29 | 18/900 |
|
|
[考研] 求調(diào)劑 +10 | 家佳佳佳佳佳 2026-03-29 | 10/500 |
|
|
[考研] 334分 一志愿武理 材料求調(diào)劑 +16 | 李李不服輸 2026-03-26 | 16/800 |
|
|
[考研] 342求調(diào)劑 +4 | 加油a李zs 2026-03-26 | 4/200 |
|
|
[考研] 求化學(xué)調(diào)劑 +11 | wulanna 2026-03-28 | 11/550 |
|
|
[考研] 求調(diào)劑 +4 | QiMing7 2026-03-25 | 5/250 |
|
|
[考研] 311求調(diào)劑 +6 | 冬十三 2026-03-24 | 6/300 |
|
|
[考研] 一志愿南昌大學(xué)324求調(diào)劑 +5 | hanamiko 2026-03-29 | 5/250 |
|
|
[考研] 327求調(diào)劑 +6 | 汲亦昊 2026-03-29 | 6/300 |
|
|
[考研] 352分-085602-一志愿985 +5 | 海納百川Ly 2026-03-29 | 5/250 |
|
|
[考研] 本科新能源科學(xué)與工程,一志愿華理能動285求調(diào)劑 +3 | AZMK 2026-03-27 | 5/250 |
|
|
[考研]
|
y7czhao 2026-03-26 | 10/500 |
|
|
[考研] 305求調(diào)劑 +5 | 哇盧卡庫 2026-03-26 | 5/250 |
|