西瓜书+实战+吴恩达机器学习(十六)半监督学习(半监督SVM、半监督k-means、协同训练算法)

文章目录

  • 0. 前言
  • 1. 半监督SVM
  • 2. 半监督k-means
    • 2.1. 约束k-means
    • 2.2. 约束种子k-means
  • 3. 协同训练算法

如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~

0. 前言

半监督学习中部分样本有标记,部分样本无标记

半监督学习可分为两种:

  1. 纯半监督学习:希望学得的模型适用于未观察到的数据
  2. 直推学习:希望对数据集中未标记的样本进行预测

1. 半监督SVM

半监督支持向量机(Semi-Supervised Support Vector Machine)试图找到能将两类有标记样本分开,且穿过数据低密度区域的划分超平面

TSVM(Transductive Support Vector Machine)算法流程:

  1. 先利用有标记样本训练一个SVM,然后对未标记的样本进行标记指派
  2. 寻找两个标记指派为异类且很可能错误的未标记样本,交换它们的标记
  3. 重新计算超平面,继续迭代第2步,寻求一个在所有样本上间隔最大化的划分超平面

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 , . . . , l y ^ i ( w T x i + b ) ⩾ 1 − ξ i ,   i = l + 1 , . . . , m ξ i ⩾ 0 ,   i = 1 , . . . , m \begin{aligned} \min_{w,b,\hat{y},\xi}\ \ &\frac{1}{2}||w||_2^2+C_l\sum_{i=1}^l\xi_i+C_u\sum_{i=l+1}^m\xi_i\\ s.t.\ \ &y_i(w^Tx_i+b)\geqslant1-\xi_i,\ i=1,...,l\\ &\hat{y}_i(w^Tx_i+b)\geqslant1-\xi_i,\ i=l+1,...,m\\ &\xi_i\geqslant0,\ i=1,...,m \end{aligned} w,b,y^,ξmin  s.t.  21w22+Cli=1lξi+Cui=l+1mξiyi(wTxi+b)1ξi, i=1,...,ly^i(wTxi+b)1ξi, i=l+1,...,mξi0, i=1,...,m

TSVM算法如下图所示(图源:机器学习):
西瓜书+实战+吴恩达机器学习(十六)半监督学习(半监督SVM、半监督k-means、协同训练算法)_第1张图片

2. 半监督k-means

2.1. 约束k-means

给定数据集 D D D,以及“必连”关系集合 M M M和“勿连”关系集合 C C C ( x i , x j ) ∈ M (x_i,x_j)\in M (xi,xj)M表示必同簇, ( x i , x j ) ∈ C (x_i,x_j)\in C (xi,xj)C表示必不同簇。

该算法是k-means的扩展,在聚类过程中确保满足约束

算法如下图所示(图源:机器学习):
西瓜书+实战+吴恩达机器学习(十六)半监督学习(半监督SVM、半监督k-means、协同训练算法)_第2张图片

2.2. 约束种子k-means

给定数据集 D D D,以及少量有标记样本。

该算法是k-means的扩展,将有标记样本作为种子样本,初始化时直接使用同类种子样本的均值作为簇中心,每次迭代不改变种子样本的隶属关系

算法如下图所示(图源:机器学习):
西瓜书+实战+吴恩达机器学习(十六)半监督学习(半监督SVM、半监督k-means、协同训练算法)_第3张图片

3. 协同训练算法

基于分歧的方法使用多学习器,利用学习器之间的分歧对未标记数据训练。

一个数据对象拥有多个属性集,每个属性集对应一个视图。

协同过滤正是利用多视图的相融互补性,在每个视图上训练一个分类器,然后让每个样本选择自己最有把握的未标记样本附上伪标记,给另一个分类器作为新样本训练,如此相互学习,共同进步。

理论显示,如果弱分类器之间具有显著的分歧,那么可通过相互提供伪标记样本提升泛化性能。

算法如下图所示(图源:机器学习):
西瓜书+实战+吴恩达机器学习(十六)半监督学习(半监督SVM、半监督k-means、协同训练算法)_第4张图片


如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~

你可能感兴趣的:(机器学习)