感知机对偶形式手算过程

李航《统计学习方法》第二章

 

 手算过程开始

符号说明:(A,B)表示A与B的内积 

首先\alpha _{i}都是0,因为每个都没有误分,因此b=\alpha_{i}*y_{i}=0*1+0*1+0*-1=0,所以这就是表2.2的第一列

接着,就是进入迭代过程,首先计算第一个点

\\y_{i}(\sum \alpha yx_{i} *x_{j}+b)\\=1*(0*1*(3,3)+0*1*(4,3)+0*-1*(1,1),(3,3))+0\\=0

那么就出现误分类,则此时\alpha_{1}=1,\alpha_{2}=0,\alpha_{3}=0,而b=1*1+0*,+0*-1=1,这就是表2.2的第二列

接着进行判断,第二个点,发现没有误分类,进行判断第三个点

\\y_{i}(\sum \alpha yx_{i} *x_{j}+b)\\=-1*((1*1*(3,3)+0*1*(4,3)+0*-1*(1,1),(1,1))+1)\\=-1*(((3,3),(1,1))+1)\\=-(6+1)\\=-7<0 

因此该点为误分类点,此时\alpha_{1}=1,\alpha_{2}=0,\alpha_{3}=1,而b=1*1+0*,+1*-1=0,这就是表2.2的第三列

接着进行判断该样本是否被正常分类

\\y_{i}(\sum \alpha yx_{i} *x_{j}+b)\\=-1*((1*1*(3,3)+0*1*(4,3)+1*-1*(1,1),(1,1))+0)\\=-1*(((2,2),(1,1))+0)\\=-(4+0)\\=-4<0

 

因此该点 仍为误分类点,此时 \alpha_{1}=1,\alpha_{2}=0,\alpha_{3}=2,而b=1*1+0*,+2*-1=-1,这就是表2.2的第四列 

因为这个点仍然没有被分类正确,所以接着还进行判断该点,

\\y_{i}(\sum \alpha yx_{i} *x_{j}+b)\\=-1*((1*1*(3,3)+0*1*(4,3)+2*-1*(1,1),(1,1))-1)\\=-1*(((1,1),(1,1))-1)\\=-(2-1)\\=-1<0 

因此该点仍然被错分,此时\alpha_{1}=1,\alpha_{2}=0,\alpha_{3}=3,而b=1*1+0*,+3*-1=-2,emm,电子版这里出错了,纸质版没问题,下面是纸质版的表格,,手打出来

k01234567
  x_{1}x_{3}x3x3x1x3x3
\alpha_{1}

0

1111222
\alpha_{2}00000000
\alpha_{3}00123345
b010-1-2-1-23

这才是对的,和我算的一致。后面的部分不算了,就这个意思。至于书上说Gram矩阵是干什么的,我的理解是编程时候,先算出来,然后进行计算内积的时候,不用先相加在算内积,而是先算内积再相加,这样能减少计算过程。

### 动计SVM对偶问题求解超平面 #### 构建原始优化问题 支持向量机的目标是在特征空间中找到一个最优的分离超平面,使得不同类别的样本被尽可能宽的间隔分隔开。对于线性可分的情况,原始优化问题可以表示为: ```math \min_{w,b} \frac{1}{2}\|w\|^2 \\ s.t. y_i(\langle w, x_i\rangle+b)\geq 1,\quad i=1,...,N ``` 其中 \(y_i\) 是第 \(i\) 个训练样本的真实标签 (\(+1\) 或者 \(-1\)),\(x_i\) 表示对应的输入特征向量。 #### 形成拉格朗日函数并推导对偶问题 为了处理上述带有不等式约束的优化问题,采用拉格朗日乘子法构建拉格朗日函数: \[L(w,b,a)=\frac{1}{2}\|w\|^2-\sum^n_{i=1}a_i[y_i(\langle w,x_i\rangle+b)-1]\] 这里 \(a_i\) 称作拉格朗日乘子[^1]。接着按照标准流程分别关于 \(w\) 和 \(b\) 进行偏微分操作,并令其等于零来获得极值条件下的关系表达式。最终得到简化后的对偶形式如下所示: \[max_a W(a)=-\frac{1}{2}\sum^{n}_{i,j=1}a_ia_jy_iy_jK(x_i,x_j)+\sum^n_{i=1}a_i\\ s.t.\begin{cases} a_i\ge0,i=1...n\\ \sum^n_{i=1}a_iy_i=0 \end{cases}\] 这里的 \(K(x_i,x_j)\) 就是我们常说的核函数,在线性情况可以直接取内积运即 \(K(x_i,x_j)=<x_i,x_j>\)。 #### 解决对偶问题获取模型参数 一旦解决了这个二次规划(QP)问题之后就可以确定各个样本点所对应的支持向量以及相应的权重系数 \(a_i\) 。特别注意的是只有那些位于边界上的点才会具有非零的 \(a_i\) ,这些点被称为支持向量(Support Vectors),它们决定了最后形成的决策面的位置和方向[^4]。 #### 计偏差项 b 的值 当获得了所有的 \(a_i\) 后,可以通过任一支持向量 (假设编号为 k ) 来估计偏置项 \(b\) : \[b=y_k-\sum^n_{j=1}a_jy_j<x_j,x_k> \] 需要注意的是实际应用当中通常会选取多个支持向量平均化此过程以提高数值稳定性[^5]。 #### 总结 综上所述,通过以上步骤完成了从原始问题到对偶问题再到具体实现的工推导工作,这不仅加深了对支持向量机内部机制的理解同时也为进一步探索更复杂的变种提供了理论基础。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值