可以通过解决以下问题获得 SVM 分类器,
argmin12∥W∥22+C∑imax(0,1−yi(WTxi+b))argmin12‖W‖22+C∑imax(0,1−yi(WTxi+b))
其中WW是超平面(或权重),bb是偏差,yiyi 是标签,xixi是实例ii的特征。
出于某种原因,我需要约束WW中的所有元素都应该是非负的,即wj≥0,∀jwj≥0,∀j。偏差可以采用任何值。
最初,我认为模型很好,但我不知道任何包可以直接解决这个模型。
一种方法是,您可以尝试编写此问题的对偶形式。我相信这将是一个带有额外非负约束的 QP 问题。
或者,您也可以尝试找到一些单独更新wiwi的算法,以便您可以用w∗i=max(wi,0)wi∗=max(wi,0)稍微重写迭代公式。
正如@Ben Dai 所建议的那样,这看起来将是一个具有不等式约束的二次规划问题。有各种通用的二次编程包可用于解决该问题,例如 MATLAB 优化工具箱中的quadprog例程。这只是我使用过的例程,但还有许多其他软件包可以解决此类问题。