参考博客:https://blog.csdn.net/lin_limin/article/details/81048411
1 背景
1.1 基本背景介绍
避免数据和资源的浪费,解决了监督学习由于数据量较少而引发模型泛化能力不强,和无监督学习的模型不够准确(盲猜)等问题。
所有的半监督学习都需要基于某些假设,半监督算法仅在数据的结构不变的假设下起作用,如果没有这样的假设,不可能从有限的训练集推广到无限的不可见集合(X_test是随机的,属于一个无限集合)。常见的三个假设如下:
1.2 基本假设
- 平滑假设(高密度相似)
稠密区域的两个距离很近的样例类标签相似,即当两个样例被稠密数据区域中的边连接时,它们很大概率下有相同的标签。【距离度量、阈值选取】
- 聚类假设(低密度分离)
当两个样例位于同一聚类簇时,它们在很大的概率下有相同的类标签。这个假设的等价定义为低密度分离假设,即分类决策边界应该穿过稀疏数据区域,而避免将稠密数据区域的样例分到决策边界两侧。
- 流形假设(局部邻域相似)
将高维数据嵌入到低维流形中,当两个样例位于低维流形中的一个小局部邻域内时,它们具有相似的类标签。
2 问题描述
2.1 主动学习与半监督学习【使用了未标记数据的学习划分为两种】
- 主动学习(每次学习都只用有标记数据进行训练)
- 先使用现有的有标签数据训练一个模型
- 将未标签数据进行查询标记,作为真实标记重新进行训练(动态)
下面考虑如何在没有额外信息(主动学习中给未标记样本贴标签)时,充分利用未标记样本,若未标记样本从相同数据源独立同分布采样而来,则其信息具有很大价值。
由此引出两种半监督学习(在未标记样本上取得最佳泛化能力)
-
纯半监督学习(归纳学习)
假设:训练数据中的未标记样本并非待预测的数据(“开放世界”)
直接利用有标记数据和未标记数据(非待测数据)进行训练出一个模型,然后对待测数据进行预测。
目的:希望模型能适用于训练过程中未观察到的数据
-
直推学习
假设:未标记样本恰是待预测数据。(“封闭世界”)
利用有标记数据和未标记数据训练出来的模型,对未标记数据进行预测。
目的:仅试图对学习过程中观察到的未标记数据进行预测
主动学习中给未标签数据贴标签的操作,可以说是直推学习吧?
3 方法介绍
3.1 混合模型与EM算法(最大期望算法)
3.1.1 GMM的引入
为什么要使用高斯混合模型?为了更好的解释,先介绍一下单高斯模型(GSM)
单高斯模型(GSM)
一维高斯分布的概率密度函数:
f ( x ) = 1 2 π σ exp ( − ( x − μ ) 2 2 σ 2 ) f(x)=\frac{1}{\sqrt{2 \pi} \sigma} \exp \left(-\frac{(x-\mu)^{2}}{2 \sigma^{2}}\right) f(x)=2πσ1exp(−2σ2(x−μ)2)
多维高斯分布的概率密度函数:
f ( X ) = 1 ( 2 π ) d / 2 ∣ Σ ∣ 1 / 2 exp [ − 1 2 ( X − u ) T Σ − 1 ( X − u ) ] , X = ( x 1 , x 2 … x n ) f(X)=\frac{1}{(2 \pi)^{d / 2}|\Sigma|^{1 / 2}} \exp \left[-\frac{1}{2}(X-u)^{T} \Sigma^{-1}(X-u)\right], X=\left(x_{1}, x_{2} \ldots x_{n}\right) f(X)=(2π)d/2∣Σ∣1/21exp[−21(X−u)TΣ−1(X−u)],X=(x1,x2…xn)
其中:
d:变量的维度。
u = ( u 1 u 2 ⋯ u n ) u=\left(\begin{array}{c}u_{1} \\ u_{2} \\ \cdots \\ u_{n}\end{array}\right) u=⎝⎜⎜⎛u1u2⋯un⎠⎟⎟⎞:各变量的均值。
协方差矩阵 Σ = [ δ 11 δ 12 δ 21 δ 22 ] \Sigma=\left[\begin{array}{ll}\delta_{11} & \delta_{12} \\ \delta_{21} & \delta_{22}\end{array}\right] Σ=[δ11δ21δ12δ22]:描述各维度变量之间的相关性,以二维高斯分布为例。
上图以二维高斯分布为例,数据主要分布在一个椭圆内部;服从三维的数据集主要在一个椭球内部。
但是许多时候单高斯模型并不适用,例如下图的数据分布:
假设这组数据是由单个高斯分布产生,利用MLE极大似然估计进行参数估计,得到最佳的单高斯分布如下:
从上图可知,椭圆中心的样本量极小,很明显与这个单高斯分布不符,这样的数据分布更像是两个高斯分布混合形成的,此时就需要使用高斯混合模型了。【理论上高斯混合模型能拟合任意分布的样本,只要高斯模型个数足够多,权重设置足够合理】
3.1.2 Gaussian mixture model(GMM)【生成式模型】
假设混合高斯模型由k个高斯模型(k个类)组成,则其概率密度如下:
p ( x ) = ∑ i = 1 N α i p ( x ∣ μ i , Σ i ) \mathrm{p}(x)=\sum_{i=1}^{N} \alpha_{i} p\left(x \mid \mu_{i}, \Sigma_{i}\right) p(x)=∑i=1Nαip(x∣μi,Σi)
α i > 0 , ∑ i = 1 N α i = 1 \alpha_{i}>0, \sum_{i=1}^{N} \alpha_{i}=1 αi>0,∑i=1Nαi=1
其中,混合系数 α i \alpha_i αi表示第i个高斯模型的权重,第i个高斯分布的pdf如下:
p ( x ∣ μ i , Σ i ) = 1 ( 2 π ) n 2 ∣ Σ i ∣ 1 2 e − 1 2 ( x − μ i ) T Σ i − 1 ( x − μ i ) p\left(x \mid \mu_{i}, \Sigma_{i}\right)=\frac{1}{(2 \pi)^{\frac{n}{2}}\left|\Sigma_{\mathrm{i}}\right|^{\frac{1}{2}}} e^{-\frac{1}{2}\left(\mathbf{x}-\boldsymbol{\mu}_{i}\right)^{T} \boldsymbol{\Sigma}_{\mathrm{i}}^{-1}\left(\mathbf{x}-\boldsymbol{\mu}_{i}\right)} p(x∣μi,Σi)=(2π)2n∣Σi∣211e−21(x−μi)TΣi−1(x−μi)
3.1.3 估计单高斯分布的 μ 和 Σ \mu和\Sigma μ和Σ(MLE)
为了确定高斯分布的参数 μ 和 Σ \mu和\Sigma μ和Σ,我们使用极大似然估计MLE进行估计,最大化对数似然函数表示通过样本集的联合概率最大来对参数进行估计,从而选择最佳的分布模型,即估计参数的高斯分布能产生这组样本的可能性最大。
设样本 Y = y 1 , y 2 , . . . , y N Y=y_1,y_2,...,y_N Y=y1,y2,...,yN, p ( y i ∣ μ , Σ ) p(y_i|\mu,\Sigma) p(yi∣μ,Σ)是第i个高斯分布的概率密度函数,表示 Y = y i Y=y_i Y=yi的概率。
假设样本的抽样是独立的,因此同时抽到这N个样本的概率为Y的联合概率,即每个高斯分布的概率密度函数的累乘。
p ( x ∣ μ , Σ ) = 1 ( 2 π ) n 2 ∣ Σ ∣ 1 2 e − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) p\left(x \mid \mu, \Sigma\right)=\frac{1}{(2 \pi)^{\frac{n}{2}}\left|\Sigma\right|^{\frac{1}{2}}} e^{-\frac{1}{2}\left(\mathbf{x}-\boldsymbol{\mu}\right)^{T} \boldsymbol{\Sigma}^{-1}\left(\mathbf{x}-\boldsymbol{\mu}\right)} p(x∣μ,Σ)=(2π)2n∣Σ∣211e−21(x−μ)TΣ−1(x−μ)
L ( μ , Σ ) = L ( y 1 , y 2 … y N ; μ , Σ ) = ∏ i = 1 N p ( y i ; μ , Σ ) L(\mu, \Sigma)=L\left(y_{1}, y_{2} \ldots y_{N} ; \mu, \Sigma\right)=\prod_{i=1}^{N} p\left(y_{i} ; \mu, \Sigma\right) L(μ,Σ)=L(y1,y2…yN;μ,Σ)=∏i=1Np(yi;μ,Σ)
L L ( μ , Σ ) = l n L ( μ , Σ ) = ∑ i N l n p ( y i ; μ , Σ ) LL(\mu, \Sigma)=lnL(\mu, \Sigma)=\sum_i^Nlnp\left(y_{i} ; \mu, \Sigma\right) LL(μ,Σ)=lnL(μ,Σ)=∑iNlnp(yi;μ,Σ)
令 L L ( μ , Σ ) = 0 LL(\mu,\Sigma)=0 LL(μ,Σ)=0,求得的参数即为最佳高斯分布对应的参数。
{ ∂ ln L ∂ μ = 1 Σ 2 ∑ i = 1 N ( x i − μ ) = 0 ∂ ln L ∂ ( Σ ) = − N 2 Σ + 1 2 Σ 2 ∑ i = 1 N ( x i − μ ) 2 = 0 \left\{\begin{array}{c}\frac{\partial \ln L}{\partial \mu}=\frac{1}{\Sigma^{2}} \sum_{i=1}^{N}\left(x_{i}-\mu\right)=0 \\ \frac{\partial \ln L}{\partial\left(\Sigma\right)}=-\frac{N}{2 \Sigma}+\frac{1}{2 \Sigma^{2}} \sum_{i=1}^{N}\left(x_{i}-\mu\right)^{2}=0\end{array}\right. {∂μ∂lnL=Σ21∑i=1N(xi−μ)=0∂(Σ)∂lnL=−2ΣN+2Σ21∑i=1N(xi−μ)2=0
μ M L E = 1 N ∑ i = 1 N x i \mu_{M L E}=\frac{1}{N} \sum_{i=1}^{N} x_{i} μMLE=N1∑i=1Nxi
Σ M L E = 1 N ∑ i = 1 N ( x i − μ M L E ) 2 \Sigma_{M L E}=\frac{1}{N} \sum_{i=1}^{N}\left(x_{i}-\mu_{M L E}\right)^{2} ΣMLE=N1∑i=1N(xi−μMLE)2
3.1.4 估计GMM的参数 ( μ , Σ , α ) (\mu,\Sigma,\alpha) (μ,Σ,α)
- MLE无法对GMM的参数 ( μ , Σ , α ) (\mu,\Sigma,\alpha) (μ,Σ,α)进行估计
引入隐变量 γ \gamma γ,每次采样选择第k个高斯模型的概率,有: p ( γ k = 1 ) = α k p(\gamma_k=1)=\alpha_k p(γk=1)=αk
此时y的条件分布为一个高斯分布: p ( y ∣ γ k = 1 ) = N ( y ∣ μ k , Σ k ) p\left(y \mid \gamma_{k}=1\right)=N\left(y \mid \mu_{k}, \Sigma_{k}\right) p(y∣γk=1)=N(y∣μk,Σk)
而每个样本是由K个高斯模型中的某些模型采样而来,因此样本y的概率为:
p ( y ) = ∑ γ p ( γ ) p ( y ∣ γ ) = ∑ k = 1 K α k N ( y ∣ μ k , Σ k ) p(y)=\sum_{\gamma} p(\gamma) p(y \mid \gamma)=\sum_{\mathrm{k}=1}^{K} \alpha_{k} N\left(y \mid \mu_{k}, \Sigma_{k}\right) p(y)=∑γp(γ)p(y∣γ)=∑k=1KαkN(y∣μk,Σk)
由此可知样本集Y的联合概率为:
L ( μ , Σ , α ) = L ( y 1 , y 2 … y N ; μ , Σ , α ) = ∏ n = 1 N p ( y n ; μ , Σ , α ) = ∏ n = 1 N ∑ k = 1 K α k N ( y n ∣ μ k , Σ k ) L(\mu, \Sigma, \alpha)=L\left(y_{1}, y_{2} \ldots y_{N} ; \mu, \Sigma, \alpha\right)=\prod_{n=1}^{N} p\left(y_{n} ; \mu, \Sigma, \alpha\right)=\prod_{n=1}^{N} \sum_{\mathrm{k}=1}^{K} \alpha_{k} N\left(y_{n} \mid \mu_{k}, \Sigma_{k}\right) L(μ,Σ,α)=L(y1,y2…yN;μ,Σ,α)=∏n=1Np(yn;μ,Σ,α)=∏n=1N∑k=1KαkN(yn∣μk,Σk)
取对数后的对数似然函数为:
ln L ( μ , Σ , α ) = ∑ n = 1 N ln ∑ k = 1 K α k N ( y n ∣ μ k , Σ k ) \ln L(\mu, \Sigma, \alpha)=\sum_{n=1}^{N} \ln \sum_{\mathrm{k}=1}^{K} \alpha_{k} N\left(y_{n} \mid \mu_{k}, \Sigma_{k}\right) lnL(μ,Σ,α)=∑n=1Nln∑k=1KαkN(yn∣μk,Σk)
由于对数似然函数中的对数里面还有求和 ∑ \sum ∑,因此无法使用求导计算对数似然函数的极大值。因此我们需要使用EM算法来进行参数估计,EM算法适用于解决数据缺失的参数估计问题。
- 由最大化后验概率计算模型f对x的预测标记
- 假设所有样本独立同分布,且都是由同一个高斯混合模型生成的,则MLE的对数似然函数:
L L ( D l ∪ D u ) = ∑ ( x j , y j ) ∈ D l ln ( ∑ i = 1 N α i ⋅ p ( x j ∣ μ i , Σ i ) ⋅ p ( y j ∣ Θ = i , x j ) ) L L\left(D_{l} \cup D_{u}\right)=\sum_{\left(\boldsymbol{x}_{j}, y_{j}\right) \in D_{l}} \ln \left(\sum_{i=1}^{N} \alpha_{i} \cdot p\left(\boldsymbol{x}_{j} \mid \boldsymbol{\mu}_{i}, \boldsymbol{\Sigma}_{i}\right) \cdot p\left(y_{j} \mid \Theta=i, \boldsymbol{x}_{j}\right)\right) LL(Dl∪Du)=∑(xj,yj)∈Dlln(∑i=1Nαi⋅p(xj∣μi,Σi)⋅p(yj∣Θ=i,xj))
+ ∑ x j ∈ D u ln ( ∑ i = 1 N α i ⋅ p ( x j ∣ μ i , Σ i ) ) +\sum_{\boldsymbol{x}_{j} \in D_{u}} \ln \left(\sum_{i=1}^{N} \alpha_{i} \cdot p\left(\boldsymbol{x}_{j} \mid \boldsymbol{\mu}_{i}, \boldsymbol{\Sigma}_{i}\right)\right) +∑xj∈Duln(∑i=1Nαi⋅p(xj∣μi,Σi))
由两项组成,一项有标记数据,一项无标记数据。
- EM for GMM
Input: D = { ( x 1 , y 1 ) , … , ( x l , y l ) , x l + 1 , … , x l + u } \mathcal{D}=\left\{\left(\mathbf{x}_{1}, y_{1}\right), \ldots,\left(\mathbf{x}_{l}, y_{l}\right), \mathbf{x}_{l+1}, \ldots, \mathbf{x}_{l+u}\right\} D={(x1,y1),…,(xl,yl),xl+1,…,xl+u}
1、初始化 α i , μ i , Σ i \alpha_i,\mu_i,\Sigma_i αi,μi,Σi,依据MLE对已标记样本的参数估计。
- E-step
根据当前模型参数 μ i , Σ i \mu_i,\Sigma_i μi,Σi,计算未标记样本 x j x_j xj属于各高斯混合成分的概率
γ j i = α i ⋅ p ( x j ∣ μ i , Σ i ) ∑ i = 1 N α i ⋅ p ( x j ∣ μ i , Σ i ) \gamma_{j i}=\frac{\alpha_{i} \cdot p\left(\boldsymbol{x}_{j} \mid \boldsymbol{\mu}_{i}, \boldsymbol{\Sigma}_{i}\right)}{\sum_{i=1}^{N} \alpha_{i} \cdot p\left(\boldsymbol{x}_{j} \mid \boldsymbol{\mu}_{i}, \boldsymbol{\Sigma}_{i}\right)} γji=∑i=1Nαi⋅p(xj∣μi,Σi)αi⋅p(xj∣μi,Σi)
γ j i 表 示 未 标 记 样 本 \gamma_{ji}表示未标记样本 γji表示未标记样本 x j x_j xj的属于第i个高斯成分的概率
- M-step
基于 γ j i \gamma_{ji} γji更新参数
μ i = 1 ∑ x j ∈ D u γ j i + l i ( ∑ x j ∈ D u γ j i x j + ∑ ( x j , y j ) ∈ D l ∧ y j = i x j ) \boldsymbol{\mu}_{i}=\frac{1}{\sum_{\boldsymbol{x}_{j} \in D_{u}} \gamma_{j i}+l_{i}}\left(\sum_{\boldsymbol{x}_{j} \in D_{u}} \gamma_{j i} \boldsymbol{x}_{j}+\sum_{\left(\boldsymbol{x}_{j}, y_{j}\right) \in D_{l} \wedge y_{j}=i} \boldsymbol{x}_{j}\right) μi=∑xj∈Duγji+li1(∑xj∈Duγjixj+∑(xj,yj)∈Dl∧yj=ixj)
Σ i = 1 ∑ x j ∈ D u γ j i + l i ( ∑ x j ∈ D u γ j i ( x j − μ i ) ( x j − μ i ) T \boldsymbol{\Sigma}_{i}=\frac{1}{\sum_{\boldsymbol{x}_{j} \in D_{u}} \gamma_{j i}+l_{i}}\left(\sum_{\boldsymbol{x}_{j} \in D_{u}} \gamma_{j i}\left(\boldsymbol{x}_{j}-\boldsymbol{\mu}_{i}\right)\left(\boldsymbol{x}_{j}-\boldsymbol{\mu}_{i}\right)^{\mathrm{T}}\right. Σi=∑xj∈Duγji+li1(∑xj∈Duγji(xj−μi)(xj−μi)T
+ ∑ ( x j , y j ) ∈ D l ∧ y j = i ( x j − μ i ) ( x j − μ i ) T ) \left.+\sum_{\left(\boldsymbol{x}_{j}, y_{j}\right) \in D_{l} \wedge y_{j}=i}\left(\boldsymbol{x}_{j}-\boldsymbol{\mu}_{i}\right)\left(\boldsymbol{x}_{j}-\boldsymbol{\mu}_{i}\right)^{\mathrm{T}}\right) +∑(xj,yj)∈Dl∧yj=i(xj−μi)(xj−μi)T)
α i = 1 m ( ∑ x j ∈ D u γ j i + l i ) \alpha_{i}=\frac{1}{m}\left(\sum_{\boldsymbol{x}_{j} \in D_{u}} \gamma_{j i}+l_{i}\right) αi=m1(∑xj∈Duγji+li), m = l + u m=l+u m=l+u
不断迭代直至收敛,求得最终的模型参数,然后就能通过f(x)对样本进行分类。
总结:
1、上述过程中GMM模型能换成混合专家模型和朴素贝叶斯模型等,即可推导出其他生成式半监督学习算法。
2、此类方法较为简单,易于实现,在有标签数据极少的情况下往往比其他方法的性能更好。
3、此类方法的模型假设必须准确,假设的生成式模型必须与实际数据分布吻合,否则会降低泛化性能。
3.2 基于图的半监督学习
引入
3.2.1 图的构建
- 边权值的启发式方法
1、全连接图
使用高斯核函数度量边权值
w i j = exp ( − ∥ x i − x j ∥ 2 2 σ 2 ) w_{i j}=\exp \left(-\frac{\left\|\mathbf{x}_{i}-\mathbf{x}_{j}\right\|^{2}}{2 \sigma^{2}}\right) wij=exp(−2σ2∥xi−xj∥2)
值域为(0,1]
2、KNN图
找到每个顶点在欧氏空间内最近的k个近邻点,其中一个顶点是另一个的KNN之一,则连接两个顶点,其边的权重为1;不相连的两个点的边权值为0。
3、εNN图
当 ∣ ∣ x i − x j ∣ ∣ ||x_i-x_j|| ∣∣xi−xj∣∣≤ε时,连接 x i , x j x_i,x_j xi,xj,这些边既可加权又可不加权。否则,不加权。
3.2.2 MINCUT(如何对图进行最佳划分)
含义:将带有正标签的样本作为源点(从该点出发流经各点),负标签作为终点,目标是找到一个代价最小的边集,使得切断的边能将图划分为两部分,从而达到在最小风险下标记所有样本点的目的。
∑ i , j : f ( x i ) ≠ f ( x j ) w i j \sum_{i, j: f\left(\mathbf{x}_{i}\right) \neq f\left(\mathbf{x}_{j}\right)} w_{i j} ∑i,j:f(xi)=f(xj)wij
表示最终预测的label不相同的点的相似度尽可能的小,从而表示模型准确性尽可能的高
问题转化:解决一个正则化的风险最小化问题(损失函数、正则化器)
对于有标签数据,其损失函数定义为:
c ( x , y , f ( x ) ) = ∞ ⋅ ( y − f ( x ) ) 2 c(\mathbf{x}, y, f(\mathbf{x}))=\infty \cdot(y-f(\mathbf{x}))^{2} c(x,y,f(x))=∞⋅(y−f(x))2
此处定义∞×0=0,当有标记数据的预测值正确时,损失代价为0;否则为无穷大。
因此为了将正则化风险最小化,我们需要对所有的已标记数据预测准确,接着对正则化器最小化。
对于无标签数据,切割风险代价可写为:
Ω ( f ) = ∑ i , j = 1 l + u w i j ( f ( x i ) − f ( x j ) ) 2 / 4 \Omega(f)=\sum_{i, j=1}^{l+u} w_{i j}\left(f\left(\mathbf{x}_{i}\right)-f\left(\mathbf{x}_{j}\right)\right)^{2} / 4 Ω(f)=∑i,j=1l+uwij(f(xi)−f(xj))2/4
若 x i 和 x j 未 连 接 x_i和x_j未连接 xi和xj未连接,则 w i j 为 0 w_{ij}为0 wij为0;若该边存在且未切割,则 f ( x i ) − f ( x j ) = 0 f(x_i)-f(x_j)=0 f(xi)−f(xj)=0,即表示预测为同一类时,代价为0;若该边存在且切割了,那么代价非0。
最终综合考虑下的正则化风险最小化问题(最小割问题)可写为:
min f : f ( x ) ∈ { − 1 , 1 } ∞ ∑ i = 1 l ( y i − f ( x i ) ) 2 + ∑ i , j = 1 l + u w i j ( f ( x i ) − f ( x j ) ) 2 \min _{f: f(\mathbf{x}) \in\{-1,1\}} \infty \sum_{i=1}^{l}\left(y_{i}-f\left(\mathbf{x}_{i}\right)\right)^{2}+\sum_{i, j=1}^{l+u} w_{i j}\left(f\left(\mathbf{x}_{i}\right)-f\left(\mathbf{x}_{j}\right)\right)^{2} minf:f(x)∈{−1,1}∞∑i=1l(yi−f(xi))2+∑i,j=1l+uwij(f(xi)−f(xj))2
这是一个整数规划问题,同时也是属于直推式学习(仅对见过的未标记数据进行预测),由许多多项式时间的算法可以解决。
这种最小割问题可能存在多个最优解,如下图的六种切割方案风险代价相等,而选取切割左边的三个边的话,中间结点会被预测为负标签;选取右边三个边的话,中间结点会被预测为正标签。这种变异性是由于其他未标记结点的分布情况决定,反映了标签的confidence。接下来的方法就是用来计算这种confidence。
3.2.3 Harmonic Function(调和函数)
第二种基于图的半监督学习算法是调和函数f(x)
对于有标签数据,调和函数值为标签值;对于无标签数据,调和函数值为邻接结点标签纸的加权平均。
f ( x i ) = y i , i = 1 … l f\left(\mathbf{x}_{i}\right)=y_{i}, \quad i=1 \ldots l f(xi)=yi,i=1…l
f ( x j ) = ∑ k = 1 l + u w j k f ( x k ) ∑ k = 1 l + u w j k , j = l + 1 … l + u . f\left(\mathbf{x}_{j}\right)=\frac{\sum_{k=1}^{l+u} w_{j k} f\left(\mathbf{x}_{k}\right)}{\sum_{k=1}^{l+u} w_{j k}}, j=l+1 \ldots l+u . f(xj)=∑k=1l+uwjk∑k=1l+uwjkf(xk),j=l+1…l+u.
调和函数将原最小割问题的代价函数化简(松弛f使其值域为实数)为:
min f : f ( x ) ∈ R ∑ i , j = 1 l + u w i j ( f ( x i ) − f ( x j ) ) 2 \min _{f: f(\mathbf{x}) \in \mathbb{R}} \quad \sum_{i, j=1}^{l+u} w_{i j}\left(f\left(\mathbf{x}_{i}\right)-f\left(\mathbf{x}_{j}\right)\right)^{2} minf:f(x)∈R∑i,j=1l+uwij(f(xi)−f(xj))2
subject to f ( x i ) = y i \quad f\left(\mathbf{x}_{i}\right)=y_{i} f(xi)=yi for i = 1 … l i=1 \ldots l i=1…l
对f进行松弛使得f有一个闭式解,即目标方程具有全局最优解。不足之处是f(x)是一个[-1,1]的实数,不能作为一个标签,需要设定阈值进行处理【eg:若 f ( x ) ≥ 0 f(x)≥0 f(x)≥0,则predict y = 1;若 f ( x ) < 0 f(x)<0 f(x)<0,则predict y = -1】
调和函数有趣的解释:
图(a):将图视为一个电力网络,每条边缘都是一个电阻( 1 / w i j 1/w_{ij} 1/wij),每个结点两端的电压就是调和函数值f(x)
图(b):将调和函数解释为图上的随机游走,结点i在下一个时间步长内,随机移动至结点j的概率为 P ( j ∣ i ) = w i j ∑ k w i k P(j \mid i)=\frac{w_{i j}}{\sum_{k} w_{i k}} P(j∣i)=∑kwikwij
则结点i的调和函数值 f ( x i ) f(x_i) f(xi)是粒子从i顶点出发,最终走到一个正标签的结点的概率。
求解调和函数的方式是迭代更新:
① 初始化:对于有标签结点, f ( x i ) = y i f(x_i)=y_i f(xi)=yi;对于无标签结点,f为任意值。
② 每一轮迭代:用无标签邻接结点的加权平均更新无标签结点的调和函数值 f ( x i ) f(x_i) f(xi)。
f ( x i ) ← ∑ j = 1 l + u w i j f ( x j ) ∑ j = 1 l + u w i j f\left(\mathbf{x}_{i}\right) \leftarrow \frac{\sum_{j=1}^{l+u} w_{i j} f\left(\mathbf{x}_{j}\right)}{\sum_{j=1}^{l+u} w_{i j}} f(xi)←∑j=1l+uwij∑j=1l+uwijf(xj)
由此可知,无论初始值为多少,以这种迭代的方式总能使最终的调和函数值收敛,这个过程也称为标签传播。
最后,我们讨论调和函数的闭式解:
W W W是一个 ( l + u ) × ( l + u ) (l+u)×(l+u) (l+u)×(l+u)由权重 w i j w_{ij} wij构成的矩阵,由于是无向图,W是对称且非负的,
D D D是一个 ( l + u ) × ( l + u ) (l+u)×(l+u) (l+u)×(l+u)由边权值的和 ∑ i l + u w i j \sum_i^{l+u}w_{ij} ∑il+uwij构成的矩阵,也是对称且非负的。
非标准化的拉普拉斯矩阵 L = D − W L=D-W L=D−W
另 f = ( f ( x 1 ) , … , f ( x l + u ) ) ⊤ \mathbf{f}=\left(f\left(\mathbf{x}_{1}\right), \ldots, f\left(\mathbf{x}_{l+u}\right)\right)^{\top} f=(f(x1),…,f(xl+u))⊤表示所有结点的调和函数向量,由此,正则项可写作:
1 2 ∑ i , j = 1 l + u w i j ( f ( x i ) − f ( x j ) ) 2 = f ⊤ L f \frac{1}{2} \sum_{i, j=1}^{l+u} w_{i j}\left(f\left(\mathbf{x}_{i}\right)-f\left(\mathbf{x}_{j}\right)\right)^{2}=\mathbf{f}^{\top} L \mathbf{f} 21∑i,j=1l+uwij(f(xi)−f(xj))2=f⊤Lf
对拉普拉斯矩阵L进行分块: L = [ L l l L l u L u l L u u ] L=\left[\begin{array}{ll}L_{l l} & L_{l u} \\ L_{u l} & L_{u u}\end{array}\right] L=[LllLulLluLuu]
将 f \mathbf{f} f划分为 ( f l , f u ) (\mathbf{f}_l,\mathbf{f}_u) (fl,fu),并且 y l = ( y 1 , . . . , y l ) T y_l=(y_1,...,y_l)^T yl=(y1,...,yl)T,然后使用拉格朗日乘子求解约束优化问题,可以证明调和解为:
f l = y l f u = − L u u − 1 L u l y l . \begin{aligned} \mathbf{f}_{l} &=\mathbf{y}_{l} \\ \mathbf{f}_{u} &=-L_{u u}{ }^{-1} L_{u l} \mathbf{y}_{l} . \end{aligned} flfu=yl=−Luu−1Lulyl.
eg:以上述的链式图为例,求
此时令结点集为(1,7,2,3,4,5,6),以便将 f \mathbf{f} f划分为 ( f l , f u ) (\mathbf{f}_l,\mathbf{f}_u) (fl,fu)。
最终计算得到:
y l = ( 1 , − 1 ) T y_l=(1,-1)^T yl=(1,−1)T
f u = ( 2 3 , 1 3 , 0 , − 1 3 , − 2 3 ) ⊤ \mathbf{f}_{u}=\left(\frac{2}{3}, \frac{1}{3}, 0,-\frac{1}{3},-\frac{2}{3}\right)^{\top} fu=(32,31,0,−31,−32)⊤
对于从左到右的未标记结点,可以以0为阈值生成两种标签。在此,不同于3.2.2的MINCUT的是,其最优解在设定的阈值下是唯一的,而MINCUT往往是不唯一的。
3.2.4 Manifold Regularization(流形正则化)
上述的MINCUT和Harmonic Function都属于直推式学习(学习一个仅限于图中已标记和未标记结点的函数f,没有直接的方法预测以前未见过的测试样本的标签 1 ^1 1,除非在图中添加新结点重复计算,而我们需要对大量数据进行预测,因此这种方式是不可取的,此时需要一个归纳式半监督学习算法)
对于已标记数据中的噪声的影响,我们有时需要拒绝给定的已标记数据的标签 2 ^2 2。
流形正则化是一种通过整个特征空间中定义的f的归纳式学习算法,解决了以上两个问题。
由于 1 2 ∑ i , j = 1 l + u w i j ( f ( x i ) − f ( x j ) ) 2 = f ⊤ L f \frac{1}{2} \sum_{i, j=1}^{l+u} w_{i j}\left(f\left(\mathbf{x}_{i}\right)-f\left(\mathbf{x}_{j}\right)\right)^{2}=\mathbf{f}^{\top} L \mathbf{f} 21∑i,j=1l+uwij(f(xi)−f(xj))2=f⊤Lf只能控制 l + u l+u l+u的训练样本的f值,为了防止f在训练集以外的样本上变化不平滑(泛化能力较弱),有必要包括第二个正则项,合并后得到的流形正则项为:
Ω ( f ) = λ 1 ∥ f ∥ 2 + λ 2 f ⊤ L f \Omega(f)=\lambda_{1}\|f\|^{2}+\lambda_{2} \mathbf{f}^{\top} L \mathbf{f} Ω(f)=λ1∥f∥2+λ2f⊤Lf
其中, λ 1 , λ 2 ≥ 0 \lambda_1,\lambda_2≥0 λ1,λ2≥0控制两个项的相对强度。
为了拒绝一些给定的标签,我们使用损失函数 c ( x , y , f ( x ) ) = ( y i − f ( x i ) ) 2 c(x,y,f(x))=(y_i-f(x_i))^2 c(x,y,f(x))=(yi−f(xi))2,得到完整的流形正则化目标函数为:
min f : X ↦ R ∑ i = 1 l ( y i − f ( x i ) ) 2 + λ 1 ∥ f ∥ 2 + λ 2 f ⊤ L f . \min _{f: \mathcal{X} \mapsto \mathbb{R}} \sum_{i=1}^{l}\left(y_{i}-f\left(\mathbf{x}_{i}\right)\right)^{2}+\lambda_{1}\|f\|^{2}+\lambda_{2} \mathbf{f}^{\top} L \mathbf{f} . minf:X↦R∑i=1l(yi−f(xi))2+λ1∥f∥2+λ2f⊤Lf.
除了非归一化的拉普拉斯矩阵 L L L外,还经常使用归一化的拉普拉斯矩阵 L \mathcal{L} L.
L = D − 1 / 2 L D − 1 / 2 = I − D − 1 / 2 W D − 1 / 2 \mathcal{L}=D^{-1 / 2} L D^{-1 / 2}=I-D^{-1 / 2} W D^{-1 / 2} L=D−1/2LD−1/2=I−D−1/2WD−1/2
此时对应了一个稍微不同的正则项:
f ⊤ L f = 1 2 ∑ i , j = 1 l + u w i j ( f ( x i ) D i i − f ( x j ) D j j ) 2 \mathbf{f}^{\top} \mathcal{L} \mathbf{f}=\frac{1}{2} \sum_{i, j=1}^{l+u} w_{i j}\left(\frac{f\left(\mathbf{x}_{i}\right)}{\sqrt{D_{i i}}}-\frac{f\left(\mathbf{x}_{j}\right)}{\sqrt{D_{j j}}}\right)^{2} f⊤Lf=21∑i,j=1l+uwij(Diif(xi)−Djjf(xj))2
3.2.5 基于图的半监督学习假设
图的标签式平滑的,标签在图上的变化非常缓慢,即两个样本在图上有强边相连,则它们的标签有很大概率相同。
特征向量 φ \varphi φ、特征值 λ \lambda λ : A ϕ = λ ϕ A \phi=\lambda \phi Aϕ=λϕ( λ \lambda λ是 φ \varphi φ对应的特征值)此时, c ϕ c\phi cϕ也是一个特征向量。
我们关注单位特征向量 ∣ ∣ ϕ ∣ ∣ = 1 ||\phi||=1 ∣∣ϕ∣∣=1,对于非标准化的拉普拉斯矩阵 L L L:
-
L L L有 l + u l+u l+u个特征值(可重复),和对应的特征向量 { ( λ i , ϕ i ) } i = 1 l + u \left\{\left(\lambda_{i}, \phi_{i}\right)\right\}_{i=1}^{l+u} {(λi,ϕi)}i=1l+u,这些对叫做图谱。除此之外,特征向量都是正交的 ϕ i ⊤ ϕ j = 0 \phi_{i}^{\top} \phi_{j}=0 ϕi⊤ϕj=0, i ≠ j i≠j i=j
-
拉普拉斯矩阵可以分解为外积的加权和:
L = ∑ i = 1 l + u λ i ϕ i ϕ i ⊤ L=\sum_{i=1}^{l+u} \lambda_{i} \phi_{i} \phi_{i}^{\top} L=∑i=1l+uλiϕiϕi⊤
-
特征值都是非负实数,可以排序为:
0 = λ 1 ≤ λ 2 ≤ … ≤ λ l + u 0=\lambda_{1} \leq \lambda_{2} \leq \ldots \leq \lambda_{l+u} 0=λ1≤λ2≤…≤λl+u
-
图有k个连通分量 当且仅当 λ 1 = . . . = λ k = 0 \lambda_1=...=\lambda_k=0 λ1=...=λk=0对应的特征向量在单个连通分量上是常数或为0.
由于特征向量都是正交的,并且具有单位长度,因此它们在 R l + u \mathbb{R}^{l+u} Rl+u中形成了一个基,意味着图上任何f都能被分解为:
f = ∑ i = 1 l + u a i ϕ i \mathbf{f}=\sum_{i=1}^{l+u} a_{i} \phi_{i} f=∑i=1l+uaiϕi