主动深度学习用于高光谱图像分类

文献Active Deep Learning for Classification of Hyperspectral Images

了解知识: RBM 受限波尔茨曼机:https://zhuanlan.zhihu.com/p/24989699
提取数据特征,有点像自动编码器。一类具有两层结构的、对称链接无自反馈的随机神经网络模型(一种特殊的马尔科夫随机场)。

  • 什么是主动学习?
    在某些情况下,没有类标签的数据相当丰富而有类标签的数据相当稀少,并且人工对数据进行标记的成本又相当高昂。在这种情况下,我们可以让学习算法主动地提出要对哪些数据进行标注,之后我们要将这些数据送到专家那里让他们进行标注,再将这些数据加入到训练样本集中对算法进行训练。这一过程叫做主动学习。
    主动学习方法一般可以分为两部分: 学习引擎选择引擎。学习引擎维护一个基准分类器,并使用监督学习算法对系统提供的已标注样例进行学习从而使该分类器的性能提高,而选择引擎负责运行样例选择算法选择一个未标注的样例并将其交由人类专家进行标注,再将标注后的样例加入到已标注样例集中。学习引擎和选择引擎交替工作,经过多次循环,基准分类器的性能逐渐提高,当满足预设条件时,过程终止。
  • 首先一个研究点是选择新样本的标准,这已经在早期被研究过了。
    其中x是候选样本,xn是一个未标记的任意样本,S表示两者之间相似度,phi函数表示样本的不确定性。后者物理意义是让选择的x尽可能具有代表性。(similarity and uncertainty)
    这里写图片描述
    A. 代表性估计(稀疏性)
    比如说KLdivergence,高斯相似度,局部流形相似度。这里使用到的是稀疏表示模型。DBN从输入到输出可以看做是一个学习特征和降维的过程。然而传统的字典学习方法比如KSVD无法应用到深度网络的主动学习过程中。
    B. 信息熵做不确定性估计
    样本x基于当前的分类器得到属于各个类的概率,其熵表示为:
    这里写图片描述
    (意味着越难确定类别的样本越值得下一轮得到标记去学习)
    深度网络中,输入x,经过各种映射到隐含层h,h会得到其标签向量y,定义h的熵为:
    这里写图片描述
    h可以看成样本经过非线性变换,降维后(提取特征后)的表示,更准确。

    • 基于稀疏表示和不确定性的主动学习
      X与H是一一对应的。之后一直使用隐含层的h,将h稀疏表示结合主动学习。
      原始的训练样本使用无监督的深度网络训练,输出作为字典D。之后每次主动学习新得到一部分原子d加入原始字典中
      这里写图片描述
      D是原始字典,E是要新加入的字典,后一项结合uncertainty的估计后变为:
      主动深度学习用于高光谱图像分类_第1张图片
      固定一个更新另一个。

根据H中各个元素的不确定性从大到小存储,假设每次迭代更新m个样本,选择前m个h作为新的原子加入字典,
使用权重的OMP算法,一个任意的ri投影到新加入的原子集d上,选择最匹配的。同时考虑d原子的不确定性,有:
这里写图片描述
字典更新环节:字典原子是自己从候选集中悬着的,前m个最不确定的样本需要挨个更新。使用内积估计原子的代表性,如果一个d和其他样本的内积都很大,那么它很有代表性(这点存疑)。引入样本的不确定性,有:
这里写图片描述
求解得到: 这里写图片描述 SVD分解。
其实不需要每个其他样本r都被算入。

参考文献:Active Deep Learning for Classification of Hyperspectral Images, JSTARS

你可能感兴趣的:(高光谱分类,主动学习)