我已经获取了一组面部特征,并希望使用SVM进行分类。我打算使用libsvm包,并通过MATLAB进行训练。我已经通过观看斯坦福大学的讲座了解了SVM的相关知识。但是我不知道如何使用libsvm开始训练…需要一些指导…
回答:
在MATLAB中,你可以将你的MATLAB代码与用C语言实现的一些程序链接。这被称为mex文件。
然而,你需要编译它们才能使其工作。
你可以阅读自述文件来了解如何编译它们:
安装
在Unix系统上,我们推荐使用GNU g++作为编译器,并输入’make’来构建’svmtrain.mexglx’和’svmpredict.mexglx’。请注意,我们假设你的MATLAB安装在’/usr/local/matlab’,如果不是,请在Makefile中更改MATLABDIR。
示例:linux> make
要使用Octave,请输入’make octave’:
示例:linux> make octave
在Windows系统上,预构建的二进制文件已经在`..\windows’目录中,因此无需进行安装。现在我们同时包含了32位和64位的二进制文件,但在未来的版本中,我们将仅为Windows上的64位MATLAB提供二进制文件。如果你修改了源代码并希望重新构建包,请在MATLAB中输入’mex -setup’首先选择一个mex编译器。然后输入’make’开始安装。
示例:
matlab> mex -setup
(提示:MATLAB将显示以下消息来设置默认编译器。)请选择用于构建外部接口(MEX)文件的编译器:你希望mex查找已安装的编译器吗[y]/n?y 选择一个编译器:1 Microsoft Visual C/C++ 7.1版本在C:\Program Files\Microsoft Visual Studio [0] 无 编译器:1 请验证你的选择:编译器:Microsoft Visual C/C++ 7.1 位置:C:\Program Files\Microsoft Visual Studio 这些正确吗?([y]/n):y
matlab> make
有关MATLAB支持/兼容的编译器列表,请查看以下页面: