机器学习分类过程中,如果遇到多个分类器表现差不多,想综合各个分类器的优势时,可以考虑多分类器投票,即VOTING的方法,也可以考虑learning to rank的方法优选偏重于正确分类标签的预测得分组合。下面简单总结一下使用svmrank进行集成学习的方法。
首先把数据分为训练集、验证集、测试集,然后都进行特征提取和量化训练集(training):
原始数据,每一列都是特征,用来提取原始特征,训练多个基分类器
验证集(developing):
结合多个基分类器对每种类别的得分,训练集成分类器
测试集(testing):
最终测试用
######ranksvm数据格式######
验证集和测试集
根据svmrank的输入形式构建
验证集示例:
1 qid:1 1:0.8 2:0.2 3:0.2 4:0.1 5:0.5 #l1
0 qid:1 1:0.1 2:0.7 3:0.2 4:0.4 5:0.3 #l2
0 qid:1 1:0.1 2:0.1 3:0.6 4:0.5 5:0.2 #l3
第一步:不必说,使用原始数据训练基分类器,每个基分类器都对验证集数据进行预测,对验证集的每一个sample,不同基分类器对应不同的类别有不同的得分,上例中,第一行的5个特征1:~5:,即表示5个基分类器对于类别l1的不同预测得分,同理第二行和第三行
第二步:按照如上形式构建数据格式,上例的三行表示一共有三个待判断类别l1~l3,正确的类标为l1,