本博客系原创作品,转载请注明出处:http://blog.youkuaiyun.com/jyzhang_cvml/article/details/56682231
本文接着上篇博客的思路往下走,继续研究SSL和AL的结合使用。本次解读的文章为“Semi-supervised Self_Learning for Hperspectral Image Classification”。
传统监督学习的问题
数据维度很高+labeled数据量很少,因此会造成分类器的过拟合。但是与此同时,unlabeled 样本的数量很多。因此,自然而然的会有考虑,我们能否利用未标记的样本来提高分类器的分类精度。现有的利用未标记数据的技术有:Semi-supervised Learning,Active Learning 和 直推学习。
传统Semi-supervised Learning的不足
传统的SSL需要满足下面几点要求:
- 新的未标记样本能够很轻松的获得。(这点很容易满足)
- unlabeled sampling 样本(即利用标记样本推断的unlabeled 样本)数量不能太多,以避免计算复杂度。
unlabeled sampling 样本需要具有很高的信息性和实用性,以避免confuse 分类器。
根据上面所提到的后面两点要求,不能全部将high confidence的样本作为伪标记样本(即上面所提的unlabeled sampling样本)。因此需要采用 active learning 的方法智能地挑选最具有价值的样本作为伪标记样本,从而满足上述要求,而且与传统的AL方法比,将AL引入SSL框架的方法更加降低砖家的标注工作(因为伪标注样本都是高置信度的,直接可以通过分类器完成标注)。
本文的创新点
灵活地将各种AL选择策略应用于 self-learning (SSL方法)框架中,实现机器学习算法自动挑选最有价值的unlabeled sampling (伪标注样本)应用于分类问题,以实现充分利用未标记样本提高分类器性能的目标。
本文所基于的假设
我们需要注意,主动学习更倾向于选择在分类器层面 high uncertainty ,在标注层面 high confidence 的样本。
本章的应用对象是多光谱的遥感图像,如何找到 high confidence 的区域?基于下面的假设:
- 本文采用MLR分类器(或者概率的SVM),利用样本的光谱信息完成样本的分类。
需要注意的是:在遥感图像中,空间位置相邻的样本更有可能属于同一类。因此标注好的样本周围的样本,具有更高的置信度。
因此在半监督的分类过程中,完成 high confidence 样本的确定。
算法大致流程
- high confidence 样本的选择。首先通过MLR得到所有样本的分类结果(基于更新好的标注样本集),然后根据相邻像素的同类假设,最后得到 high confidence 样本。
本质上来说,所谓的 high confidence样本的选择,其实也就是两个分类器联合作用的结果。分类器1 = MLR,分类器2=找到标记样本邻域的样本并将其标记成对应类别,越近对应类别的概率越大。high confidence 的样本就是分类器1和分类器2结果相同的样本。
其实和QBC算法中,置信度最高样本的确定方法是一样的。 - high uncentainty 样本的选择。对于上面得到的 high confidence 样本,我们采用主动学习的方法,挑选其中 high uncentainty 样本。
算法细节
Semi-supervised Learning 得到 high confidence 样本
对于MLR分类器(概率的SVM也适用),基于 labeled 样本和 unlabeled sampling 样本(伪标记样本)可以训练得到MLR分类器的参数。
需要主要如何利用空间信息,完成分类器2的构建:
对于每个训练MLR分类器的标记样本,取其邻域内样本。若MLR分类器预测该邻域内样本类别=该邻域对应标记样本的类别,讲该邻域内对应样本认为具有 high confidence ,其类别就是对应标记样本的类别。
总的来说,传统的 semi-supervised learning 算法,就直接将所有 high confidence 样本直接作为伪标记样本,然后进行迭代操作,完成对MLR分类器的修正refinement操作。而不经过active learning 算法的 high certainty 挑选过程。(自我认为这边总结的可以给100分,不怕骄傲^_^)
然后对于这篇文章来说,还是用了两种分类器。MLR分类器无可厚非,第二种分类器利用空间信息进一步的对样本进行预测。结合这两种分类器对样本进行投票,预测结果相同(领域内样本类别=MLR预测结果)即认为是 high confidence 的样本。
Self-Learning 得到 high confidence+high certainty 样本
对于上面得到的 high confidence 样本集,采用标准 Active Learning 算法自动智能的挑选其中具有high certainty 样本,即 high confidence+high certainty 样本。
文章里面提到了说,基于边界操作的AL算法更加适用于本场景。
流程图
- 给定样本集,其中有一些标记好的样本。
- 通过MLR分类器或者概率的SVM(可以用其他的概率分类器)得到全局分类结果。(分类器1)
- 在标记好的样本邻域内,取所有样本,以及对应分类类别。(分类器2)
- 若分类器1和分类器2的分类结果一致,则认为是 high confidence 样本。(注意该样本同时具有相似的光谱信息和空间位置信息,因此 high confidence 给的类别标签是可靠的)
- 在high confidence 样本中采用Active Learning 的方法挑选最具价值的样本作为伪标记样本。再将伪标记样本加入之前标记好的样本,更新标记好的样本集。从2开始再次迭代,refine 分类器。
总结
本文在semi-supervised learning算法框架中引入AL,主动选择最具价值的样本,以降低原本 high confidence 区域样本的冗余性,从而解决了上面提到的半监督学习存在的问题。
其中分类器1和分类器2的联合使用,其实也是QBC算法的缩影,committe 投票相同的样本就是具有 high confidence 的样本。