Auf die Implementierung einer soft-margin SVM-Modell mit Hilfe von Matlab die quadprog?

Nehmen wir an, wir erhalten eine Trainings-dataset {yᵢ, xᵢ} für i = 1, ..., n, wo yᵢ kann entweder -1 oder 1 und xᵢ kann es sich z.B. um ein 2D-oder 3D-Punkt.

Im Allgemeinen, wenn die Eingabe Punkte sind Linear trennbar, das SVM-Modell kann wie folgt definiert werden

min 1/2*||w||²
w,b

vorbehaltlich der Einschränkungen (für i = 1, ..., n)

y*(w*x- b) >= 1

Dies ist oft als die hard-margin SVM-Modell, das ist so ein constrained minimization problem, wo die unbekannten sind w und b. Wir können auch weglassen 1/2 in der Funktion minimiert werden, da es nur eine Konstante.

Nun, die Dokumentation über Matlab ist quadprog Staaten

x = quadprog(H, f, A, b) minimiert 1/2*x'*H*x + f'*x vorbehaltlich der Einschränkungen A*x ≤ b. A ist eine matrix verdoppelt, und die b ist ein Vektor, der verdoppelt.

Realisieren wir für Sie die hard-margin-SVM-Modell mit quadprog - Funktion, um das Gewicht vector w wie folgt

  • H wird eine identity-matrix.
  • f' wird ein Nullen der matrix.
  • A ist das Links-hand-Seite der Nebenbedingungen
  • b gleich -1 weil die ursprüngliche Einschränkung hatte >= 1 es wird <= -1 wenn wir multiplizieren Sie mit -1 auf beiden Seiten.

Nun, ich bin versucht zu implementieren eine soft-margin SVM-Modell. Die Minimierung der Gleichung hier ist

min (1/2)*||w||² + C*(∑ ζᵢ)
w,b

vorbehaltlich der Einschränkungen (für i = 1, ..., n)

y*(w*x- b) >= 1 - ζᵢ

so, dass ζᵢ >= 0, wo ist das summensymbol, ζᵢ = max(0, 1 - yᵢ*(w*xᵢ - b)) und C ist ein hyper-parameter.

Wie können diese Optimierungsprobleme gelöst werden mit der Matlab ist quadprog Funktion? Es ist mir nicht klar, wie die Gleichung zugeordnet werden soll, die Parameter der quadprog Funktion.

Den "ur" form der soft-margin SVM-Modell (d.h. in der definition oben) kann umgewandelt werden in ein "dual" form. Das Tat ich, und ich bin in der Lage zu Holen Sie sich die Lagrange-variable Werte (in der dual-form). Allerdings würde ich gerne wissen, wenn ich quadprog zu lösen direkt die ur-form, ohne Sie zu konvertieren, um die duale form.

InformationsquelleAutor user1067334 | 2013-03-20
Schreibe einen Kommentar