dlib 的 dcd 训练器的“热启动”选项是不是仅适用于 1 类分类?
Posted
技术标签:
【中文标题】dlib 的 dcd 训练器的“热启动”选项是不是仅适用于 1 类分类?【英文标题】:is the 'warm start' option of dlib's dcd trainer only for 1-class classification?dlib 的 dcd 训练器的“热启动”选项是否仅适用于 1 类分类? 【发布时间】:2018-03-14 20:45:30 【问题描述】:我正在将dlib
用于使用 SVM 对医学图像进行分类的程序。因为图像很大(许多特征,比如 10000 到 100000)并且我使用线性内核,所以听起来 svm_c_linear_dcd_trainer
是一个很好的类。
我喜欢svm_c_linear_dcd_trainer
类的另一个原因是它声称支持“热启动”,因此如果经常在样本中添加/减去单个观察值(例如在 LOOCV 中),这对于长向量是有效的.
但svm_c_linear_dcd_trainer
的唯一示例使用 one_class 分类。文档建议实现热启动的 force_last_weight_to_1
选项仅用于 1 类分类。
这是真的吗,即这个热启动选项是否不适用于二进制分类?在那种情况下,另一种实现会更快吗?
【问题讨论】:
【参考方案1】:这不是限制。您是否阅读了该课程的文档? http://dlib.net/dlib/svm/svm_c_linear_dcd_trainer_abstract.h.html#svm_c_linear_dcd_trainer 在 dlib 的文档中,它说热启动仅限于一类分类。 svm_c_linear_dcd_trainer 的文档甚至没有提到我所看到的一个类分类。
【讨论】:
什么是“dob”? 感谢您的回答!在文档中并没有真正说明如何进行热启动?我在示例程序中找到了 force-to-1 选项的链接,那里的 cmets 让我认为它是针对 1 类分类器的...... "但是抛开empirical_kernel_map,将线性SVM变成一类SVM最重要的步骤如下。我们在每个特征向量的末尾附加一个-1值,然后告诉训练师将此功能的权重强制为 1。” 好的。那只是在谈论如何构造一个类分类器。阅读 api 文档以了解特定的 dlib 对象。 好的,所以热启动是由optimizer_state
类模板和使用它的train()
函数完成的,与强制权重为1 或偏差无关。我找到了active_learning.h
示例,现在它更有意义了!以上是关于dlib 的 dcd 训练器的“热启动”选项是不是仅适用于 1 类分类?的主要内容,如果未能解决你的问题,请参考以下文章