http://hk.uwenku.com/question/p-vmaehgpf-eg.html
https://github.com/gmum/gmum.r/blob/master/src/svm/svm.cpp
链接1解释了原因:警告是因为LIBSVM使用迭代求解二次优化问题,以求得最大裕度平面,但是在最大迭代次数内,未能找到最大边缘平面,就是说找不到或者限制次数内还没有找到,继续找可能找到。
链接2给出了解决办法,就是这个问题可以 跳过,到达最大限制次数时候使用当前值作为最优解。SVM训练时间和这个迭代次数关系很大,你会发现当你优化参数时,越往后优化越慢,因为有的参数优化时间非常慢,就是因为训练时候二次优化问题迭代次数太多了,比如我设置为1千万,那么刚开始的参数较差,迭代十万次就收敛了,但是后面的迭代了1千万次,就会很慢。可根据情况调整。
链接3是修改过的程序,和原来的程序没什么大差别。
总结起来就是二次优化问题迭代次数太多了,找不到最优平面,但是我们可以以当前优化的结果作为最优解(也就是不用管他,大不想看可以屏蔽语句)。这个值和训练时间也有关系,如果太大的话,参数优化过程中如果出现优化次数非常多,优化过程会很慢(训练时间长)。就这么多。