西瓜书 第十三章 半监督学习

主动学习

利用训练集中已标记的样本训练一个模型,利用这个模型随机的选取一个未标记样本,通过与外界交互得到该样本的标记,然后加入已标记数据重新训练一个模型,不断的重复上述过程,直到模型的性能不在提高为止。

半监督学习基于的假设

半监督学习主要基于两种假设:
聚类假设,即假设数据存在簇结果,同一个簇的样本属于同一个类别。
流形假设,即假设数据分布在一个流形结构上,邻近的样本拥有相似的输出值。
两者的本质都是相似的样本拥有相似的输出

半监督学习目的

让学习器不依赖外界交互、自动地利用未标记样本来提升学习性能。

半监督学习的划分

半监督学习可分为两类:
纯半监督学习,假定训练数据中的未标记样本并非待预测的数据,希望通过对训练数据中所有数据进行学习,从而得到一个模型适用于训练过程中未观察到的数据。简而言之,就是该模型将训练集中不管有无标记都当做训练样本从而来得到一个可以适用于那些未在训练集中出现的数据。
直推学习,假定训练集中所有为标记的样本是待测数据,通过对训练集的学习,然后得到一个适用于训练集中为标记的数据的模型。

三种学习的图解.PNG

生成式方法

生成式方法是直接基于生成式模型的方法。先说一下该方法的思路:该方法先假设所有的数据都是由同一个潜在的模型“生成”的,假设样本基于高斯混合模型生成,每一个类对应一个高斯混合成分(每一个高斯混合成分都是基于同一个高斯混合模型只是其中的参数u_i,\Sigma_i不一样),计算未标记的样本属于每个高斯混合分布的后验概率,最大的后验概率的高斯混合分布所对应的类别为该样本的标记,通过对这些未标记样本全部标记后对高斯混合分布的参数进行更新,再重复上面的步骤不断迭代,直到收敛。接下来我们一起来看看该方法的数学推导过程。

假设样本由高斯混合分布模型生成,且每一个类别对应一个高斯混合成分,即数据样本是基于以下概率密度生成:

13.1.PNG
其中p(x|u_i,\Sigma_i)是样本x属于第i个高斯混合成分的概率。
推导过程:
13.2.png
其中p(\theta=i|x)=\frac{a_i*p(x|u_i,\Sigma_i)}{\sum^N_{i=1}a_i*p(x|u_i.\Sigma_i)}为样本x由第i个高斯混合成分生成的后验概率。

通过上式13.2可知前半段与样本的标记有关,但是只要后验概率足够大,那么f(x)对于样本的类别估计则更为准确,因此可以转化为样本属于哪个高斯混合成分的后验概率大则该样本的标记便为该高斯混合成分所对应的类别。

用极大似然估计法来估计高斯混合模型的参数\{(a_I,u_i,\Sigma_i)|1≤i≤N\}D_l(有标记样本集)∪D_u(未标记样本集)的对数似然是:LL(D_l∪D_u)=\sum_{(x_j,y_j)∈D_l}ln(\sum^N_{i=1}a_i*p(x_j|u_i,\Sigma_i)*p(y_j|\theta=i,x_j))+\sum_{x_j∈D_u}ln(\sum^N_{i=1}a_i*p(x_j|u_i,\Sigma_i)).
根据上面的两个式子,我们可以利用EM算法来解,由初始参数估计样本的后验概率,再由这些概率确定样本的类别根据这些已标记的样本来更新高斯混合模型参数,不断迭代直到收敛。
EM算法.png

半监督SVM

半监督支出向量机(S3VM)是支持向量机在半监督学习上的推广,在不考虑未标记样本时,支持向量机试图找到最大间隔划分超平面,而在考虑未标记样本后,S3VM试图找到能将两类有标记样本分开,且穿过数据低密度区域的划分超平面。其中最著名的是TSVM。

