具有非负权重的 SVM

机器算法验证 机器学习 分类 支持向量机 libsvm 计算机视觉
2022-04-18 12:13:27

可以通过解决以下问题获得 SVM 分类器,

argmin12W22+Cimax(0,1yi(WTxi+b))

其中W是超平面(或权重),b是偏差,yi 是标签,xi是实例i的特征。

出于某种原因,我需要约束W中的所有元素都应该是非负的,即wj0,j偏差可以采用任何值。

  1. 这合理吗?
  2. 如果是,是否有任何我可以直接使用的包(例如 liblinear)?
  3. 如何使用非负约束优化W
2个回答

最初,我认为模型很好,但我不知道任何包可以直接解决这个模型。

一种方法是,您可以尝试编写此问题的对偶形式。我相信这将是一个带有额外非负约束的 QP 问题。

或者,您也可以尝试找到一些单独更新wi的算法,以便您可以用wi=max(wi,0)稍微重写迭代公式。

正如@Ben Dai 所建议的那样,这看起来将是一个具有不等式约束的二次规划问题。有各种通用的二次编程包可用于解决该问题,例如 MATLAB 优化工具箱中的quadprog例程。这只是我使用过的例程,但还有许多其他软件包可以解决此类问题。