作为一个苦逼的大四学生,做毕业设计是大学生涯的最后一击,这一击要如何声声有力呢?答案就是努力耕耘!

 

因为以后可能要从事神经网络、机器学习方面的研究,导师就给了一个极端学习机(ELM)的课题给我。一开始当然是一头雾水,一大堆参考文档,每篇要看好几遍才有头绪,而一个寒假放回来,导师说进度太慢了,要马上运行一下代码,然后就开始做现有数据的分析了。所以这几天一直在弄libsvm的运行和安装。以下是遇到的问题:

 

1、用mex -setup时找不到C++的编译器

原因:安装的是matlab 7.0 Microsoft Visual Studio 2010,matlab的版本太低了,找不到相应的C++编译器,所以后来再安装matlab R2011b,再用mex -setup就可以找到相应的编译器

 

2make的时候提醒...svm.cpp can't found

原因:libsvm的文件夹下还有一个matlab的文件夹,要把Current Folder设置为matlab文件夹,这时就可以make成功了

 

3、在load heart_scale时,出现error,提示如下:

Error using load

Number of columns on line 2 of ASCII file D:\Matlab2011b\bin\libsvm\heart_scale

must be the same as previous lines。

原因:上网查了一下,在《Rachel Zhang的专栏》中找到解决办法,原来是有两个数据集,一个是C++的,一个是matlab的,libsvm要加载的是C++数据库,而我下载的libsvm -3.16并没有heart_scale.mat这个格式文件,解决方法如下:

1、下载matlab数据集(http://download.csdn.net/detail/abcjennifer/4215779

2、用libsvmread而非load,就是这里

 libsvmread('heart_scale');

workspace 出现新的变量 heart_scale_inst heart_scale_label 就成功了。