机器学习入门-西瓜书总结笔记第十三章


一、未标记样本

形式化地看,有训练样本集 D l = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x l , y l ) } D_l = \{(\pmb x_1,y_1),(\pmb x_2,y_2),\cdots,(\pmb x_l,y_l)\} Dl={(xxx1,y1),(xxx2,y2),,(xxxl,yl)},这 l l l个样本的类别标记已知,称为 “有标记”(labeled) 样本;此外,还有 D u = { x l + 1 , x l + 2 , ⋯   , x l + u } , l ≪ u D_u = \{\pmb x_{l+1},\pmb x_{l+2},\cdots,\pmb x_{l+u}\},l\ll u Du={xxxl+1,xxxl+2,,xxxl+u},lu,这u个样本的类别标记未知,称为 “未标记”(unlabeled) 样本。若直接使用传统监督学习技术,则仅有 D l D_l Dl能用于构建模型, D u D_u Du所包含的信息被浪费了;另一方面,若 D l D_l Dl较小,则由于训练样本不足,学得模型的泛化能力往往不佳。
一种简单的做法,是将 D u D_u Du中的示例全部标记后用于学习。显然,这样做需耗费大量时间和精力。
我们可以利用 D l D_l Dl先训练一个模型,拿这个模型去标记其他未标记样本,若每次都挑出对改善模型性能帮助大的样本,则只需要比较少的样本就能构建出比较强的模型,从而大幅降低标记成本。这样的学习方式称为“主动学习”(active learning),其目标是使用尽量少的“查询”(query)来获得尽量好的性能。
显然,主动学习加入了额外的专家知识,通过与外界交互来将部分未标记样本转变为有标记样本。若不与专家交互,没有获得额外信息,还能利用未标记样本来提高泛化性能吗?
事实上,未标记样本虽未直接包含标记信息,但若它们与有标记样本是从同样的数据源独立同分布采样而来,则它们所包含的关于数据分布的信息对建立模型将大有裨益。
在这里插入图片描述上图给出了一个直观的例示。若仅基于图中的一个正例和一个反例,则由于判别样本恰位于两者正中间,大体上只能随机猜测;若能观察到图中的未标记样本,则将很有把握地判别为正例。
让学习去不依赖外界交互、自动地利用未标记样本来提升学习性能,这就是 半监督学习(semi-supervised learning)。半监督学习的现实需求非常强烈,因为在现实应用中往往很容易地收集到大量未标记样本,而获取“标记”却需耗费人力,物理。例如,在尽心计算机辅助医学影响分析时,可以从医院获得大量医学影响,但若希望医学专家把影像中的病灶全部标记出来则是不现实的。“有标记数据少,未标记数据多”这个现象在互联网应用中更明显,例如在进行网页推荐时需请用户标记出感兴趣的网页,但很少有用户愿意花很多时间来提供标记,因此,有标记网页样本少,但在互联网上存在无数网页可作为未标记样本来使用。半监督学习恰是提供了一条利用“廉价”的未标记样本的途径。
要利用未标记样本,必须要做一些将未标记样本所揭示的数据分布信息与类别标记相联系的假设。最常见的是 “聚类假设”(cluster assumption),即假设数据存在簇结构,同一个簇的样本属于同一个类别。如上图基于聚类假设来利用未标记样本,由于待预测样本与正例样本通过未标记样本的“撮合”聚在一起,与相对分离的反例样本相比,待判别样本更属于正类。半监督学习中另一个常见的假设是“流形假设”(manifold assumption),即假设数据分布在一个流形结构上,邻近的样本拥有相似的输出值。“邻近”程度常用“相似”程度来刻画,因此,流形假设可看作聚类假设的推广,但流形假设对输出值没有限制,因此比聚类假设的适用性范围更广,可用于更多类型的学习任务。事实上,无论聚类假设还是流形假设,其本质就是“相似的样本拥有相似的输出”这个基本假设。
半监督学习可进一步划分为纯(pure)半监督学习和直推学习(transductive learning),前者假定训练数据中的未标记样本并非待预测的数据,而后者假定学习过程中所考虑的未标记样本恰是待预测数据,学习的目的就是在这些未标记样本上获得最优泛化性能。换言之,纯半监督学习是基于“开放世界”假设,希望学得模型能适用于训练过程中未观察到的数据;而直推学习是基于“封闭世界”假设,仅试图对学习过程中观察到的未标记数据进行预测。如下图,直观地显示出主动学习、纯半监督学习、直推学习的区别。需注意的是,纯半监督学习和直推学习常合称为半监督学习
在这里插入图片描述

