我正在为libsvm计算C和gama的值。我的训练数据大小是Mat(28539,96);但这种搜索需要很长时间。自从过去两天我的笔记本电脑开启,仍在搜索中。如何解决这个问题,任何人都有任何想法。帮助将不胜感激
答案 0 :(得分:1)
网格搜索可能是一个非常漫长的过程,尤其是当有大量数据时。
你能做的是:
例如,如果您希望每次以2 ^ 0到2 ^ 15检查C,并且具有更高的2的幂,您将对C值执行16次训练。如果你想尝试1到5之间的伽玛,你将为每个伽玛进行5次训练。
总的来说,网格搜索将进行16 * 5的训练。如果训练一个模型需要10秒钟,那么您将需要等待800秒才能完成整个网格搜索。
请注意,随着C变大,计算需要更多时间,因此您可能会使用最大的C值来估计训练一个模型的时间。
一种推荐的方法是使用整个范围开始,然后缩小范围和步长,以便每次网格搜索保持合理的训练次数。
示例:
等等,一旦你对结果感到满意。
答案 1 :(得分:1)
如果您使用grid.py - 在里面找到参数
telnet_workers = []
ssh_workers = []
nr_local_worker = 1
您可以在其中配置外部帮助程序和本地线程数。尝试增加本地线程的数量,直到您的机器(接近)100%加载。