【问题标题】:How to start SVM training on MATLAB如何在 MATLAB 上开始 SVM 训练
【发布时间】:2012-01-23 23:22:33
【问题描述】:

我已经获得了一组面部特征,并希望使用 SVM 进行分类。我打算使用 libsvm 包并使用 MATLAB 进行培训。我已经通过观看斯坦福讲座了解了 SVM。但我不确定如何使用 libsvm 启动.. 需要一些指导...

【问题讨论】:

  • matlab/readme 中有哪些不明白的部分?
  • matlab文件夹下怎么会有.c文件和.m文件?
  • 你用的是linux还是windows?

标签: matlab machine-learning svm libsvm


【解决方案1】:

在 matlab 中,您可以将您的 matlab 代码与一些用 c 实现的程序链接起来。这称为mex-file

但是你需要编译它们,让它工作。

您可以阅读自述文件以了解如何编译它们:

安装

在 Unix 系统上,我们建议使用 GNU g++ 作为编译器和类型 'make' 来构建 'svmtrain.mexglx' 和 'svmpredict.mexglx'。注意 我们假设您的 MATLAB 安装在“/usr/local/matlab”中,如果没有, 请更改 Makefile 中的 MATLABDIR。

示例: linux>制作

要使用 Octave,请输入“make octave”:

例子:linux>制作八度

在 Windows 系统上,预构建的二进制文件已经在 目录`..\windows',所以不需要进行安装。现在我们 包括 32 位二进制文​​件和 64 位二进制文​​件,但将来 发布时,我们将仅在 64 位 MATLAB 上提供二进制文件 视窗。如果您修改了源代码并想重新构建 包,在 MATLAB 中键入“mex -setup”以选择用于 mex 的编译器 第一的。然后输入“make”开始安装。

例子:

    matlab> mex -setup

(ps:MATLAB 将显示以下消息以设置默认编译器。) 请选择您的编译器来构建外部接口 (MEX) 文件: 您希望 mex 找到已安装的编译器 [y]/n 吗?是的 选择编译器: 1 C:\Program Files\Microsoft Visual Studio 中的 Microsoft Visual C/C++ 7.1 版 [0] 无 编译器:1 请验证您的选择: 编译器:Microsoft Visual C/C++ 7.1 位置:C:\Program Files\Microsoft Visual Studio 这些正确吗?([y]/n): y

    matlab> make

有关 MATLAB 支持/兼容的编译器列表,请查看 以下页面:

http://www.mathworks.com/support/compilers/current_release/

【讨论】:

  • 你只需要启动 SVM 吗?
  • 之后,您可以运行自述文件剩余部分中提供的示例代码
  • 尝试安装Microsoft Visual Studio Express Edition,它会安装lcc。将其用作 mex 的编译器。
  • 好的,如果你不设法编译它。您应该尝试复制预编译版本....它位于 libsvm-3.1/windows/ 中...将所有这些复制到与 .m 文件相同的目录中。再试一次
  • 复制到你说的m个文件所在的文件夹?
猜你喜欢
  • 2016-06-09
  • 2012-04-23
  • 2012-02-21
  • 2015-05-04
  • 2015-07-25
  • 2014-11-03
  • 1970-01-01
  • 2014-01-29
  • 2019-01-31
相关资源
最近更新 更多