我正在研究一个问题,它将极大地受益于主动学习协议(例如,与现有模型相比,给定一组未标记数据,该算法要求由“oracle”标记未标记数据的子集)。
有没有人在支持向量机(最好是python)中实现主动学习(使用池抽样、委员会查询或其他方式)的示例?
发布于 2016-05-03 19:31:44
在python中实现主动学习是非常直接的。对于最简单的情况,您只需选择要查询的新样本,在学习的支持向量机(简单不确定性抽样)上具有最小绝对值的decision_function (简单不确定性抽样),它基本上只有一行长!假设您有一个二进制分类,在clf中使用受过训练的svm,在X中有一些未标记的示例,那么您只需选择
sample = X[np.argmin(np.abs(clf.decision_function(X)))] 您也可以在github上找到许多不同的实现,比如去年ECML:https://github.com/gmum/mlls2015的AL论文的实现。
发布于 2017-06-28 02:58:57
基于池的抽样的两种常用查询策略是不确定性抽样和委员会查询(详见纸 )。以下库实现了三种常见的不确定性策略:最小自信、最大裕度和熵,以及两种委员会策略:投票熵和平均KL散度:https://github.com/davefernig/alp
该库与scikit-learn兼容,可以与任何分类器一起使用。它使用随机次抽样作为基线来衡量主动学习的益处。
https://stackoverflow.com/questions/37012320
复制相似问题