Ubuntu16.04下MatLab中使用LibLinear工具箱教程(入门级别)
一些必要的说明
可以将LibLinear工具箱看成一个LibSVM工具箱的升级版本,前者更适合多样本多特征的分类问题,二者的编译相同,函数的结构也类似。因为工具箱是在MatLab中使用,所以无关操作系统是win或linux等。
下载LibLinear并编译
下载地址:LibLinear下载地址
安装编译的步骤见我另外一篇博客,步骤是一样的:LibSVM安装编译教程
编译完成后的文件如下,可以看到两个关键函数train和predict。
关键的两个函数
需要知道的是我们的目的是使用工具箱进行数据的分类,那么需要利用训练集构建模型和利用模型对测试集进行预测。
第一个函数:
model = train(train_label, train_instance [, ’ options ', ’ col ']);
第二个函数:
[predict_label, accuracy, values] = predict(test_label, test_instance, model [, ’ options ', ’ col ']);
可以看出需要传入函数四个矩阵,分别是训练集和训练标签,测试集和测试标签。
看一个实例
训练集有1680个样本,每个样本有4096个特征(PyTorch中使用预训练模型vgg19提取特征而来),训练标签对应每个样本(数据集是UCMerced Land-use,一共21类,标号0-20)。
测试集有420个眼本,也是用标签一一对应好了。
加载txt格式数据,会自动生成一个矩阵,使用load语句。
其实语句是很简单的,就是这四个矩阵(或者说这四个txt文件)比较需要花时间得到。最后可以看到准确率为86.67%。
有空我想谢谢如何在PyTorch中进行特征提取,并对每个类别中的照片进行labels的自动生成。