二、生成式方法

  • 生成式方法(generative methods) 是直接基于生成式模型的方法。此类方法假设所有数据(无论是否标记)都是由同一个潜在的模型“生成”的。这个假设使得我们能够通过潜在的参数将未标记数据与学习目标联系起来,而未标记数据的标记则可看作模型的缺失参数,通常可基于EM算法进行极大似然估计求解。此类方法的区别主要在于生成式模型的假设,不同的模型假设将产生不同的方法。
    给定样本 x \pmb x xxx,其真实标记类别为 y ∈ Y y\in \mathcal Y yY,其中 Y = { 1 , 2 , ⋯   , N } \mathcal Y = \{1,2,\cdots,N\} Y={1,2,,N}为所有可能的类别。假定样本由高斯混合模型生成,且每个类别对应一个高斯混合成分。换言之,数据样本是基于如下概率密度生成:
    p ( x ) = ∑ i = 1 N α i ⋅ p ( x ∣ μ i , Σ i ) , p(\pmb x) = \sum_{i=1}^N \alpha_i\cdot p(\pmb x|\pmb \mu_i,\pmb \Sigma_i), p(xxx)=i=1Nαip(xxxμμμi,ΣΣΣi),
    其中,混合系数 α i ≥ 0 , ∑ i = 1 N α i = 1 ; p ( x ∣ μ i , Σ i ) \alpha_i \ge 0,\sum_{i=1}^N \alpha_i=1;p(\pmb x|\pmb \mu_i,\pmb \Sigma_i) αi0,i=1Nαi=1;p(xxxμμμi,ΣΣΣi)是样本 x \pmb x xxx属于第 i i i个高斯混合成分的概率; μ i \pmb \mu_i μμμi Σ i \pmb \Sigma_i ΣΣΣi为该高斯混合成分的参数。
    f ( x ) ∈ Y f(\pmb x)\in \mathcal Y f(xxx)Y表示模型 f f f x \pmb x xxx的预测标记, Θ ∈ { 1 , 2 , ⋯   , N } \Theta\in \{1,2,\cdots,N\} Θ{1,2,,N}表示样本 x \pmb x xxx隶属的高斯混合成分。由最大化后验概率可知
    f ( x ) = arg max ⁡ j ∈ Y   p ( y = j ∣ x ) = arg max ⁡ j ∈ Y   ∑ i = 1 N p ( y = j , Θ = i ∣ x ) = arg max ⁡ j ∈ Y   ∑ i = 1 N p ( y = j ∣ Θ = i , x ) ⋅ p ( Θ = i ∣ x ) \begin{aligned} f(\pmb x) &= \underset{j\in \mathcal Y}{\operatorname{arg \ max}} \ p(y=j|\pmb x)\\ & = \underset{j\in \mathcal Y}{\operatorname{arg \ max}} \ \sum_{i=1}^Np(y=j,\Theta = i|\pmb x)\\ & = \underset{j\in \mathcal Y}{\operatorname{arg \ max}} \ \sum_{i=1}^Np(y=j|\Theta = i,\pmb x)\cdot p(\Theta=i|\pmb x)\\ \end{aligned} f(xxx)=jYarg max p(y=jxxx)=jYarg max i=1Np(y=j,Θ=ixxx)=jYarg max i=1Np(y=jΘ=i,xxx)p(Θ=ixxx)
    其中
    p ( Θ = i ∣ x ) = α i ⋅ p ( x ∣ μ i , Σ i ) ∑ i = 1 N α i ⋅ p ( x ∣ μ i , Σ i ) p(\Theta=i|\pmb x) = \frac{\alpha_i\cdot p(\pmb x|\pmb \mu_i,\pmb \Sigma_i)}{\sum_{i=1}^N\alpha_i\cdot p(\pmb x|\pmb \mu_i,\pmb \Sigma_i)} p(Θ=ixxx)=i=1Nαip(xxxμμμi,ΣΣΣi)αip(xxxμμμi,ΣΣΣi)
    为样本 x \pmb x xxx由第 i i i个高斯混合成分生成的后验概率, p ( y = j ∣ Θ = i , x ) p(y=j|\Theta = i,\pmb x) p(y=jΘ=i,xxx) x \pmb x xxx由第 i i i个高斯混合成分生成且类别为 j j j的概率。由于假设每个类别对应一个高斯混合成分,因此 p ( y = j ∣ Θ = i , x ) p(y=j|\Theta = i,\pmb x) p(y=jΘ=i,xxx)仅与样本 x \pmb x xxx所属的高斯混合成分 Θ \Theta Θ有关,可用 p ( y = j ∣ Θ = i ) p(y=j|\Theta = i) p(y=jΘ=i)代替。不失一般性,假定第i个类别对应于第i个高斯混合成分,即 p ( y = j ∣ Θ = i ) = 1 p(y=j|\Theta = i) = 1 p(y=jΘ=i)=1当且仅当 i = j i=j i=j,否则 p ( y = j ∣ Θ = i ) = 0 p(y=j|\Theta = i) = 0 p(y=jΘ=i)=0
    不难发现, p ( y = j ∣ Θ = i , x ) p(y=j|\Theta = i,\pmb x) p(y=jΘ=i,xxx)需知道样本的标记,因此仅能使用有标记数据;而 p ( Θ = i ∣ x ) p(\Theta=i|\pmb x) p(Θ=ixxx)不涉及样本标记,因此有标记和未标记数据均可利用,通过引入大量的未标记数据,对这一项的估计可望由于数据量的增长而更为准确,于是整体的估计可能会更准确。由此可清楚地看出未标记数据何以辅助提高分类器模型的性能。
    给定有标记样本集 D l = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x l , y l ) } D_l = \{(\pmb x_1,y_1),(\pmb x_2,y_2),\cdots,(\pmb x_l,y_l)\} Dl={(xxx1,y1),(xxx2,y2),,(xxxl,yl)}和未标记样本集 D u = { ( x l + 1 , y l + 1 ) , ( x l + 2 , y l + 2 ) , ⋯   , ( x l + u , y l + u ) } , l ≪ u , l + u = m D_u = \{(\pmb x_{l+1},y_{l+1}),(\pmb x_{l+2},y_{l+2}),\cdots,(\pmb x_{l+u},y_{l+u})\},l\ll u,l+u = m Du={(xxxl+1,yl+1),(xxxl+2,yl+2),,(xxxl+u,yl+u)},lu,l+u=m。假设所有样本独立同分布,且都是由同一个高斯混合模型生成的。用极大似然法来估计高斯混合模型的参数 { ( α i , μ i , Σ i ) ∣ 1 ≤ i ≤ N } , D l ∪ D u \{(\alpha_i,\pmb \mu_i,\pmb \Sigma_i)|1\le i\le N\},D_l\cup D_u {(αi,μμμi,ΣΣΣi)1iN}DlDu的对数似然是
    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 ) ) + ∑ x j ∈ D u ln ⁡ ( ∑ i = 1 N α i ⋅ p ( x j ∣ μ i , Σ i ) ) \begin{aligned} LL(D_l\cup D_u) &= \sum_{(x_j,y_j)\in D_l} \ \operatorname{ln}\bigg(\sum_{i=1}^N\alpha_i\cdot p(\pmb x_j|\pmb \mu_i,\Sigma_i)\cdot p(y_j|\Theta = i,\pmb x_j)\bigg)\\ & + \sum_{x_j\in D_u}\operatorname{ln}\bigg(\sum_{i=1}^N\alpha_i\cdot p(\pmb x_j|\pmb \mu_i,\Sigma_i)\bigg)\\ \end{aligned} LL(DlDu)=(xj,yj)Dl ln(i=1Nαip(xxxjμμμi,Σi)p(yjΘ=i,xxxj))+xjDuln(i=1Nαip(xxxjμμμi,Σi))
    上式由两项组成:基于有标记数据 D l D_l Dl的有监督项和基于未标记数据 D u D_u Du的无监督项。显然,高斯混合模型参数估计可用EM算法求解,迭代更新式如下
  • E步:根据当前模型参数计算未标记样本 x j \pmb x_j xxxj属于各高斯混合成分的概率
    γ j i = α i ⋅ p ( x j ∣ μ i , Σ i ) ∑ i = 1 N α i ⋅ p ( x j ∣ μ i , Σ i ) \gamma_{ji} =\frac{\alpha_i\cdot p(\pmb x_j|\pmb \mu_i,\pmb \Sigma_i)}{\sum_{i=1}^N\alpha_i\cdot p(\pmb x_j|\pmb \mu_i,\pmb \Sigma_i)} γji=i=1Nαip(xxxjμμμi,ΣΣΣi)αip(xxxjμμμi,ΣΣΣi)
  • M步:基于 γ j i \gamma_{ji} γji更新模型参数,其中 l i l_i li表示第 i i i类的有标记样本数目
    μ 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 ) , Σ i = 1 ∑ x j ∈ D u γ j i + l i ( ∑ x j ∈ D u γ j i ( x j − μ i ) ( x j − μ i ) T + ∑ ( x j , y j ) ∈ D l ∧ y j = i ( x j − μ i ) ( x j − μ i ) T ) , α i = 1 m ( ∑ x j ∈ D u γ j i + l i ) \begin{aligned} \pmb \mu_i &= \frac{1}{\sum_{x_j\in D_u}\gamma_{ji} + l_i}\Bigg( \sum_{x_j\in D_u}\gamma_{ji}\pmb x_j + \sum_{(x_j,y_j)\in D_l\wedge y_j = i}\pmb x_j\Bigg),\\ \pmb \Sigma_i &= \frac{1}{\sum_{x_j\in D_u}\gamma_{ji} + l_i}\Bigg(\sum_{x_j\in D_u}\gamma_{ji}(\pmb x_j - \pmb \mu_i)(\pmb x_j - \pmb \mu_i)^T + \sum_{(x_j,y_j)\in D_l\wedge y_j = i}(\pmb x_j - \pmb \mu_i)(\pmb x_j - \pmb \mu_i)^T\Bigg),\\ \alpha_i & = \frac{1}{m}\Bigg(\sum_{x_j\in D_u}\gamma_{ji} + l_i\Bigg) \end{aligned} μμμiΣΣΣiαi=xjDuγji+li1(xjDuγjixxxj+(xj,yj)Dlyj=ixxxj),=xjDuγji+li1(xjDuγji(xxxjμμμi)(xxxjμμμi)T+(xj,yj)Dlyj=i(xxxjμμμi)(xxxjμμμi)T),=m1(xjDuγji+li)
    上述过程不断迭代直至收敛,即可获得模型参数。
    将上述过程中的高斯混合模型换成混合专家模型、朴素贝叶斯模型等即可推导出其他的生成式半监督学习方法。此类方法简单,易于实现,在有标记数据极少的情形下往往比其他方法性能更好。然而,此类方法有一个关键:模型假设必须准确,即假设的生成式模型必须与真实数据分布吻合;否则利用未标记数据反倒会降低泛化性能。遗憾的是,在现实任务中往往很难事先做出准确的模型假设,除非拥有充分可靠的领域知识。

