课程笔记——Semi-supervised半监督学习

1.半监督学习

1.1 定义

  • 监督学习样本数据 例如:图片+标签
  • 半监督学习样本数据 例如:R个图片+标签,U个图片,通常U >> R。分类:transductive learning、inductive learning
  • 直推式学习(transductive learning):将无标签数据作为测试数据。该做法不算是欺骗(当应用label才算欺骗,该做法仅应用feature)
  • 归纳学习(inductive learning):无标签数据不作为测试数据,在training时还不知道testing set是什么样子,即事先无法利用testing set,需要先训练好model。
  • 采用直推式学习/归纳学习取决于testing set是否已知

1.2 为什么采用半监督学习

  • 不缺数据,缺带标签的数据且收集昂贵
  • 人类行为也是在做半监督学习

1.3 课程内容

  • 生成模型的半监督学习
  • 低密度分离的假设
  • 平滑性假设
  • 更好表示

2.生成模型的半监督学习

在监督学习中:已知样本来自C1 C2两类,我们统计得到数据的先验概率P(Ci)和分类概率P(x|Ci),假设每类数据均服从高斯分布,则其均值分别为 μ \mu μ1 μ \mu μ2,方差为 Σ \Sigma Σ,由此可估测一个给定数据分类概率为:
在这里插入图片描述
而当给定一些无标签数据时,各概率数值的估测均会受到影响,故最终会影响分类 影响decision boundary。那么如何有效分类?做法如下:

  • 初始化 θ \theta θ={ P(C1),P(C2), μ \mu μ1, μ \mu μ2, Σ \Sigma Σ },初始化方法:可以用有标签数据先估测、random等方法

  • 计算无标签数据的Pθ(C1|xμ),该值取决于 θ \theta θ

  • 更新模型
    原来没有无标签数据时 P ( C 1 ) = N   1   N P(C_1)=\frac{N~1~}{N} P(C1)=NN 1 ,N1为被标注为C1的样本数,N为总样本数
    但现在需要考虑无标签数据,计算所有unlabelled data是C1的后验概率的和,以决定多少属于C1,即:
    在这里插入图片描述
    原来没有无标签数据时, μ \mu μ1 = 所有属于C1的有标签数据 ÷ N1
    但现在需要考虑无标签数据,计算思想同上,即:
    在这里插入图片描述

    思路解释:

  • 标签数据的最大可能来源:( y ^ \hat y y^为标签)
    在这里插入图片描述

  • 标签数据+无标签数据的最大可能来源:
    在这里插入图片描述

3.低密度分离的假设(low-density separation)

3.1 low-density separation定义

给定两类有标签数据那么boundary为两条红线中的任一条均可(下图),但当加入无标签数据时(绿圆)则左侧boundary最优,因为low-density separation定义为交界处data密度最低 则最合理。
在这里插入图片描述

3.2 self-training

过程:

  • 给定R组labelled data,U组unlabelled data
  • 通过labelled data训练得到模型 f f f*
  • 将unlabelled data放入模型 f f f*中得到伪标签数据
  • 将部分伪标签数据+R组labelled data,放入模型 f f f*中再训练(选择哪部分伪标签放入训练需要自定义,甚至自己提供权重)
  • 循环

思考:

  • 将该方法应用于回归问题中是否有用?不会,伪标签数据由 f f f*产生,再加入至模型中,对模型无改进。
  • generative model与self-training对比:generative model用的是soft label(存在一定概率属于C1,同时也存在一定概率属于C2),self-training用的是hard label(类别是明确的)。在neural network中,采用soft label是鸡肋的,分析:

在这里插入图片描述
若认为这样的判断过于武断,则可采用下面进阶的方法——基于熵的正则化

3.3 基于熵的正则化(entropy-based regularization)

