半监督学习

目前知道最科学的定义是来自《Introduction to Semi-supervised Learning》,这里只给出一个自我感觉良好的说法,大概就是,在有标签数据+无标签数据混合成的训练数据中使用的机器学习算法吧。一般假设, 无标签数据比有标签数据多,甚至多得多。

虽然训练数据中含有大量无标签数据,但其实在很多半监督学习算法中用的训练数据还有挺多要求的,一般默认的有:
(1)无标签数据一般是有标签数据中的某一个类别的(不要不属于的,也不要属于多个类别的);
(2)有标签数据的标签应该都是对的;
(3)无标签数据一般是类别平衡的(即每一类的样本数差不多);
(4)无标签数据的分布应该和有标签的相同或类似等等。

一般,半监督学习算法可分为:
(1)self-training(自训练算法)、
(2)Graph-based Semi-supervised Learning(基于图的半监督算法)、
(3)Semi-supervised supported vector machine(半监督支持向量机,S3VM)。

1.简单自训练(simple self-training)
用有标签数据训练一个分类器,然后用这个分类器对无标签数据进行分类,这样就会产生伪标签(pseudo label)或软标签(soft label),挑选你认为分类正确的无标签样本(此处应该有一个挑选准则),把选出来的无标签样本用来训练分类器。
2.协同训练(co-training)
也是self-training的一种,**假设每个数据可以从不同的角度(view)进行分类,不同角度可以训练出不同的分类器,**然后用这些从不同角度训练出来的分类器对无标签样本进行分类,再选出认为可信的无标签样本加入训练集中。由于这些分类器从不同角度训练出来的,**可以形成一种互补,而提高分类精度;**就如同从不同角度可以更好地理解事物一样。
协同训练法要求数据具有两个充分冗余且满足条件独立性的视图。充分是指每个视图都包含足够产生最优学习器的信息,此时对其中任一视图来说,另一个视图则是冗余的; 同时,对类别标记来说这两个视图条件独立。然而现实生活中很难满足。Goldman 和Zhou提出了一种可用于单视图数据的协同训练法变体,通过使用两种不同的决策树算法在相同属性集上生成两个不同的分类器,然后按协同训练法的方式来进行分类器增强。
3.半监督字典学习
其实也是 self-training 的一种,先是用有标签数据作为字典,对无标签数据进行分类,挑选出你认为分类正确的无标签样本,加入字典中(此时的字典就变成了半监督字典了

4.标签传播算法(label propagation algorithm)
是一种基于图的半监督算法,**通过构造图结构(数据点为顶点,点之间的相似性为边)来寻找训练数据中有标签数据和无标签数据的关系。**是的,只是训练数据中,这是一种直推式的半监督算法,即只对训练集中的无标签数据进行分类,这其实感觉很像一个有监督分类算法…,但其实并不是,因为其标签传播的过程,会流经无标签数据,即有些无标签数据的标签的信息,是从另一些无标签数据中流过来的,这就用到了无标签数据之间的联系。
5.半监督支持向量机
监督支持向量机是利用了结构风险最小化来分类的,半监督支持向量机还用上了无标签数据的空间分布信息,即决策超平面应该与无标签数据的分布一致(应该经过无标签数据密度低的地方)(这其实是一种假设,不满足的话这种无标签数据的空间分布信息会误导决策超平面,导致性能比只用有标签数据时还差)

其实,半监督学习的方法大都建立在对数据的某种假设上,只有满足这些假设,半监督算法才能有性能的保证,这也是限制了半监督学习应用的一大障碍。

半监督深度学习算法分类
*
无标签数据预训练网络后有标签数据微调(fine-tune)
*
有标签数据训练网络,利用从网络中得到的深度特征来做半监督算法
*
让网络work in semi-supervised fashion

1.无标签数据预训练,有标签数据微调
*
无监督预训练

	* 

用所有数据逐层重构预训练,对网络的每一层,都做重构自编码,得到参数后用有标签数据微调
*
用所有数据训练重构自编码网络,然后把自编码网络的参数,作为初始参数,用有标签数据微调
*
伪有监督预训练:通过某种方式/算法(如半监督算法,聚类算法等),给无标签数据附上伪标签信息,先用这些伪标签信息来预训练网络,然后在用有标签数据来微调。

2.利用从网络得到的深度特征来做半监督算法
神经网络需要有标签数据,造一些有标签数据出来,相当于一种间接的self-training.
先用有标签数据训练网络,从该网络中提取所有数据的特征,以这些特征来用某种分类算法对无标签数据进行分类,挑选你认为分类正确的无标签数据加入到训练集,再训练网络,如此循环。
由于网络得到新的数据(挑选出来分类后的无标签数据)会更新提升,使得后续提出来的特征更好,后面对无标签数据分类就更精确,挑选后加入到训练集中又继续提升网络。
3.让网络work in semi-supervised fashion
1和2虽然都是用了有标签数据和无标签数据,但就神经网络本身而言,其实还是运行在一种有监督的方式上。

已有的半监督分类算法
(1)自我训练(self-training)(2)生成式的半监督学习(3)半监督支持向量机(S3VMs)(4)基于图的半监督学习(5)基于分歧的半监督学习

半监督学习理论及其研究进展综述 2018 上海交大
1.早期阶段:半监督支持向量机(Semi-supervised Support Vector Machine,S3VM)、协同训练(Co-training)
2.成熟阶段:混合模型(Mixture Model)、伪标记或自训练(Pseudo Label,Self-training)、图论半监督学习、流形半监督学习等
3.半监督深度学习:无监督特征学习类、正则化约束类、生成对抗网络(Generative Adversarial Nets,GAN)类
4.半监督学习的应用:遥感图像分类、图像显著性检测
注意:无监督特征学习类中有提到自编码器,对应参考文献

大数据时代的小数据挑战:无监督和半监督方法的最新进展调查 2019
Small Data Challenges in Big Data Era: A Survey of Recent Progress on Unsupervised and Semi-Supervised Methods

CSDN解释 https://blog.csdn.net/weiwei935707936/article/details/100168981
知乎解释 https://zhuanlan.zhihu.com/p/60881968

图像分类的半、自我和无监督学习调查 2021
A Survey on Semi-, Self- and Unsupervised Learning for Image Classification
知乎解释 https://zhuanlan.zhihu.com/p/108502955
半监督目前的方法
*
Fast-Stochastic Weight Averaging (fast-SWA)
*
Mean Teacher
*
MixMatch
*
π-model and Temporal Ensembling
*
Pseudo-Labels
*
Self-Supervised Semi-Supervised Learning (S^4L)
*
Unsupervised Data Augmentation (UDA)
*
Virtual Adversarial Training (VAT)

深度半监督学习的概述 2020
An Overview of Deep Semi-Supervised Learning
知乎导图 https://zhuanlan.zhihu.com/p/375496630

用深度学习和记忆的方法回顾了各种半监督的学习模型 2019
A review of various semi-supervised learning models with a deep learning and memory approach
semi-supervised learning algorithms
1.
self-training methods
2.
generative models
3.
co-training methods
4.
margin-based methods
5.
graph-based methods
6.
semi-supervised boosting

deep learning
1.
convolutional method
2.
Restricted Boltzmann machines (RBMs)
3.
Autoencoder
4.
sparse autoencoder

Semi-supervised learning models based on deep learning
1.
Deep learning model based on PixelRNN and DCGAN
2.
GAN model generative and reparative network classify images 论文 semi-supervised learning with generative adversarial networks
3.
Ladder model
4.
ADGM model

models based on MBNNs(memory-based neural networks)
1.
Recurrent neural network (RNN)
2.
LSTM network
3.
Neural turing machines
4.
Meta learning
5.
Differential neural computer (DNC) external memory learning

通过注意机制和生成的对抗性网络进行的半监督图像分类 2020
Semi-supervised Image Classification via Attention Mechanism and Generative Adversarial Network
网络可以捕获全局依赖性且自适应提取重要信息
GAN可以生成视觉真实的图像,还可以解决半监督图像分类问题
生成器的输入是噪声,判别器的输入是标签图像、未标记图像和生成的图像。
判别器目的是区分真实的图像和生成的图像,此外,判别器可以将真实图像分类为正确的类别。

基于注意的半监督图像分类生成对抗网络 2020
Attention-Based Generative Adversarial Network for Semi-supervised Image Classification

CCS-GAN: a semi-supervised generative adversarial network for image classification

A novel semi-supervised data-driven method for chiller fault diagnosis with unlabeled data 一种新的半监督数据驱动的无标记数据冷水机故障诊断方法
故障诊断 半生成对抗网络

Semi-supervised robust deep neural networks for multi-label image classification 多标签图像分类的半监督鲁棒深度神经网络
图像分类

Graph based semi-supervised classification with probabilistic nearest neighbors 基于图的概率最近邻半监督分类
基于图的半监督 标签传播 图像分类

A new graph-based semi-supervised method for surface defect classification 一种基于图的半监督表面缺陷分类方法
基于图的方法 图卷积网络(GCN)多显微图卷积网络(MMGCN) 缺陷分类

A hybrid classification autoencoder for semi-supervised fault diagnosis in rotating machinery 一种用于旋转机械半监督故障诊断的混合分类自动编码器
故障诊断 自编码器

Extreme semi-supervised learning for multiclass classification 多类分类的极端半监督学习
S3VM问题 Extreme semi-supervised learning(ESSL) ELM 多分类

Graph-based semi-supervised learning: A review 基于图的半监督学习:一个回顾

Semi-supervised Dual-Branch Network for image classification 图像分类的半监督双分支网络
semi-supervised Dual-Branch Network(SDB-Net)
问题 标记数据和未标记数据学习特征分布不同
一个分支标记+未标记数据训练,另一个分支只用第一个分支生成的未标记数据训练

Generative adversarial network-based semi-supervised learning for real-time risk warning of process industries 基于网络的过程行业实时风险预警的生成性对抗性半监督学习
预警系统 数据分类 GAN

Analyzing the effectiveness of semi-supervised learning approaches for opinion spam classification 半监督学习方法对意见垃圾邮件分类的有效性分析
self-training

Self-supervised Learning for Semi-supervised Time Series Classification 半监督时间序列分类中的自监督学习
未标记数据学习特征

Semi-Supervised Learning with Ladder Networks 基于阶梯网络的半监督学习
编码器

Semi-supervised Sequence Learning 半监督的序列学习
编码器

Consistency Regularization with Generative Adversarial Networks for Semi-Supervised Learning 生成对抗网络的一致性正则化的半监督学习
GAN 图像分类

Quantum semi-supervised generative adversarial network for enhanced data classification 量子半监督生成对抗网络的增强数据分类
qSGAN

Deep Semi-Supervised Learning for Time Series Classification 时间序列分类的深度半监督学习
图像到时间序列分类的可转移性 什么模型??

Graph-based Semi-supervised Learning: A Comprehensive Review 基于图的半监督学习:一个全面的回顾
综述 基于图的

Elastic Embedding through Graph Convolution-based Regression for Semi-supervised Classification 基于图卷积的弹性嵌入
非线性数据表示 ???

A novel semi-supervised framework for UAV based crop/weed classification 一种新的基于无人机的作物/杂草分类的半监督框架
GAN 分类

Multiple Classifiers Based Semi-Supervised Polarimetric SAR Image Classification Method 基于多重分类器的半监督偏振SAR图像分类方法
伪标签?

A Weak Coupling of Semi-Supervised Learning with Generative Adversarial Networks for Malware Classification 半监督学习与生成对抗网络进行恶意软件分类的弱耦合
SGAN 分类

Not All Unlabeled Data are Equal: Learning to Weight Data in Semi-supervised Learning 并不是所有的未标记数据都是相等的:在半监督学习中学习加权数据
图像和语言分类

Semi Supervised Learning Using Graph Data Structure – A Review 利用图数据结构的半监督学习综述

Stacked Autoencoders Driven by Semi‐Supervised Learning for Building Extraction from near Infrared Remote Sensing Imagery 由半监督学习驱动的堆叠自动编码器,以构建近红外遥感图像的提取
堆栈自编码器SAE

MatchGAN: A Self-Supervised Semi-Supervised Conditional Generative Adversarial Network 自监督半监督条件生成对抗网络
GAN

Semi‑supervised stacked autoencoder‑based deep hierarchical semantic feature for real‑time fngerprint liveness detection 基于半监督堆叠自动编码器的深度层次语义特征的实时动态检测
堆叠自编码器

A robust graph-based semi-supervised sparse feature selection method 一种鲁棒的半监督稀疏特征选择方法

你可能感兴趣的:(semi-supervised,python)