三、半监督SVM

  • 半监督支持向量机(Semi-Supervised Support Vector Machine,简称S3VM) 是支持向量机在半监督学习上的推广。在不考虑未标记样本时,支持向量机试图找到最大间隔划分超平面,而在考虑未标记样本后,S3VM试图找到能将两类有标记样本分开,且穿过数据低密度区域的划分超平面,如下图,这里的基本假设是“低密度分隔”(low-density separation),显然,这是聚类假设在考虑了线性超平面划分后的推广。
  • 半监督支持向量机中最著名的是 TSVM(Transductive Support Vector Machine)。与标准SVM一样,TSVM也是针对二分类问题的学习方法。TSVM试图考虑对未标记样本进行各种可能的标记指派(label assignment),即尝试将每个未标记样本分别作为正例或反例,然后在所有这些结果中,寻求一个在所有样本(包括有标记样本和进行了标记指派的未标记样本)上间隔最大化的划分超平面。一旦划分超平面得以确定,未标记样本的最终标记指派就是其预测结果。
    形式化地说,给定 D l = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x l , y l ) } D_l = \{(\pmb x_1,y_1),(\pmb x_2,y_2),\cdots,(\pmb x_l,y_l)\} Dl={(xxx1,y1),(xxx2,y2),,(xxxl,yl)} D u = { ( x l + 1 , y l + 1 ) , ( x l + 2 , y l + 2 ) , ⋯   , ( x l + u , y l + u ) } D_u = \{(\pmb x_{l+1},y_{l+1}),(\pmb x_{l+2},y_{l+2}),\cdots,(\pmb x_{l+u},y_{l+u})\} Du={(xxxl+1,yl+1),(xxxl+2,yl+2),,(xxxl+u,yl+u)},其中 y i ∈ { − 1 , + 1 } , l ≪ u , l + u = m y_i\in\{-1,+1\},l\ll u,l+u = m yi{1,+1},lu,l+u=m。TSVM的学习目标是为 D u D_u Du中的样本给出预测标记 y ^ = ( y ^ l + 1 , y ^ l + 2 , ⋯   , y ^ l + u ) \hat {\pmb y} = (\hat y_{l+1},\hat y_{l+2},\cdots,\hat y_{l+u}) yyy^=(y^l+1,y^l+2,,y^l+u),使得
    min ⁡ w , b , y ^ , ξ   1 2 ∣ ∣ w ∣ ∣ 2 2 + C l ∑ i = 1 l ξ i + C u ∑ i = l + 1 m ξ i s . t .   y i ( w T x i + b ) ≥ 1 − ξ i , i = 1 , 2 , ⋯   , l , y ^ i ( w T x i + b ) ≥ 1 − ξ i , i = l + 1 , l + 2 , ⋯   , m , ξ ≥ 0 , i = 1 , 2 , ⋯   , l , \begin{aligned} \underset{w,b,\hat y,\xi}{\operatorname{min}} \ & \frac{1}{2}||\pmb w||_2^2 + C_l\sum_{i=1}^l \xi_i + C_u\sum_{i=l+1}^m \xi_i\\ s.t. \ & y_i(\pmb w^T\pmb x_i + b)\ge 1-\xi_i,\quad i =1,2,\cdots,l,\\ & \hat y_i(\pmb w^T\pmb x_i + b)\ge 1-\xi_i,\quad i =l+1,l+2,\cdots,m,\\ & \xi\ge0,\quad i =1,2,\cdots,l,\\ \end{aligned} w,b,y^,ξmin s.t. 21www22+Cli=1lξi+Cui=l+1mξiyi(wwwTxxxi+b)1ξi,i=1,2,,l,y^i(wwwTxxxi+b)1ξi,i=l+1,l+2,,m,ξ0,i=1,2,,l,
    其中, ( w , b ) (\pmb w,b) (www,b)确定了一个划分超平面; ξ \pmb \xi ξξξ为松弛向量, ξ i ( i = 1 , 2 , ⋯   , l ) \xi_i(i=1,2,\cdots,l) ξi(i=1,2,,l)对应于有标记样本, ξ i ( i = l + 1 , l + 2 , ⋯   , m ) \xi_i(i=l+1,l+2,\cdots,m) ξi(i=l+1,l+2,,m)对应于未标记样本; C l C_l Cl C l C_l Cl是由用户指定的用于平衡模型复杂度、有标记样本与未标记样本重要程度的折中参数。
    显然,尝试未标记样本的各种标记指派是一个穷举过程,仅当未标记样本很少时才有可能直接求解。在一般情形下,必须考虑更高效的优化策略。
    TSVM采用局部搜索来迭代地寻找近似解。具体来说,它先利用有标记样本学得一个SVM,即忽略关于 D u D_u Du y ^ \hat {\pmb y} yyy^的项及约束。然后,利用这个SVM对未标记数据进行标记指派(label assignment),即将SVM预测的结果所谓 “伪标记”(pseudo-label) 赋予未标记样本。此时 y ^ \hat{\pmb y} yyy^称为已知,将其带入即得到一个标准SVM问题,于是可求解出新的划分超平面和松弛向量;注意到此时未标记样本的伪标记很可能不准确,因此 C u C_u Cu要设置为比 C l C_l Cl小的值,使有标记样本所起作用更大。接下来,TSVM找出两个标记指派为异类且很可能发生错误的未标记样本,交换它们的标记,再重新基于上式求解更新后的划分超平面和松弛变量,然后再找出两个标记指派为异类且很可能发生错误的未标记样本, ⋯ \cdots 标记指派调整完成后,逐渐增大 C u C_u Cu以提高未标记样本对优化目标的影响,进行下一轮标记指派,直至 C u = C l C_u = C_l Cu=Cl为止。此时求解得到的SVM不仅给未标记样本提供了标记,还能对训练过程中未见的示例进行预测。
    在这里插入图片描述
    在对未标记样本进行标记指派及调整的过程中,有可能出现类别不平衡问题,即某类的样本远多于另一类,这将对SVM的训练造成困扰。为了减轻类别不平衡性所造成的不利影响,可对上图中算法稍加改进:将优化目标中的 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+uCu
    其中 u + u_+ u+ u − u_- u为基于伪标记而当作正、反例使用的未标记样本数。
    显然,搜寻标记指派可能出错的每一对未标记样本进行调整,是一个涉及巨大计算开销的大规模优化问题。因此,半监督SVM研究的一个重点是如何设计出高效的优化求解策略,由此发展出很多方法,如基于图核(graph kernel)函数梯度下降的LDS基于标记均值估计得meanS3VM

