看周志华老师写的机器学习,看的头都要掉了,记下笔记给自己点耐心接着看下去,希望能够有所收获,第13章:半监督学习 的部分内容。
13.1 未标记样本unlabeled sample
(1)主动学习active learning:
数据集:一部分已标记样本Dl;一部分未标记样本Du。
进行如下过程:
1.使用Dl训练一个模型
2.拿已训练的模型挑选样本,并询问相关专家标记
3.把新获得标记的样本放入Dl中重新训练模型
以此反复……
为降低标记成本,每次挑选出对于模型性能改变较大的样本,只需将这些样本询问专家便可获得较好的模型,此过程为“主动学习”。
(2)半监督学习semi-supervised learning:
概念:让学习器不与外界交互,自动利用未标记样本来提升学习性能。
为利用未标记样本,对其数据分布信息与类别标记相联系的假设:聚类假设、流行假设
分为:纯半监督学习、直推学习
(3)聚类假设cluster assumption、流行假设manifold assumption:
cluster assumption:假设样本数据存在簇结构,同一个簇的样本属于同一个类别。
manifold assumption:假设数据分布在一个流行结构上,邻近的样本有相似的输出值。
实际上均是“相似的样本拥有相似的输出”,体现的空间维度就是“相近者相似”
(4)纯半监督学习pure semi-supervised learning、直推学习transductive learning:
pure semi-supervised learning:假定训练数据中未标记样本 非 待预测数据
transductive learning:假定训练数据中未标记样本 是 待预测数据
纯半监督学习最终测试数据未知,而直推学习最终测试数据为数据集中未标记数据。
13.2 生成式方法generative method
生成式方法(generative methods)是基于生成式模型的方法。先假定所有的数据都有同一个潜在模型生成,样本中的未标记数据就可看做模型的缺失参数,然后用EM方法进行极大似然估计来求解。
给定样本x,其真实类别标记为y
∈
\in
∈Y,其中Y=
{
\lbrace
{ 1,2,…,N
}
\rbrace
} 为所有可能的样本类别。假定样本x由高斯混合模型生成,每一个类别对应一个高斯混合成分。高斯混合成分概率密度如下:
p
(
x
)
=
∑
i
=
1
N
α
i
∗
p
(
x
∣
u
i
,
ϵ
i
)
p(x)=\sum_{i=1}^N\alpha_i *p(x|u_i,\epsilon_i)
p(x)=i=1∑Nαi∗p(x∣ui,ϵi)
其中混合系数
α
k
≥
0
\alpha_k\geq0
αk≥0 ,
∑
k
=
1
N
α
i
=
1
\sum_{k=1}^N\alpha_i=1
∑k=1Nαi=1;
p
(
x
∣
u
i
,
ϵ
i
)
p(x|u_i,\epsilon_i)
p(x∣ui,ϵi)是样本x属于第i个高斯混合成分的概率;
u
i
u_i
ui为第i个高斯分布的均值,
ϵ
i
\epsilon_i
ϵi为第i个高斯分布的协方差矩阵。
定义
θ
∈
{
\theta\in\lbrace
θ∈{ 1,2,…,N
}
\rbrace
} 表示样本属于的高斯混合成分。 最大化后验概率:
f
(
x
)
=
a
r
g
m
a
x
j
∈
Y
p
(
y
=
j
∣
x
)
=
a
r
g
m
a
x
j
∈
Y
∑
i
=
1
N
p
(
y
=
j
,
θ
=
i
∣
x
)
=
a
r
g
m
a
x
j
∈
Y
∑
i
=
1
N
p
(
y
=
j
∣
θ
=
i
,
x
)
∗
p
(
θ
=
i
∣
x
)
\begin{aligned} f(x)& =\underset{j\in Y}{argmax}\ p(y=j|x)\\ & =\underset{j\in Y}{argmax}\ \sum_{i=1}^N p(y=j,\theta=i|x) \\ & =\underset{j\in Y}{argmax}\ \sum_{i=1}^N p(y=j|\theta=i,x)*p(\theta=i|x) \end{aligned}
f(x)=j∈Yargmax p(y=j∣x)=j∈Yargmax i=1∑Np(y=j,θ=i∣x)=j∈Yargmax i=1∑Np(y=j∣θ=i,x)∗p(θ=i∣x)
其中
p
(
y
=
j
,
θ
=
i
∣
x
)
p(y=j,\theta=i|x)
p(y=j,θ=i∣x)表示样本x,由第i个高斯分布生成且类别为j的概率,此时的i是一个变量;
p
(
y
=
j
∣
θ
=
i
,
x
)
p(y=j|\theta=i,x)
p(y=j∣θ=i,x)表示样本x由第i个高斯分布生成,类别为j的概率,此时的i代表已知量;
p
(
θ
=
i
∣
x
)
p(\theta=i|x)
p(θ=i∣x)代表样本x由第i个高斯分布生成的概率。
p
(
y
=
j
∣
θ
=
i
,
x
)
p(y=j|\theta=i,x)
p(y=j∣θ=i,x)需要知道样本的标记,只能使用有标记的数据;
p
(
θ
=
i
∣
x
)
p(\theta=i|x)
p(θ=i∣x) 并不涉及样本标记,因此大量引入未标记样本可以使得此项更为准确从而提升整体的性能。
p
(
θ
=
i
∣
x
)
=
α
i
∗
p
(
x
∣
u
i
,
ϵ
i
)
∑
i
=
1
N
α
i
∗
p
(
x
∣
u
i
,
ϵ
i
)
p(\theta=i|x)=\quad {\alpha_i *p(x|u_i,\epsilon_i) \over \sum_{i=1}^N\alpha_i *p(x|u_i,\epsilon_i)}
p(θ=i∣x)=∑i=1Nαi∗p(x∣ui,ϵi)αi∗p(x∣ui,ϵi)
假定第i的高斯混合分布生成的分布对应第i个类别,则 p(y=j|\theta=i,x)=1当且仅当i=j;否则其值=0。因假设i=3取第3个高斯分布而生成的数据,y=3的概率是1,y为其他类的概率全是0.
给定有标记的样本集
D
l
=
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
…
,
(
x
l
,
y
l
)
}
D_l=\lbrace(x_1,y_1),(x_2,y_2),…,(x_l,y_l)\rbrace
Dl={(x1,y1),(x2,y2),…,(xl,yl)} 和未标记样本集
D
u
=
{
(
x
l
+
1
,
y
l
+
1
)
,
(
x
l
+
2
,
y
l
+
2
)
,
…
,
(
x
l
+
u
,
y
l
+
u
)
}
D_u=\lbrace(x_{l+1},y_{l+1}),(x_{l+2},y_{l+2}),…,(x_{l+u},y_{l+u})\rbrace
Du={(xl+1,yl+1),(xl+2,yl+2),…,(xl+u,yl+u)},l<<u,l+u=m.假设所有样本独立同分布,且均有同一个高斯混合模型生成。用极大似然法估计高斯混合模型参数,
D
l
∪
D
u
D_l\cup D_u
Dl∪Du的对数似然为
L
L
(
D
l
∪
D
u
)
=
∑
(
x
j
,
y
j
)
∈
D
l
l
n
(
∑
i
=
1
N
α
i
∗
p
(
x
j
∣
u
i
,
ϵ
i
)
∗
p
(
y
j
∣
θ
=
i
,
x
j
)
)
+
∑
(
x
j
,
y
j
)
∈
D
u
l
n
(
∑
i
=
1
N
α
i
∗
p
(
x
j
∣
u
i
,
ϵ
i
)
)
LL(D_l\cup D_u)=\underset{(x_j,y_j)\in D_l}{\sum} ln(\sum_{i=1}^N\alpha_i *p(x_j|u_i,\epsilon_i)*p(y_j|\theta=i,x_j))+\underset{(x_j,y_j)\in D_u}{\sum}ln(\sum_{i=1}^N\alpha_i *p(x_j|u_i,\epsilon_i))
LL(Dl∪Du)=(xj,yj)∈Dl∑ln(i=1∑Nαi∗p(xj∣ui,ϵi)∗p(yj∣θ=i,xj))+(xj,yj)∈Du∑ln(i=1∑Nαi∗p(xj∣ui,ϵi))
基于有标记样本的
D
l
D_l
Dl的有监督项,只在特定的簇中出现,当i=j时取1;而基于无标记样本簇的
D
u
D_u
Du项在所有簇中都可能出现。而后基于EM算法对上式中的各参数求解。
此法需要模型假设的准确,训练才会产生较好的结果;否则利用未标记的数据反而会降低泛化性能。
13.3半监督SVM semi-supervised support vector machine,S3VM
不考虑未标记样本,SVM试图找到最大间隔划分超平面;考虑未标记样本,S3VM试图找到将两类有标记样本分开且穿过数据低密度区域的划分超平面。这里的低密度区域应该指S3VM的划分超平面尽量穿过较少的样本数据。
半监督支持向量中最著名的TSVM(Transductive support vector machine),此方法主要针对二分类问题。它先对未标记样本进行正例或者反例指派,然后在这些结果中寻求一个在所有样本上间隔最大化的划分超平面。此超平面所对应的未标记样本的最终标记指派就是其预测结果。
给定有标记的样本集
D
l
=
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
…
,
(
x
l
,
y
l
)
}
D_l=\lbrace(x_1,y_1),(x_2,y_2),…,(x_l,y_l)\rbrace
Dl={(x1,y1),(x2,y2),…,(xl,yl)} 和未标记样本集
D
u
=
{
(
x
l
+
1
,
y
l
+
1
)
,
(
x
l
+
2
,
y
l
+
2
)
,
…
,
(
x
l
+
u
,
y
l
+
u
)
}
D_u=\lbrace(x_{l+1},y_{l+1}),(x_{l+2},y_{l+2}),…,(x_{l+u},y_{l+u})\rbrace
Du={(xl+1,yl+1),(xl+2,yl+2),…,(xl+u,yl+u)},l<<u,l+u=m.TSVM的学习目标
D
u
D_u
Du中样本给出预测表及
y
^
=
(
y
^
l
+
1
,
y
^
l
+
2
,
.
.
.
,
y
^
l
+
u
)
\hat{y}=(\hat{y}_{l+1},\hat{y}_{l+2},...,\hat{y}_{l+u})
y^=(y^l+1,y^l+2,...,y^l+u),
y
^
∈
{
−
1
,
+
1
}
\hat{y}\in\lbrace-1,+1\rbrace
y^∈{−1,+1},使得
其中
ξ
\xi
ξ为松弛变量,
C
l
C_l
Cl和
C
u
C_u
Cu是由用户指定的用于平衡模型复杂度、有标记样本与未标记样本重要程度的折中参数。具体过程:
1.利用有标记样本学得一个SVM
2.利用这个SVM对为标记数据进行标记指派(此时所有样本均有标记,得到一个标准SVM)
3.利用样本数据求得结果
4.找出两个标记指派为异类且很可能发生错误的未标记样本,交换标记
5.增大
C
u
C_u
Cu,进行4过程,直到
C
u
=
C
l
C_u=C_l
Cu=Cl
具体算法步骤于300页。比较容易理解。
针对类别不平衡问题,使得
C
u
C_u
Cu拆成
C
u
+
C^+_u
Cu+(正例使用未标记数)和
C
u
−
C^-_u
Cu−(反例使用未标记数),初始化时,使
C
u
+
=
u
−
u
+
C
u
−
C^+_u=\frac{u_-}{u_+}C^-_u
Cu+=u+u−Cu−
因其计算开销大,半监督SVM研究的重点是设计高效的优化求解策略,由此发展的方法有基于图核函数梯度下降的LDS、基于标记均值估计的meanS3VM等。