smo算法实现关于KKT条件的图解

《机器学习实战》6.2小节

 

1 #这句是检测 当前样本点i 是否满足KKT条件的
2 if (alphas[i, :] < C and E_i * labelMat[i, :] < -tolerence) or \
3                     (alphas[i, :] > 0 and E_i * labelMat[i,:] > tolerence):  
4   # do something

 

这是我的理解:

 

考虑一种情形,存在一样本点,α<C,且标签yi=-1,该样本在当前超平面下的预测的间隔为g(xi)。
若预测正确,样本点应在间隔边界yi=-1以下,g(xi) < -1,ei = g(xi) - yi < 0。
考虑 α<C 时的另一种情形,标签yi=+1 时,样本点应在间隔边界yi=1以上, g(xi) > 1, ei > 0。
综合yi =±1 ,当 α<C 时,yi * ei > 0 。否则,样本点在不满足KKT条件。

猜你喜欢

转载自www.cnblogs.com/pertinencec/p/9334963.html