四、图半监督学习

给定一个数据集,我们可将其映射为一个图,数据集中每个样本对应于图中一个结点,若两个样本之间得相似度很高(或相关性很强),则对应的结点之间存在一条边,边的 “强度”(strength) 正比于样本之间的相似度(或相关性)。可将有标记样本所对应的结点想象为染过色,而未标记样本所对应的结点尚未染色。于是,半监督学习就对应于“颜色”在图上扩散或传播的过程。由于一个图对应了一个矩阵,这就使我们能基于矩阵运算来进行半监督学习算法推导与分析。
给定 D l = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x l , y l ) } D_l = \{(\pmb x_1,y_1),(\pmb x_2,y_2),\cdots,(\pmb x_l,y_l)\} Dl={(xxx1,y1),(xxx2,y2),,(xxxl,yl)} D u = { ( x l + 1 , y l + 1 ) , ( x l + 2 , y l + 2 ) , ⋯   , ( x l + u , y l + u ) } D_u = \{(\pmb x_{l+1},y_{l+1}),(\pmb x_{l+2},y_{l+2}),\cdots,(\pmb x_{l+u},y_{l+u})\} Du={(xxxl+1,yl+1),(xxxl+2,yl+2),,(xxxl+u,yl+u)},其中 y i ∈ { − 1 , + 1 } , l ≪ u , l + u = m y_i\in\{-1,+1\},l\ll u,l+u = m yi{1,+1},lu,l+u=m。先基于 D l ∪ D u D_l\cup D_u DlDu构建一个图 G = ( V , E ) G=(V,E) G=(V,E),其中结点集 V = { x 1 , ⋯   , x l , x l + 1 , ⋯   , x l + u } V=\{\pmb x_1,\cdots,\pmb x_l,\pmb x_{l+1},\cdots,\pmb x_{l+u}\} V={xxx1,,xxxl,xxxl+1,,xxxl+u},边集E可表示为一个 亲和矩阵(affinity matrix)
,常基于高斯函数定义为
( W ) i j = { exp ⁡ ( − ∣ ∣ x i − x j ∣ ∣ 2 2 2 σ 2 ) , if ⁡   i ≠ j ; 0 , otherwise ⁡ (\pmb W)_{ij}= \begin{cases} \operatorname{exp}\bigg(\frac{-|| x_i - x_j||_2^2}{2\sigma^2}\bigg),\quad \operatorname{if} \ i\ne j;\\ 0,\quad \operatorname{otherwise} \end{cases} (WWW)ij=exp(2σ2xixj22),if i=j;0,otherwise
其中 i , j ∈ { 1 , 2 , ⋯   , m } , σ > 0 i,j\in\{1,2,\cdots,m\},\sigma>0 i,j{1,2,,m},σ>0是用户指定的高斯函数带宽参数。
假定从图 G = ( V , E ) G=(V,E) G=(V,E)将学得一个实值函数 f : V → R f:V\rightarrow R f:VR,其对应的分类规则为: y i = s i g n ( ( f ( x i ) ) , y i ∈ { − 1 , + 1 } y_i = sign((f(\pmb x_i)),y_i\in\{-1,+1\} yi=sign((f(xxxi)),yi{1,+1}.直观上看,相似的样本应具有相似的标记,于是可定义关于 f f f的“能量函数”(energy function)
E ( f ) = 1 2 ∑ i = 1 m ∑ j = 1 m ( W ) i j ( f ( x i ) − f ( x j ) ) 2 = 1 2 ( ∑ i = 1 m d i f 2 ( x i ) + ∑ j = 1 m d j f 2 ( x j ) − 2 ∑ i = 1 m ∑ j = 1 m ( W ) i j f ( x i ) f ( x j ) ) = ∑ i = 1 m d i f 2 ( x i ) − ∑ i = 1 m ∑ j = 1 m ( W ) i j f ( x i ) f ( x j ) = f T ( D − W ) f \begin{aligned} E(f) &= \frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m(\pmb W)_{ij}(f(\pmb x_i)-f(\pmb x_j))^2\\ & = \frac{1}{2}\bigg(\sum_{i=1}^m d_i f^2(\pmb x_i) + \sum_{j=1}^m d_j f^2(\pmb x_j)-2\sum_{i=1}^m\sum_{j=1}^m(\pmb W)_{ij}f(\pmb x_i)f(\pmb x_j)\bigg)\\ & = \sum_{i=1}^m d_i f^2(\pmb x_i) - \sum_{i=1}^m\sum_{j=1}^m(\pmb W)_{ij}f(\pmb x_i)f(\pmb x_j)\\ & = \pmb f^T(\pmb D - \pmb W) \pmb f \end{aligned} E(f)=21i=1mj=1m(WWW)ij(f(xxxi)f(xxxj))2=21(i=1mdif2(xxxi)+j=1mdjf2(xxxj)2i=1mj=1m(WWW)ijf(xxxi)f(xxxj))=i=1mdif2(xxxi)i=1mj=1m(WWW)ijf(xxxi)f(xxxj)=fffT(DDDWWW)fff
其中 f = ( f l T   f u T ) T , f l = ( f ( x 1 ) ; f ( x 2 ) ; ⋯   ; f ( x l ) ) , f u = ( f ( x l + 1 ) ; f ( x l + 2 ) ; ⋯   ; f ( x l + u ) ) \pmb f = (\pmb f_l^T \ \pmb f_u^T)^T, \pmb f_l = (f(\pmb x_1);f(\pmb x_2);\cdots;f(\pmb x_l)),\pmb f_u = (f(\pmb x_{l+1});f(\pmb x_{l+2});\cdots;f(\pmb x_{l+u})) fff=(ffflT fffuT)T,fffl=(f(xxx1);f(xxx2);;f(xxxl)),fffu=(f(xxxl+1);f(xxxl+2);;f(xxxl+u))分别为函数 f f f在有标记样本与未标记样本上的预测结果, D = diag ⁡ ( d 1 , d 2 , ⋯   , d l + u ) \pmb D = \operatorname{diag}(d_1,d_2,\cdots,d_{l+u}) DDD=diag(d1,d2,,dl+u)是一个对角矩阵,其对角元素 d i = ∑ j = 1 l + u ( W ) i j d_i = \sum_{j=1}^{l+u}(\pmb W)_{ij} di=j=1l+u(WWW)ij为矩阵 W \pmb W WWW的第 i i i行元素之和。
具有最小能量的函数 f f f在有标记样本上满足 f ( x i ) = y i ( i = 1 , 2 , ⋯   , l ) f(\pmb x_i) = y_i(i=1,2,\cdots,l) f(xxxi)=yi(i=1,2,,l),在未标记样本上满足 Δ f = 0 \Delta \pmb f = \pmb 0 Δfff=000,其中 Δ = D − W \Delta = \pmb D- \pmb W Δ=DDDWWW为拉普拉斯矩阵(Laplacian matirx)。以第 l l l行与第 l l l列为界,采用分块矩阵表示方式:
W = [ W l l W l u W u l W u u ] \pmb W = \begin{bmatrix} \pmb W_{ll} & \pmb W_{lu}\\ \pmb W_{ul} & \pmb W_{uu} \end{bmatrix} WWW=[WWWllWWWulWWWluWWWuu],
D = [ D l l 0 l u 0 u l D u u ] \pmb D = \begin{bmatrix} \pmb D_{ll} & \pmb 0_{lu}\\ \pmb 0_{ul} & \pmb D_{uu} \end{bmatrix} DDD=[DDDll000ul000luDDDuu],则上式可重写为
E ( f ) = ( f l T   f u T ) ( [ D l l D l u D u l D u u ] − [ W l l W l u W u l W u u ] ) [ f l f u ] = f l T ( D l l − W l l ) f l − 2 f u T W u l f l + f u T ( D u u − W u u ) f u \begin{aligned} E(f) &= (\pmb f_l^T \ \pmb f_u^T)\Bigg( \begin{bmatrix} \pmb D_{ll} & \pmb D_{lu}\\ \pmb D_{ul} & \pmb D_{uu} \end{bmatrix}-\begin{bmatrix} \pmb W_{ll} & \pmb W_{lu}\\ \pmb W_{ul} & \pmb W_{uu} \end{bmatrix} \Bigg)\begin{bmatrix} \pmb f_l\\ \pmb f_u \end{bmatrix}\\ & = \pmb f_l^T(D_{ll} - W_{ll})\pmb f_l - 2\pmb f_u^T\pmb W_{ul}\pmb f_l + \pmb f_u^T(\pmb D_{uu}- \pmb W_{uu})\pmb f_u \end{aligned} E(f)=(ffflT fffuT)([DDDllDDDulDDDluDDDuu][WWWllWWWulWWWluWWWuu])[ffflfffu]=ffflT(DllWll)fffl2fffuTWWWulfffl+fffuT(DDDuuWWWuu)fffu
∂ E ( f ) ∂ f u = 0 \frac{\partial E(f)}{\partial f_u} = 0 fuE(f)=0可得
f u = ( D u u − W u u ) − 1 W u l f l \pmb f_u = (\pmb D_{uu} - \pmb W_{uu})^{-1}\pmb W_{ul}\pmb f_l fffu=(DDDuuWWWuu)1WWWulfffl

后续步骤略

于是将 D l D_l Dl上的标记信息作为 f l = ( y 1 ; y 2 ; ⋯   ; y l ) \pmb f_l = (y_1;y_2;\cdots;y_l) fffl=(y1;y2;;yl)代入,即可利用求得的 f u \pmb f_u fffu对未标记样本进行预测。
上述描述的是一个针对二分类问题的 **标记传播(label propagation)**方法,下面来看一个适用于多分类问题的标记传播方法
假定 y i ∈ Y y_i\in \mathcal Y yiY,仍基于 D l ∪ D u D_l\cup D_u DlDu构建一个图 G = ( V , E ) G=(V,E) G=(V,E),其中结点集 V = { x 1 , ⋯   , x l , ⋯   , x l + u } V = \{\pmb x_1,\cdots,\pmb x_l,\cdots,\pmb x_{l+u}\} V={xxx1,,xxxl,,xxxl+u},边集E所对应的 W \pmb W WWW仍使用上述亲和矩阵,对角矩阵 D = diag ⁡ ( d 1 , d 2 , ⋯   , d l + u ) \pmb D = \operatorname{diag}(d_1,d_2,\cdots,d_{l+u}) DDD=diag(d1,d2,,dl+u)的对角元素 d i = ∑ j = 1 l + u ( W ) i j d_i = \sum_{j=1}^{l+u}(\pmb W)_{ij} di=j=1l+u(WWW)ij。定义一个 ( l + u ) × ∣ Y ∣ (l+u)\times|\mathcal Y| (l+u)×Y的非负标记矩阵 F = ( F 1 T , F 2 T , ⋯   , F l + u T ) \pmb F = (\pmb F_1^T,\pmb F_2^T,\cdots,\pmb F_{l+u}^T) FFF=(FFF1T,FFF2T,,FFFl+uT),其第 i i i行元素 F i = ( ( F ) i 1 , ( F ) i 2 , ⋯   , ( F ) i ∣ Y ∣ , ) \pmb F_i = ((\pmb F)_{i1},(\pmb F)_{i2},\cdots,(\pmb F)_{i|\mathcal Y|},) FFFi=((FFF)i1,(FFF)i2,,(FFF)iY,)为示例 x i \pmb x_i xxxi的标记向量,相应的分类规则为: y i = arg max ⁡ 1 ≤ j ≤ ∣ Y ∣ ( F ) i j y_i = \operatorname{arg \ max} _{1\le j\le |\mathcal Y|}(\pmb F)_{ij} yi=arg max1jY(FFF)ij
i = 1 , 2 , ⋯   , m , j = 1 , 2 , ⋯   , ∣ Y ∣ i=1,2,\cdots,m,j=1,2,\cdots,|\mathcal Y| i=1,2,,m,j=1,2,,Y,将 F \pmb F FFF初始化为
F ( 0 ) = ( Y ) i j = { 1 , if ⁡ ( 1 ≤ i ≤ l ) ∧ ( y j = j ) 0 , otherwise ⁡ \pmb F(0) = (\pmb Y)_{ij} = \begin{cases} 1,\quad \operatorname{if}(1\le i\le l)\wedge(y_j = j)\\ 0, \quad \operatorname{otherwise} \end{cases} FFF(0)=(YYY)ij={1,if(1il)(yj=j)0,otherwise
显然, Y \pmb Y YYY的前 l l l行就是 l l l个有标记样本的标记向量。
基于 W \pmb W WWW构造一个标记传播矩阵 S = D 1 2 W D 1 2 \pmb S = \pmb D^{\frac{1}{2}}\pmb W\pmb D^{\frac{1}{2}} SSS=DDD21WWWDDD21,其中 D 1 2 = diag ⁡ ( 1 d 1 , 1 d 2 , ⋯   , 1 d l + u ) \pmb D^{\frac{1}{2}} = \operatorname{diag}\bigg(\frac{1}{\sqrt{d_1}},\frac{1}{\sqrt{d_2}},\cdots,\frac{1}{\sqrt{d_{l+u}}}\bigg) DDD21=diag(d1 1,d2 1,,dl+u 1),于是有迭代计算式
F ( t + 1 ) = α S F ( t ) + ( 1 − α ) Y \pmb F(t+1) = \alpha \pmb S\pmb F(t) + (1- \alpha)\pmb Y FFF(t+1)=αSSSFFF(t)+(1α)YYY
其中 α ∈ ( 0 , 1 ) \alpha\in (0,1) α(0,1)为用户指定的参数,用于对标记传播项 S F ( t ) \pmb S\pmb F(t) SSSFFF(t)与初始化项 Y \pmb Y YYY重要性进行折中。基于上式迭代收敛可得
F ∗ = lim ⁡ t → ∞ F ( t ) = ( 1 − α ) ( I − α S ) − 1 Y \pmb F^* = \underset{t\rightarrow \infin}{\operatorname{lim}}\pmb F(t) = (1-\alpha)(\pmb I-\alpha\pmb S)^{-1}\pmb Y FFF=tlimFFF(t)=(1α)(IIIαSSS)1YYY
F ∗ \pmb F^* FFF可获得 D u D_u Du中样本的标记 ( y ^ l + 1 , y ^ l + 2 , ⋯   , y ^ l + u ) (\hat y_{l+1},\hat y_{l+2},\cdots,\hat y_{l+u}) (y^l+1,y^l+2,,y^l+u)。算法描述如下
在这里插入图片描述事实上,上图中的算法对应于正则化框架
min ⁡ F 1 2 ( ∑ i , j = 1 l + u ( W ) i j ∣ ∣ 1 d i F i − 1 d j F j ∣ ∣ 2 ) + μ ∑ i = 1 l ∣ ∣ F i − Y i ∣ ∣ 2 \underset{F}{\operatorname{min}}\frac{1}{2}\Bigg(\sum_{i,j =1}^{l+u}(\pmb W)_{ij}\Bigg|\Bigg|\frac{1}{\sqrt{d_i}}\pmb F_i-\frac{1}{ \sqrt{d_j}}\pmb F_j\Bigg|\Bigg|^2\Bigg) + \mu\sum_{i=1}^l ||\pmb F_i - \pmb Y_i||^2 Fmin21(i,j=1l+u(WWW)ijdi 1FFFidj 1FFFj2)+μi=1lFFFiYYYi2
其中 μ > 0 \mu>0 μ>0为正则化参数。当 μ = 1 − α α \mu =\frac{1-\alpha}{\alpha} μ=α1α时,上式的最优解恰为图中算法的迭代收敛解 F ∗ \pmb F^* FFF
上式右边第二项是迫使学得结果在有标记样本上的预测与真实标记尽可能相同,而第一项则迫使相近样本具有相似的标记。
图半监督学习算法在概念上相当清晰,且易于通过对所涉及矩阵运算的分析来探索算法的性质。但此类算法的缺陷也相当明显。首先是在存储开销上,若样本数 O ( m ) O(m) O(m),则算法所设计的矩阵规模为 O ( m 2 ) O(m^2) O(m2),这使得此类算法很难直接处理大规模数据。另一方面,由于构图过程仅能考虑训练样本集,难以判知新样本在图中的位置,因此,在接受到新样本时,或是将其加入原数据集对图进行重构并重新进行标记传播,或是需引入额外的预测机制,例如将 D l D_l Dl和经标记传播后得到标记的 D u D_u Du合并作为训练集,另外训练一个学习去例如支持向量机来对新样本进行预测。

五、基于分歧的方法

与生成式方法、半监督SVM、图半监督学习等基于单学习去利用未标记数据不同,基于分歧的方法(disagreement-based methods) 使用多学习器,而学习去之间的“分歧”(disagreement)对未标记数据的利用至关重要。
“协同训练”(co-training) 是此类方法的重要代表,最初是针对 “多视图”(multi-view) 数据设计的,因此也被看作 “多视图学习”(multi-view learning) 的代表。
在不少现实应用中,一个数据对象往往同时拥有多个 “属性集”(attribute set),每个属性集就构成了一个 “视图”(view)。例如对一部电影来说,它拥有多个属性集:图像画面信息所对应的属性集、声音信息所对应的属性集等。每个属性集都可看作一个视图。为简化讨论,暂且仅考虑图像画面属性集所构成的视图和声音属性所构成的视图。于是,一个电影片段可表示为样本 ( ⟨ x 1 , x 2 ⟩ , y ) (\langle\pmb x^1,\pmb x^2\rangle,y) (xxx1,xxx2,y),其中 x i \pmb x^i xxxi是样本在视图 i i i中的示例,即基于该视图属性描述而得的属性向量,不妨假设 x 1 \pmb x_1 xxx1为图像视图中的属性向量, x 2 \pmb x_2 xxx2为声音视图中的属性向量; y y y是标记,假定是电影的类型,例如“动作片”、“爱情片”等。 ( ⟨ x 1 , x 2 ⟩ , y ) (\langle\pmb x^1,\pmb x^2\rangle,y) (xxx1,xxx2,y)这样的数据就是多视图数据。
假定不同视图具有 “相容性”(compatibility) 即其所包含的关于输出空间 Y \mathcal Y Y的信息是一致的:令 Y 1 \mathcal Y^1 Y1表示从图像画面信息判别的标记空间, Y 2 \mathcal Y^2 Y2表示从声音信息判别的标记空间,则有 Y = Y 1 = Y 2 \mathcal Y = \mathcal Y^1 = \mathcal Y^2 Y=Y1=Y2.在此假设下,显式地考虑多视图有很多好处。仍以电影为例,某个片段上有两人对视,仅凭图像画面信息难以分辨其类型,但此时若从声音信息听到“我爱你”,则可判断出该片段很可能属于“爱情片”;另一方面,若仅凭图像画面信息认为“可能是动作片”,仅凭声音信息也认为“可能是动作片”,则当两者一起考虑时就有很大的把握判别为“动作片”。显然,在“相容性”基础上,不同视图信息的“互补性”会给学习去的构建带来很多便利。
协同训练正式很好地利用了多视图的“相容互补性”。假设数据拥有两个充分(sufficient)且条件独立视图,“充分”是指每个视图都包含足以产生最优学习器的信息,“条件独立”则是指在给定类别标记条件下两个视图独立。在此情形下,可用一个简单的办法来利用未标记数据:首先在每个视图上基于有标记的样本分别训练出一个分类器,然后让每个分类器分别去挑选自己“最有把握的”未标记样本赋予伪标记,并将伪标记样本提供给另一个分类器作为新增的有标记样本用于训练更新 ⋯ ⋯ \cdots\cdots 这个“互相学习、共同进步”的过程不断迭代进行,直至两个分类器都不再发生变化,或达到预先设定的迭代轮数为止。
在这里插入图片描述算法如图所示,若在每轮学习中都考察分类器在所有未标记样本上的分类置信度,会有很大的计算开销,因此在算法中使用了未标记样本缓冲池。分类置信度的估计则因基学习算法 L \mathfrak{L} L而异,例如若使用朴素贝叶斯分类器,则可将后验概率转化为分类置信度;若使用支持向量机,则可将间隔大小转化为分类置信度。
协同训练过程虽简单,但令人惊讶的是,理论证明显示出,若两个视图充分且条件独立,则可利用未标记样本通过协同训练将弱分类器的泛化性能提升到任意高。不过,视图的条件独立性在现实任务中通常很难满足,因此性能提升幅度不会那么大,但研究表明,即便在更弱的条件下,协同训练仍可有效地提升弱分类器的性能。
协同训练算法本身是为多视图数据而设计的,但此后出现了一些能在单视图数据上使用的变体算法,它们或是使用不同的学习算法,或是使用不同的数据采样,甚至使用不同的参数设置来产生不同的学习去,也能有效的利用未标记数据来提升性能。后续理论研究发现,此类算法事实上无需数据拥有多视图,仅需若学习器之间具有显著的分歧(或差异),即通过相互提供伪标记样本的方式来提升泛化性能;不同视图、不同算法、不同采样、不同参数设置等,都仅是产生差异的渠道,而非必要条件。
基于分歧的方法只需采用合适的基学习器,就能较少受到模型假设、损失函数非凸性和数据规模问题的影响,学习方法简单有效、理论基础相对坚实、适用范围较为广泛。为了使用此类方法,需能生成具有显著分歧、性能尚可的多个学习器,但当有标记样本较少,尤其是数据不具有多视图时,要做到这一点并不容易,需有巧妙的设计。

六、半监督聚类

聚类是一种典型的无监督学习任务,然而在现实聚类任务中往往能获得一些额外的监督信息,于是可通过半监督聚类(semi-supervised clustering)来利用监督信息以获得更好的聚类效果。
聚类任务中获得的监督信息大致有两种类型。第一种类型是 “必连”(must-link)“勿连”(connot-link),前者是指样本比属于同一个簇,后者是指样本比不属于同一个簇;第二种类型的监督信息则是少量的有标记样本。
约束k均值(Constrained k-means)算法是利用第一类监督信息的代表。给定样本集 D = { x 1 , x 2 , ⋯   , x 3 } D = \{\pmb x_1,\pmb x_2,\cdots,\pmb x_3\} D={xxx1,xxx2,,xxx3}以及“必连”关系集合 M \mathcal M M和“勿连”关系集合 C , ( x i , x j ) ∈ M \mathcal C,(\pmb x_i,\pmb x_j)\in \mathcal M C,(xxxi,xxxj)M表示 x i \pmb x_i xxxi x j \pmb x_j xxxj必属于同簇, ( x i , x j ) ∈ C (\pmb x_i,\pmb x_j)\in \mathcal C (xxxi,xxxj)C表示两者必不属于同簇。该算法是k均值算法的拓展,它在聚类过程中要确保 M \mathcal M M C \mathcal C C中的约束得以满足,否则将返回错误提示,算法如下
在这里插入图片描述
在这里插入图片描述第二种监督信息是少量有标记样本。给定样本集 D = { x 1 , x 2 , ⋯   , x m } D = \{\pmb x_1,\pmb x_2,\cdots,\pmb x_m\} D={xxx1,xxx2,,xxxm},假定少量的有标记样本为 S = ⋃ j = 1 k S j ⊂ D S=\bigcup_{j=1}^k S_j \subset D S=j=1kSjD,其中 S j ≠ ∅ S_j\ne \emptyset Sj=为隶属于第j个聚类簇的样本。这样的监督信息利用起来很容易:直接将它们作为“种子”,用它们初始化k均值算法的k个聚类中心,并且在聚类迭代更新过程中不改变种子样本的隶属关系。这样就得到了约束种子k均值(Constrained Seed k-mean)算法,算法如下
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值