评估一个模型的优劣:类别梯度明显则为优,类别梯度都差不多则为劣。如图:
在这里插入图片描述
引入熵概念:熵越小,该模型越好。据此假设即可重新设计loss function(下图),针对标签数据即,使预测标签和正确标签差距越小越好(如可使交叉熵估测),针对无标签数据则采用熵进行衡量,并且也可根据个人对于标签数据/非标签数据的偏好*权重 λ \lambda λ,同时因为loss function可微分,所以训练起来无障碍。
在这里插入图片描述

4.平滑假设(smoothness assumption)

4.1 假设

  • x的分布是不平均的,某些地方集中,某些地方分散
  • x1和x2当处于同一个高密度区域时,则其标签相同;x3和x2当处于不同高密度区域时,则其标签不同(下图)
    在这里插入图片描述

4.2 应用

  • 如数字识别,单纯计算pixel的相似度不够准确,而可通过中间过渡形态(即不直接相连的相似)进行分类
  • 如在文件分类,收集够多的无标签数据找到相似性
    在这里插入图片描述

4.3 做法

4.3.1 方法1:先聚类再标注(实际先用deep autoencoder提取特征,再操作)

  • 如图有两个标签,蓝色无标签数据
  • 先分成3个cluster
  • 再标注类别

4.3.2 方法2:graph-based approach

定性分析:

  • 定义 xi 和 xj 计算相似度的方法 s ( x i , x j ) s(x^i,x^j) s(xi,xj)
  • 建立graph,添加edge,如k nearest neighbor(即与自己最近的k点相连)
  • 可根据相似度添加edge权重,如Gaussian Radial Basis Function(可以保证距离小的相连 e.g.两橙色点,距离较大的 虽然不明显但也无法相连 e.g.橙色和绿色点,原因:取了exponential后值会变大 区分效果较好):
    在这里插入图片描述
  • 标签数据会影响其邻居类别,且标签会通过link传递(即虽然可能某点并没有直接与标签数据相连,但是通过传递,判定该点为该标签类别)
    在这里插入图片描述

定量分析:

  • 如何衡量smoothness程度?使用下图公式,计算两两相连的所有点,其中 w w w为权重。得到的 s s s越小,越平滑。
    在这里插入图片描述
    整理一下算法:
  • y y y为(R+U)维向量, W W W为权重矩阵, D D D为将 W W W每一行求和放在对角线位置
  • 拉普拉斯矩阵 L L L = D D D - W W W
    在这里插入图片描述
  • loss function如下图,分析:不仅要使 C ( y r , y ^ r ) C(y^r,\hat y^r) C(yr,y^r)越小越好,还要是其足够平滑(即 λ S \lambda S λS最小,也象征正则化项)
    在这里插入图片描述

5.更好表示(better representation)

思想就是直指核心,具体内容下节课讲。
在这里插入图片描述

参考

李宏毅 李老师个人主页(内有PPT和课程视频)

感谢李老师超级详细的课程,让我这个学渣看到了学习的希望~

  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Semi-supervised classification with graph convolutional networks (GCNs) is a method for predicting labels for nodes in a graph. GCNs are a type of neural network that operates on graph-structured data, where each node in the graph represents an entity (such as a person, a product, or a webpage) and edges represent relationships between entities. The semi-supervised classification problem arises when we have a graph where only a small subset of nodes have labels, and we want to predict the labels of the remaining nodes. GCNs can be used to solve this problem by learning to propagate information through the graph, using the labeled nodes as anchors. The key idea behind GCNs is to use a graph convolution operation to aggregate information from a node's neighbors, and then use this aggregated information to update the node's representation. This operation is then repeated over multiple layers, allowing the network to capture increasingly complex relationships between nodes. To train a GCN for semi-supervised classification, we use a combination of labeled and unlabeled nodes as input, and optimize a loss function that encourages the network to correctly predict the labels of the labeled nodes while also encouraging the network to produce smooth predictions across the graph. Overall, semi-supervised classification with GCNs is a powerful and flexible method for predicting labels on graph-structured data, and has been successfully applied to a wide range of applications including social network analysis, drug discovery, and recommendation systems.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值