我在使用 Svmlight 学习数据集时,总是会在优化过程中看到以下警告。
WARNING: Relaxing epsilon on KT-Conditions (0.010000)......................................................WARNING: Relaxing epsilon on KT-Conditions (0.100000)......................................................WARNING: Relaxing epsilon on KT-Conditions (1.000000)......................................................WARNING: Relaxing epsilon on KT-Conditions (10.00000).....................................................
这个警告重要吗?它意味着什么?目前训练未能成功。这是否与这个警告有关?谢谢。
回答:
KT 条件是 SVM 核心优化问题的一部分。无需深入理论细节,这些条件在达到最优解时会成立。然而,要使 KT 条件完全成立需要进行足够多的迭代,这比使其在 epsilon(一个非常小的数值)范围内成立所需的时间更长。实际上,我们不是说 A 必须等于 B,而是说 A 必须在正负 epsilon 的范围内等于 B。研究发现,这种方法在实践中与花费额外时间使条件完全正确一样有效。
SVM Light 首先尝试使用一个非常小的 epsilon,当它无法解决这个问题时,它会通过增大 epsilon 来放宽条件,试图找到一个解,但显然如果问题无法解决,它会尝试几次然后决定无法解决。
所以我认为这些警告是因为你的问题无法解决,而不是相反的情况。