本博客系原创作品,转载请注明出处http://blog.youkuaiyun.com/JYZhang_CVML/article/details/57409618
算法综述
- 首先对数据进行 unsupervised 分类,进行 Hierarchical Clustering 操作,得到分层聚类结构。
- 给定一些标记好样本,可以在上一步得到的分层聚类结构的基础上得到 classification map 和 confidence map(评价聚类被赋予给定类别的置信度)。
- 采用AL算法选择最有信息量的样本,来增加分类的置信度。
算法背景
如何利用分层聚类方法进行半监督图像分类:
对于完成 hierarchical clustering 的分层聚类结构,算法利用用户提供的一些标记的样本优化聚类的分类。其中有算法采用主动查询方式提高分类收敛速度。但是存在下面几个问题:
4. 算法是基于分层聚类结构的算法,是 bottom-up 结构,因此并不适合于大规模使用。
5. 主动学习查询方法只考虑查询到底查询哪个聚类。在确定查询哪个聚类之后,具体查询聚类中那个点是随机的。因此,主动查询方法的有效性有所影响。
算法流程
6. (a)图是 分层聚类结果(无监督结果)
7. (b)图是 给定一系列标记好的样本,算法找到分层聚类结果的最优cut结果对应于观察到的类别(c)。
8. 一旦找到最优的cut结果,就需要查询新的标记的样本。
9. 上述步骤是迭代过程。
总的来说,最后分类结果和两个方面有关:分层聚类的representation效果 + 查询点的数量和代表性
通过最小化分类误差找到分层聚类结果的cut结果——如何得到图(b)
核心思想:为了最小化分类误差,必须在cut结果的每个节点内利用一些标记的样本。
通过节点
v
中的样本总数
nv
和其中属于类别
w=[1,,,c]
的样本数量
lv,w
的比例 来判断节点
v
属于类别
按道理来说,
pv,w
可以对节点
v
的所有类别
为了解决上述分类概率
其中 ,
是节点
v
有标记样本数量
时,将对应类别
w
作为结点
因此,如何求节点 v 的类别? —— 直接关系 classification map
(1). 首先计算对于节点
(2). 考虑相容的类别
w
,取相容类别中概率最大的类别作为结点
如何求误差(置信度)? ——直接关系 confidence map
如何寻找最小化分类误差的cut结果——直接关系分类结果输出
大致来说,从root节点开始往下走。对每个分层聚类结构的节点求其类别和误差(如上面两个部分所示),若满足 ,表明节点
v
分裂成节点
通过 Active Learning 挑选最具有信息量的样本
完成了最优cut的选择,得到最小化分类误差的分类结果。
然后算法可以通过迭代过程,查询其他样本的标签来 refine
pv,w
从而进一步减小分类误差。
那么,自然而然的想法:如何更有效的选择样本?——Active Learning
AL挑选查询样本
- 挑选在哪个节点处挑选查询样本。选择
最小的节点。
- 在上述节点内如何挑选查询样本。(主要创新点)
根据节点内部分裂情况,选择子分裂节点的一个,一步一步往下做,最后到达样本层面,就可以得到具体挑选那个样本了。(思想真的很简单。)
总结
总的来说,写这篇博文的主要意义在于梳理一下 分层采样这样的一个经典的分类方法,以及一种给出的改进方法~
特别要注意的地方在于:
(1). 算法的整体基础在于 unsupervised 分类器得到的 分层聚类树形结构,并不是像传统算法利用的是 supervised 分类器。最后得到分类结果是在给定标记好样本的基础上,以最小化分类误差为目的,对分层聚类树形结构的cut结果。
(2). 所以算法的优劣还取决于分层聚类树形结构得到的稳定性。现在做遥感图像的趋势在于联合空间信息构建分层聚类树形结构,增强这个无监督算法的聚类效果。
(3). 通过主动学习策略,迭代查询的方法,逐步增大标记好的样本集的数目,增大
pv,w
,提高分类的置信度。千万千万要注意~算法输出的是 分类结果 和 概率结果,而且最优cut也是在这两个的基础上得到的。
本文介绍了一种基于分层聚类的半监督图像分类方法。该方法先进行无监督的分层聚类,再结合少量标记样本优化分类结果,并通过主动学习策略迭代提升分类精度。
2895

被折叠的 条评论
为什么被折叠?



