我正在处理一个问题,采用主动学习协议会非常有帮助(例如,给定一组未标记的数据与现有模型进行比较,算法请求“oracle”对未标记数据的子集进行标记)。
有没有人有关于在SVM中实现主动学习的例子(使用池抽样、委员会查询或其他方法, preferably in python)?
回答:
在Python中实现主动学习非常简单。对于最简单的情况,您只需选择决策函数绝对值最小的新样本进行查询,这基本上就是简单的不确定性抽样,只需要一行代码!假设您有一个二元分类,训练好的SVM在clf
中,一些未标记的示例在X
中,您只需选择
sample = X[np.argmin(np.abs(clf.decision_function(X)))]
您还可以在GitHub上找到许多不同的实现,例如去年ECML关于主动学习的论文的实现:https://github.com/gmum/mlls2015