SVM 拉格朗日函数法求解实例:正例 (1,1), (1,0) 和负例 (0,1)
首先,我们需要将数据转换为线性可分的形式。我们可以将数据点 (1,1) 和 (1,0) 分别标记为正例,将数据点 (0,1) 标记为负例。我们将目标函数表示为:
minimize 1/2 * w^T * w
subject to:
- y1(w^T * x1 + b) >= 1
- y2(w^T * x2 + b) >= 1
- y3(w^T * x3 + b) >= 1
其中,x1=(1,1),y1=1;x2=(1,0),y2=1;x3=(0,1),y3=-1。
使用拉格朗日函数法,我们需要构建拉格朗日函数:
L(w,b,α) = 1/2 * w^T * w - α1(y1(w^T * x1 + b) - 1) - α2(y2(w^T * x2 + b) - 1) - α3(y3(w^T * x3 + b) - 1)
其中,α1、α2、α3是拉格朗日乘子。
我们需要求解对 w 和 b 的偏导数,并令其等于 0:
∂L/∂w = 0 => w = Σαiyixi
∂L/∂b = 0 => Σαiyi = 0
将 w 代入目标函数,我们可以得到:
minimize 1/2 * Σαiαjyiyjxi^T * xj - Σαiyi
subject to: Σαiyi = 0 αi >= 0 αi(yi(w^T * xi + b) - 1) = 0
我们需要使用 SMO 算法来求解这个最小化问题。最终,我们得到的分类器为:
w = (α1 - α2)x1 + (α3 - α2)x3 = (0, 2)
b = y2 - w^T * x2 = -1
分类函数为:
f(x) = sign(w^T * x + b) = sign(2x2 - 1)
这个分类器将 (1,1) 和 (1,0) 分类为正例,将 (0,1) 分类为负例。
原文地址: http://www.cveoy.top/t/topic/nZlk 著作权归作者所有。请勿转载和采集!