形式化地看,有训练样本集 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},l≪u,这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),前者假定训练数据中的未标记样本并非待预测的数据,而后者假定学习过程中所考虑的未标记样本恰是待预测数据,学习的目的就是在这些未标记样本上获得最优泛化性能。换言之,纯半监督学习是基于“开放世界”假设,希望学得模型能适用于训练过程中未观察到的数据;而直推学习是基于“封闭世界”假设,仅试图对学习过程中观察到的未标记数据进行预测。如下图,直观地显示出主动学习、纯半监督学习、直推学习的区别。需注意的是,纯半监督学习和直推学习常合称为半监督学习
给定一个数据集,我们可将其映射为一个图,数据集中每个样本对应于图中一个结点,若两个样本之间得相似度很高(或相关性很强),则对应的结点之间存在一条边,边的 “强度”(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},l≪u,l+u=m。先基于 D l ∪ D u D_l\cup D_u Dl∪Du构建一个图 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σ2−∣∣xi−xj∣∣22),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:V→R,其对应的分类规则为: 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=1∑mj=1∑m(WWW)ij(f(xxxi)−f(xxxj))2=21(i=1∑mdif2(xxxi)+j=1∑mdjf2(xxxj)−2i=1∑mj=1∑m(WWW)ijf(xxxi)f(xxxj))=i=1∑mdif2(xxxi)−i=1∑mj=1∑m(WWW)ijf(xxxi)f(xxxj)=fffT(DDD−WWW)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 Δ=DDD−WWW为拉普拉斯矩阵(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(Dll−Wll)fffl−2fffuTWWWulfffl+fffuT(DDDuu−WWWuu)fffu
由 ∂ E ( f ) ∂ f u = 0 \frac{\partial E(f)}{\partial f_u} = 0 ∂fu∂E(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=(DDDuu−WWWuu)−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 yi∈Y,仍基于 D l ∪ D u D_l\cup D_u Dl∪Du构建一个图 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)i∣Y∣,)为示例 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 max1≤j≤∣Y∣(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(1≤i≤l)∧(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(d11,d21,⋯,dl+u1),于是有迭代计算式
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∗=t→∞limFFF(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=1∑l+u(WWW)ij∣∣∣∣∣∣∣∣∣∣di1FFFi−dj1FFFj∣∣∣∣∣∣∣∣∣∣2)+μi=1∑l∣∣FFFi−YYYi∣∣2
其中 μ > 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=1kSj⊂D,其中 S j ≠ ∅ S_j\ne \emptyset Sj=∅为隶属于第j个聚类簇的样本。这样的监督信息利用起来很容易:直接将它们作为“种子”,用它们初始化k均值算法的k个聚类中心,并且在聚类迭代更新过程中不改变种子样本的隶属关系。这样就得到了约束种子k均值(Constrained Seed k-mean)算法,算法如下