首页 > 编程知识 正文

什么是半监督算法,半监督分类算法

时间:2023-05-05 09:41:46 阅读:248800 作者:43

1、生成模型算法(Generate semi-supervised models)

思想如下:假设一个模型,其分布满足:p(x ,y)=p(y) p(x | y)。其中,p(x | y)是已知的条件概率分布。那么大量未经标记数据的联合分布就可以被确定。生成模型算法的流程图如下。

半监督学习方法可以对同时含有已标记的和未标记的数据集进行聚类,然后通过聚类结果中,每一类中所含有的任何一个已标记数据实例来确定该聚类全体的标签。
更进一步的,考虑聚类算法可能存在误差。我们对聚类结果(某个分类)中未标记的的标记需要更加慎重。这个时候可以考虑表决法,根据聚类结果中某已标记分类的样本多少来决定是否“感染”,也就是否未未标记样本进行标记。而处在聚类边缘的样本,可以考虑通过其他算法完成标记。这样可以保证情报收集过程中小样本标记工作更高的准确性。

2、自训练算法(Self-training)

思想如下:首先训练带有标记的数据(这一步也可以理解为监督训练),得到一个分类器。然后我们就可以使用这个分类器对未标识的数据进行分类。根据分类结果,我们将可信程度较高的未标记数据及其预测标记加入训练集,扩充训练集规模,重新学习以得到新的分类器。

3、联合训练(Co-training)

思想如下:首先我们需要根据已标记数据的两组不同特征来划分出不同的两个数据集,然后根据这两个不同的数据集分别训练出两个分类器。每个分类器用于无标识的数据集的分类,并且给出分类可信程度的概率值。流程图如下:

事实上,不同分类器可以给出不同的概率值。概率值高低分类加入数据集,然后进而影响每个判别器的重新生成,逐步提升判别器泛化能力。

4. 半监督支持向量机(S3VMs)

半监督支持向量机(Semi-supervised support vector machines,S3VM或S3VMs)是由直推学习支持向量机(Transductive Support Vector Machines, TSVM)变化而来。S3VM算法同时使用带有标记和不带标记的数据来寻找一个拥有最大类间距的分类面。

上图则为S3VM的示意图。其中实心图形(原形、正方形)代表已标记数据,而空心图形代表为标识数据。和支持向量机的组成原理类似,分类面的生成一样使用了最大-最小理论,S3VM的判别面生成依据下式:

w用于控制模型复杂性(分类面的维度)。

↑↑ 两个多项式项依次代表了标记数据和未标记数据的损失。


↑↑ 代表已标记的数据和未标记的数据均拥有很大的间距。
为了约束平衡,我们规定:

式子的目的在于确认一个用于分类面的向量w,它满足最低损失条件和其他约束条件。定义B为先验知识的前提下,S3VM分类器界面如下:

S3VMs处于混合整数程序中,通常难以处理。通常用于文本分类,邮件分类,图像分类以及生物医疗和命名实体分别等情景。

5.基于图论的方法

基于图论的方法思想:首先从训练样本中构建图。图的顶点是已标记或者未标记的训练样本。两个顶点xi,xj之间的无向边表示两个样本的相似性,又称两个样本的相似性度量。根据图中的度量关系和相似程度,构造k-聚类图。然后再根据已标记的数据信息去标记为未标记数据。算法流程图如下:

参考:
1.A Survey on semi-supervised feature selection methods
伊朗亚兹德大学 Sheikhpour Razieh、伊朗亚兹德大学 Sarram Mehdi Agha、伊朗德黑兰大学 Gharaghani Sajjad、伊朗德黑兰大学 Chahooki Mohammad Ali Zare
https://www.sciencedirect.com/science/article/pii/S0031320316303545
2.半监督支持向量机的研究
南京大学:Yu-Feng Li
https://wenku.baidu.com/view/a202046c700abb68a982fb94.html

Javaweb的知识点有哪些比较两个HTML元素的顺序javascript如何输入两个数并求和id是html的属性吗Qt MQTT开发环境如何搭建javascript可用的编辑器有哪些windows server 2008 r2标准版怎么安装python环境

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。