主动学习(Active Learning,AL)算法属于机器学习和模式识别的研究范畴,主要用来解决监督和半监督分类中的样本选择问题。AL算法通过采集尽量少而优的训练样本实现分类精度的最大化,同时节省人力采样成本和分类耗时。AL是一个迭代过程,表3.2为以Pool-based AL(Catlett和Lewis,1994)为例概括AL算法的基本流程(Tuia等,2011):第一,给定一个没有标记类的样本集,并把这些样本抽象地放入一个池子(Pool)中。第二,利用当前已标记类的少量样本训练分类器得到SVM训练参数,据此对待采样池中的样本进行分类。第三,按AL算法中设计的某种采样规则(见后文)选出分类器认为最有效的样本或样本集,并把这些样本(集)反馈给用户对其所属的类别进行标记。第四,把标记类的样本扩充到当前训练样本中再次训练分类器。重复上述过程,通过逐次选择最优的样本对当前训练样本进行扩充。最后,当达到某个预设的终止条件后结束主动学习过程,对地物进行分类。
主动学习算法的基本流程:
算法描述:
迭代训练分类器并选择最优训练样本,期望利用较少的训练样本得到较高的分类精度。
输入:
:初始训练样本集,χ∈ℝd表示d维的特征空间;yi∈{1,2,…,N}为类号;є=1表示迭代次数。
,є=1:待标记训练样本库。
q:单次迭代需要标记的样本数。
操作步骤:
步骤1:Repeat。
步骤2:利用当前训练样本集Xє训练分类器。(www.xing528.com)
步骤3:For任意点xi∈Uєdo。
步骤4:基于设计的采样方法计算目标函数值Oi。
步骤5:end for。
步骤6:基于Oi大小对xi∈Uє排序,并选择其中最有效的前q个样本:Sє=。
步骤7:用户对Sє的类别赋值,即。
步骤8:扩充原训练样本为Xє+1=Xє∪Sє,同时从Uє中删掉已被选中的样本集,即Uє+1=Uє/Sє。
步骤9:є=є+1
步骤10:Until遇到终止条件。
如上述操作步骤4斜体字标示,AL算法的核心是设计有效的采样方法(QF)。一般来讲,不同的采样方法选取的训练样本集不同。Olsson(2009)和Tuia等(2011)分别针对AL算法在机器学习和遥感影像分类中的应用做了系统的介绍,可将采样方法概况为两类:基于不确定性的采样方法和基于多样性的采样方法。两种方法之间存在一定的联系。一般来讲,基于不确定性的采样方法较适合每次迭代选择一个样本,而在地物类别复杂的分类场景中,常需采集较多的训练样本,因此,采用基于不确定性的采样方法所需的迭代次数多,分类效率低。为提高采样效率,人们期望单次采集h>1个样本,而单纯依靠不确定性采样方法可能导致多个样本间包含相似的信息,对分类结果造成冗余。在此背景下,研究者Brinker(2003)提出了顾及样本多样性的采样方法(Brinker,2003),即单次选出h′≫h个不确定性最大的样本,从中选取多样性最大的h>1个样本。当前基于多样性的采样机制主要有两种:聚类多样性(Cluster-Based Diversity,CBD)和核空间角度多样性(Angle-Based Diversity,ABD)。
虽然加入样本多样性可在一定程度上优化采样机制,提高分类效率,但其操作上具有一定的主观性。例如,基于ABD的采样方法中,通过设定阈值来分配样本不确定性和多样性的权重,并采用线性组合的方式确定最终的采样机制。大量实验表明,阈值设定的优劣会影响样本选择的质量,进而影响分类精度。为避免阈值选择问题,E.Pasolli(2011)尝试利用遗传算法来平衡不确定性和多样性的关系。虽然该方法避免了设定阈值的问题,缩小了有效样本的选择范围,但最终仍需设定主观条件进行采样。此外,实验测试得到的基于SVM的分类结果表明,基于不确定性的采样机制对于分类结果的贡献已较为明显。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。