Advertisement

机器学习16:半监督学习semi-supervised

阅读量:

一、why semi-supervised

在 dataset 中,并非所有样本都进行了 label 标注。具体而言,在某些情况下(即),这些样本对应出现 {输入, 输出} 的形式;而在另一些情况下(即),则存在仅有单一的输入信息 {输入} 的情况

Transductive learning(直推试学习):unlabled数据作为测试集;

Inductive learning(启发式学习):unlabled数据不是测试集。

半监督学习具有显著价值的原因在于:尽管未标注数据的分类结果主要由监督式网络确定,
然而通过使用标注数据不断优化模型参数能够逐步提升其性能,
换句话说,
这种方法不仅能够利用未标注样本的信息进行改进,
而且能够根据测试样本不断调整决策边界;
值得注意的是,
该方法主要通过标注数据训练模型以实现对未标注数据的分类识别,
但其准确性并非绝对保证。

二、主要内容

三、generative model

1、回顾监督学习的generative model:贝叶斯模型

基于这一思路展开,在semi-supervised learning中加入unlabeled数据后,则需要确定新的概率分布,并呈现为这样的形式结构

3、操作步骤:估计新的均值,方差

首先,基于初始的均值与方差,估计每个unlabled数据属于C1的概率;

然后,所有unlabled数据属于C1的概率相加

记做N2,就是这些数据期望是C1的个数,可计算出新的P(C1),进而算出新的均值;

所以,预测模型相应改变了,换上新的数据,反复迭代上述步骤

四、Low-density Separation Assumption

如图所示, 蓝色与黄色分别标记为class1和class2, 绿色区域为unlabeled. 通常情况下, 分界线设置在数据密度较低的区域更为合理. 这里对unlabeled的数据进行了非黑即白的假设.

self-training与generative model的基本思路相似,在方法论上也存在诸多共同点。具体而言,在算法流程上均需通过有标签的数据训练出初始模型,并在此基础上利用此模型对无标签的数据进行预测分析。其区别在于生成型模型基于概率理论构建分类器,并用于估计无标签数据属于各类的概率分布;而自我训练方法则直接标注无标签数据的具体类别归属。在更新机制上,则分别采用了不同的策略以优化分类性能:生成型方法通常依赖于损失函数来衡量预测结果与真实标签之间的差异;而自我训练则多采用伪标签的方式补充辅助信息以提升泛化能力

就self-training而言,在这种情况下对数据进行标注的数据类型属于strict label(严格标签),相比之下generative models typically adopt lenient labeling(生成模型通常采用宽松标签)。值得注意的是如果将lenient labeling策略应用于semi-supervised convolutional networks(半监督卷积神经网络),这些模型可能会导致网络无法正常运行。

五、Loss Function

模型在面对每一个输入时应尽可能地将输出归类到同一类别以减少分类错误的发生概率;其损失函数由带标签数据集对应的交叉熵损失与无标签数据集所对应的熵值之和构成其中可以引入一个权重参数用于平衡这两者之间的损失计算

六、Smoothness Assumption

基于光滑性假设,在损失函数上施加规范化处理是可行的。光滑性假设直接体现为"近朱者赤、近墨者黑"的现象:即当输入越接近的一组数据时(通常指同一类),其分类结果趋于相近。

但是,在这种较为粗略的表达方式下,并不能完全准确地反映实际情况。更为严谨的说法应当是在高密度区域中进行分析时的情况:当输入数值越接近时(即输入值之间的距离减小),输出的结果也会更加接近。具体可见图中示例:若未特别限定为高密度区域,则当输入数值越靠近时(如x1与x2),其对应的输出结果则会是x3和x4之间更为接近的情况。

平滑性假设更倾向于表示数据呈现缓慢而间接的变化过程。例如,在图中编号为2和3的区域直接从像素级别分析后可能会表现出较高的相似度。相比之下,后续的编号为2和3的区域可能表现出更高的相似度。但从变化的角度来看,这些区域可以划分为一类。而Smoothness Assumption正好符合这种逐渐变化的表示方式。

换一种思路探讨,在数据量足够大时,不同类型的节点之间可以通过特定机制相互传递信息或影响关系。这些连接会自然地构成一个高密度区域。根据下图所示的情况(理想状态下),这种高密度区域逐渐演变的过程正是反映了一种类型的间接变化机制。

基于graphical structure的相似度计算可以通过多种方法实现其中最常用的方式是采用K-近邻算法以及增强型算法等

以如下图所示的两种情形为例,在第一组label分别为[1, 1, 1, 0]的情况下,在第二组label分别为[0, 1, 1, 0]的情况下,则从直观感受来看,在第一组label中观察到数据分布更加光滑。并随后进行定量分析以定义平滑度表达式

将上述smoothness的表示成矩阵形式:

最后,在损失函数中纳入smoothness假设作为一种正则项,并与其它正则化手段共同参与最小化过程,在深度学习框架下该假设不仅限于输出层节点可选性,在实际应用中可根据具体情况灵活设置出现在任意一层的可能性

七、Looking for Better Representation

寻找本质,找到更好的表示方法,才能化繁为简,得到最精准有效的模型

全部评论 (0)

还没有任何评论哟~