TSVM试图考虑对未标记样本进行各种可能的标记指派,即尝试将每个未标记样本分别作为正例和反例,然后在所有这些结果中寻求一个在所有样本(包括有标记样本和进行了标记指派的未标记样本)上间隔最大化的划分超平面。先介绍一下TSVM的思路:先利用有标记的样本训练得到一个SVM,利用这个SVM来对未标记的样本进行一个标记,称为“伪标记”,找出两个指派为异类且最可能出错的未标记样本,交换他们的标记,再重新求解划分平面和松弛变量,不断的迭代调整,直到两个模型参数相等。

TSVM的学习目标:为未标记样本集给出预测,使得

TSVM学习目标.png
其中,(w,b)确定一个划分超平面;\xi为松弛变量,\xi_i(i=1,2,...,l)对应有标记样本,\xi_i(i=l+1,l+2,..,m)对应未标记样本;C_l与C_u是由用户指定的用于平衡模型复杂度、有标记样本与未标记样本重要程度的折中参数。
【注:在迭代开始时,C_u要比C_l小,使有标记的样本起作用更大,随着算法的调整不断增大直到两个参数相等】
TSVM算法.png

图半监督学习

将数据集映射为一个图,每个样本对应图上一个结点,若两个样本之间的相似度很高,则对于的结点之间存在一条边,边的强度正比于样本之间的相似度,有标记的样本为染过色的,未标记样本尚未染色,于是半监督学习就是“颜色”在图上扩散传播的过程,由于一个图对应一个矩阵,这使得我们能基于矩阵运算来进行半监督学习算法的推导与分析。

下面来介绍一下图半监督学习的过程:首先假设一个图G=(V,E)其中V是结点集合,边集E是是亲和矩阵,常基于高斯函数定义。这个图是V通过映射产生的,所以我们可以从图G学得一个映射f:V→R,通过这个f定义了f的“能量函数”,最后推导出了f_u通过它可以对未标记样本进行预测。

迭代式标记传播算法.png

基于分歧的方法

基于分歧的方法通过多学习器之间的分歧和多样性来利用未标记样本不断迭代更新,最终直到训练器不再变化。协同训练就是其中的一种经典方法。协同训练最初针对多视图数据设计的。
多视图数据:一个数据拥有多个属性集,每个属性集构成一个试图。如:一部电影中有声音和画面类属性,声音类属性对应一个视图。

相容性:即每一个视图训练出来的学习器的输出空间信息是一致的。
互补性:即不同视图所提供的信息是互补/相辅相成的,实质上这里体现的是集成学习的思想。

协调训练正是利用了多视图的相容互补性,利用充分且条件独立视图训练出各自的学习器,让每一个学习器为自己最有把握的未标记样本赋予伪标记,将这些伪标记样本提供给另一个分类器作为新增加的有标记样本用于训练更新,从而不断迭代,直到训练器不再变化或者满足迭代次数。

协同训练过程.png
协同训练算法.png

半监督聚类

聚类是一种无监督的学习任务,但是在现实中我们往往可以利用监督信息来获得更好的聚类效果。聚类中的监督信息大致有两种:
①必连与勿连约束:必连指样本必属于同一个簇,勿连指一定不属于同一个簇。
②标记信息:少量样本带有标记信息。

下面介绍两种两种基于半监督的K-Means聚类算法:第一种基于必连与勿连约束,称为约束k均值算法,在利用k均值分类过程时,检测当前划分是否满足必连与勿连约束,若不满足则将该样本划分到距离次小于当前簇的对应簇中,再检验是否满足约束,直到所有样本划分完毕。

约束k均值算法.png

第二种基于少量有标记样本的监督信息,根据给定的样本集中的少量有标记样本来指定类中心,且在聚类簇迭代过程中不需要改变这些有标记样本的簇隶属关系,通过最开始指定类中心进行划分,根据划分后的结果重新更新类中心,不断迭代。
约束种子k均值算法.png

参考:https://blog.csdn.net/qq_40061421/article/details/98185510
https://blog.csdn.net/qq_40061421/article/details/98185510

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。