读取svm数据并使用更多数据进行再训练
Read svm data and retrain with more data?
我正在实现面部表情识别,并使用SVM对给定的表情进行分类。当我训练时,我使用这个命令行
svm.train(myFeatureVector,myLabels,Mat(),Mat(), myParameters);
svm.save("myClassifier.yml");
稍后我将使用进行预测
response = svm.predict(incomingFeatureVector);
但当我想训练不止一次(退出程序并重新开始)时,它似乎覆盖了我以前的svm文件。有没有什么方法可以让我读取以前的svm文件,并向其中添加更多数据(然后重新保存,等等)?我查阅了这份openCV文档,却一无所获。然而,当我在这一页上阅读时;有一种方法称为CvSVM::read。我不知道该怎么做/如何实现。
希望有人能帮助我:(
您试图做的是增量学习,但不幸的是,支持向量机是一种批处理算法,因此,如果您想添加更多数据,您必须再次对整个集合进行重新训练。
有在线学习替代方案,如Pegasos SVM,但我不知道在OpenCV 上实现了任何替代方案
相关文章:
- C++中的多维数据集:从 std::vector 的 2D 数据到 std::vector 的 2D 网格的最干净方法?
- C++多态数据结构
- C++,在对象内分配多个数据时,堆栈分配是否更有效? 在下面的程序中,类A_Heap的效率会更低吗?
- 多维数据集ai中的ai_float是什么
- dlibkrr_trainer在多维数据上给出错误
- 用于多维数据访问的重载 () 运算符
- 我想使用 I2C 接收从 arduino 到 raspberry pi 的多个数据
- SQLBindParameter 要么说它需要更多的数据,要么忽略我的值
- 使用 C++ 类定义多个数据结构
- 现代 OpenGL 多维数据集旋转未按预期工作
- 对多个数据成员进行排序
- CppRestSDK 如何发布多部分数据
- OpenGL 第一个多维数据集渲染不起作用
- 我们如何从BOOST :: ASIO :: TCP :: ip :: read_some呼叫中顺序接收多个数据
- CPP中的单个参考代表两种或多个数据类型
- 开罗要求阅读比我从PNG创建和ImageSurface时要多的数据时该怎么办
- C++标准是否允许复制任意多态数据结构?
- C++:使用 for 循环创建多个数据结构
- 类中的静态函数给出了错误:声明中的两种或多个数据类型
- 一次发布多个数据