支持向量机迭代方法实现详解
1. 索引选择策略
在实现过程中,索引选择是一个关键问题。通常,我们首先只对那些拉格朗日乘子既不在上边界也不在下边界的样本进行循环。当所有这些样本都满足条件后,我们再对所有违反KKT条件的样本进行循环,以确保整个数据集的自一致性,从而解决索引i的选择问题。
在处理噪声数据时,在子集达到完全自一致性之前,对整个违反KKT条件的数据集进行迭代有时是很有用的。否则,会花费大量的计算资源来使那些并非全局自一致的子集达到自一致。一个技巧是,当非边界变量的变化小于10%时,对数据进行一次全扫描。
选择索引j时,为了朝着最小值迈出大步,我们寻找使$\Delta\alpha_i$变化较大的样本。由于计算所有可能的对$(i,j)$的$\Delta\alpha_i$代价较高,我们采用一种启发式方法来最大化拉格朗日乘子$\alpha_i$的变化,即最大化表达式(10.72)和(10.83)中分子的绝对值。这意味着我们要寻找相对误差$f(x_i) - y_i$和$f(x_j) - y_j$差异较大的样本。选择对应最大绝对值的索引j。
如果这种启发式方法失败,即这种选择没有取得明显进展,我们将按照以下“第二选择层次”的方法查看其他索引j:
1. 查看所有对应非边界样本的索引j,寻找能取得进展的样本。
2. 如果第一种启发式方法不成功,分析所有其他样本,直到找到能取得进展的样本。
3. 如果前两步都失败,SMO算法将继续处理下一个索引i。
2. SMO算法伪代码
2.1 SMO分类算法伪代码
funct
超级会员免费看
订阅专栏 解锁全文
1411

被折叠的 条评论
为什么被折叠?



