目录
前面两个分类相当于是做一个适配器,将原本属于监督学习和无监督学习中的方法用在半监督学习中。本小节主要是介绍本质上的半监督学习方法。它将无标签数据损失加入到目标函数中。
1 Maximum-margin methods
这个分类里面的经典的就是将SVM从有监督迁移到半监督,考虑无标记样本构造最佳超平面。这个方法偏数学,在这里就不详细介绍了。
2 Perturbation-based methods
基于扰动
的方法,感觉这个方法产生的原因很简单,无标记样本没有标签,那么无论是回归还是分类,都没有对错之分,那么怎么产生一种损失
的概念加入到目标函数
中呢?
Answer:
训练两个网络,这里需要一些tricks
来使得两个网络有差异,总之就是不能一样,不然两个模型的预测一样,损失就没有意义了。扰动
就是这样的一个trick
,比较常见的就是在模型的每一层添加噪声
。
2.1 Ladder networks
2.2 Pseudo-ensembles
相比于上一个模型(Ladder networks)是对数据做扰动
,这个模型则是对模型
进行扰动。文中叙述,对于以神经网络为基础实现的模型,一种突出的扰动模型的方法是Dropout
。这个概念理解应该比较普遍,在这里还是赘述一下,就是在神经网络的训练过程中按照某种策略丢掉一些神经元连接(不在是全连接的状态),这种丢掉的策略就是Dropout
。
E
ξ
∼
Ξ
[
1
l
⋅
∑
i
=
1
l
L
(
f
~
θ
(
x
i
;
ξ
)
,
y
i
)
]
+
E
ξ
∼
Ξ
[
1
n
⋅
∑
i
=
1
n
∑
k
=
2
K
λ
k
⋅
V
k
(
f
θ
k
(
x
i
)
,
f
~
θ
k
(
x
i
;
ξ
)
)
]
(1)
\begin{aligned} &\underset{\xi \sim \Xi}{\mathbb{E}}\left[\frac{1}{l} \cdot \sum_{i=1}^{l} \mathcal{L}\left(\tilde{f}_{\boldsymbol{\theta}}\left(\mathbf{x}_{i} ; \xi\right), y_{i}\right)\right] \\ &\quad+\underset{\xi \sim \Xi}{\mathbb{E}}\left[\frac{1}{n} \cdot \sum_{i=1}^{n} \sum_{k=2}^{K} \lambda_{k} \cdot \mathcal{V}_{k}\left(f_{\boldsymbol{\theta}}^{k}\left(\mathbf{x}_{i}\right), \tilde{f}_{\boldsymbol{\theta}}^{k}\left(\mathbf{x}_{i} ; \xi\right)\right)\right] \end{aligned}\tag{1}
ξ∼ΞE[l1⋅i=1∑lL(f~θ(xi;ξ),yi)]+ξ∼ΞE[n1⋅i=1∑nk=2∑Kλk⋅Vk(fθk(xi),f~θk(xi;ξ))](1)
等式1,表示的是Pseudo-ensembles模型的损失函数,是一种比较宽泛的表达,其中没有明确规定对于模型扰动的具体实现方法。从中可以得知,损失函数分为两部分,第一个部分表示有监督部分的损失,第二个部分表示无监督部分的损失。值得注意的是,其中无监督损失表达的是未标记数据点对于扰动网络
的一致性。