Semi-supervised Learning(半监督学习)

article/2025/8/27 9:48:41

目录

Introduction

Why semi-supervised learning help?

Semi-supervised Learning for Generative Model

Supervised Generative Model

Semi-supervised Generative Model

Low-density Separation Assumption

Self Training

Entropy-based Regularization(基于熵的正则化)

Semi-supervised SVM

Smoothness Assumption

 cluster and then label

Graph-based Approach

Better Representation


Introduction

Supervised Learning(监督学习):

Training data为 ,每一笔data都有输入和输出(标签)。

  • Semi-supervised Learning(半监督学习)

Training data 为 ,其中部分data没有标签。通常情况下无标签的数据远远大于有标签的数据,即U>>R。

半监督学习可以分为以下两种:

  1. Transductive Learning(转换学习):unlabeled data is the testing data,把testing data当做无标签的training data使用,适用于事先已经知道testing data的情况。
  2. Inductive Learning(归纳学习):unlabeled data is not the testing data,不把testing data的feature拿去给机器训练,适用于事先并不知道testing data的情况(更普遍的情况)
  • 为什么要做semi-supervised learning?

实际上我们不缺data,只是缺有label的data。

Why semi-supervised learning help?

unlabeled data虽然只有input,但它的分布,却可以告诉我们一些事情。以下图为例,在只有labeled data的情况下,红线是二元分类的分界线。但当我们加入unlabeled data的时候,由于特征分布发生了变化,分界线也随之改变。

semi-supervised learning的使用往往伴随着假设,而该假设的合理与否,决定了结果的好坏程度;比如上图中的unlabeled data,它显然是一只狗,而特征分布却与猫被划分在了一起,很可能是由于这两张图片的背景都是绿色导致的,因此假设是否合理显得至关重要。

Semi-supervised Learning for Generative Model

Supervised Generative Model

在监督学习中,进行分类训练时,我们首先会计算class1和class2的先验概率P(C1)P(C2) ,然后计算类条件概率P(x|C1)P(x|C2) (假设它们服从高斯分布),最后计算后验概率P(C1|x)

Semi-supervised Generative Model

在基于监督模型的基础上,增加一些无标签的数据之后,就会发现之前那的μ和∑是不合理的,所以需要用无标签的数据重新估计。

具体步骤如下:

  1. 初始化class1和class2的均值、协方差矩阵以及先验概率,统称为θ。可以随机初始化,也可以用有标签数据估算。
  2. 根据θ计算出unlabeled data的后验概率。
  3. 更新参数。 

以上的推导基于的基本思想是,把unlabeled data 看成一部分属于 ,一部分属于 ,则用全概率公式就可以求出x属于unlabeled data的概率。

Low-density Separation Assumption

通俗来讲,就是这个世界是非黑即白的,在两个class的交界处data的密度(density)是很低的,它们之间会有一道明显的鸿沟,此时unlabeled data(下图绿色的点)就是帮助你在原本正确的基础上挑一条更好的boundary。

Self Training

  1. 首先从labeled data去训练一个model ;
  2. 对unlabeled data打上label,叫作pseudo label(伪标签);
  3. 从unlabeled data中拿出一些data加到labeled data里;
  4. 继续训练model

  • self-training在regression上有用吗?

 Regression的output是一个数值,因为unlabeled data代入模型变成labeled data,重新训练的模型不会发生改变。

该方法与之前提到的generative model还是挺像的,区别在于:

  1. Self Training使用的是hard label:假设一笔data强制属于某个class。
  2. Generative Model使用的是soft label:假设一笔data可以按照概率划分,不同部分属于不同class。

可以看到,在neural network里使用soft label是没有用的,因为把原始的model里的某个点丢回去重新训练,得到的依旧是同一组参数,实际上low density separation就是通过强制分类来提升分类效果的方法。

Entropy-based Regularization(基于熵的正则化)

这种方法是Self-training的进阶版。我们可以使用Entropy评估分布 的集中程度,Entropy越大分布越离散。反之则分布越集中。因此,在unlabeled data上,output的entropy要越小越好。

对labeled data来说,它的output要跟正确的label越接近越好,用cross entropy表示;对unlabeled data来说,要使得该output的entropy越小越好,两项综合起来,可以用weight来加权,以决定哪个部分更为重要一些。

Semi-supervised SVM

SVM为两个类别的数据找到一个boundary,一方面要有最大的margin,让这两个class分的越开越好;另一方面,要有最小的分类错误。

SVM穷举所有unlabled data的类别并进行计算,最终选择与两个类别的margin最大、分类错误最小的boundary。

但是这么做会存在一个问题,数据量大的时候,几乎难以穷举完毕。下面给出的paper提出了一种approximate的方法,基本精神是:一开始你先得到一些label,然后每次改一笔unlabeled data的label,看看可不可以让你的objective function变大,如果变大就去改变该label。

Smoothness Assumption

smoothness assumption的基本精神是:近朱者赤,近墨者黑。即相似的x 具有相同的y ,其具体定义为:

  1. 的分布是不平均的。
  2. 如果今天x1和x2在一个高密度的区域很相似的话, 才相同。

以手写数字识别为例,对于最右侧的2和3以及最左侧的2,显然最右侧的2和3在pixel上相似度更高一些;但如果把所有连续变化的2都放进来,就会产生一种“不直接相连的相似”,根据Smoothness Assumption的理论,由于2之间有连续过渡的形态,因此第一个2和最后一个2是比较像的,而最右侧2和3之间由于没有过渡的data,因此它们是比较不像的。人脸的过渡数据也同理。

Smoothness Assumption在文件分类上是非常有用的。假设对天文学(astronomy)和旅行(travel)的文章进行分类,它们有各自的专属词汇,此时如果unlabeled data与label data的词汇是相同或重合(overlap)的,那么就很容易分类;但真实情况中unlabeled data和labeled data之间可能没有任何重复的word,因为世界上的词汇太多了,sparse的分布中overlap难以发生。

但如果unlabeled data足够多,就会以一种相似传递的形式,建立起文档之间相似的桥梁。

 cluster and then label

cl then label就是先聚类后标记。假设数据分布如下,橙色是class 1,绿色是class 2,蓝色是未标注数据。接下来做聚类,可能把所有数据分成3个cluster。在cluster1里,class 1的label最多,那cluster1里所有数据标记为class 1,同样的cluster2和cluster3都标记为class 2。然后把标记后的数据拿去learn。

Graph-based Approach

通过引入图结构,来表达通过高密度路径进行连接这件事情。所谓的高密度路径的意思是说,如果有两个点,在图上是相连的,那它们就是同一个class,如果没有相连,就算距离很近,也走不到。

  • 如何构建图?
  1. 先定义两个对象之间的相似度
  2. 然后就是添加边,构建graph,方式有很多种: k nearest neighbor:计算数据与数据之间的相似度,然后设置k例如3,就是3个最相似的点相连。 e-Neighborhood:只有相似度超过某个阈值的点才会相连。
  3. 除此之外,还可以给Edge特定的weight,让它与相似度s成正比。

graph-based approach的基本思想就是,在graph上已经有一些labeled data,那么跟它们相连的point,属于同一类的概率就会上升,每一笔data都会去影响它的邻居,,并且这个影响是会随着edges传递出去的。但是如果数据不够多,中间就有断开,那信息就传递不过去。

然后定义一个S函数,定量分析graph的平滑度,数值越小表示越滑。

 S可以稍微整理下,写成向量形式如下图。

如果要把平滑度考虑到神经网络里时,就是在原来的损失函数里加上 。不一定要在output上计算平滑度,在深度神经网络里,可以把平滑度计算放在网络的任何地方。

Better Representation

Better Representation的精神是,去芜存菁,化繁为简。就是要抓住核心。 


http://chatgpt.dhexx.cn/article/c5DttDIL.shtml

相关文章

supervised contrastive learning 解读

SupCon 定义: Clusters of points belonging to the same class are pulled together in embedding space, while simultaneously pushing apart clusters of samples from different classes. novelties: 属于同一类的归一化后的特征表示靠得越近越好…

第十章 Supervised PCA

supervised pca很简单粗暴,计算 X X X的每一个纬度和 Y Y Y的相关性,取一个阈值,丢掉一些纬度,然后用普通的pca降维。 如何计算两个随机变量的相关性/相似性? 两个随机变量 X , Y X,Y X,Y,有一个函数 ϕ \p…

学习笔记|BERT——自监督学习的典范

1. 自监督学习的概念 在机器学习中,最常见的是监督学习(Supervised learning)。假设模型的输入是 x x x,输出是 y y y,我们如何使模型输出我们期望的 y y y呢?我们得拥有已标注的(label&#x…

supervised使用教程

安装 平台要求 引自官网(supervised.org/introductio…):Supervisor已经过测试,可以在Linux(Ubuntu 9.10),Mac OS X(10.4 / 10.5 / 10.6)和Solaris(对于Int…

如何使用镜像网站?

1. 使用清华大学镜像网站下载镜像 官网:清华大学镜像站 例如centOS: 1)查找centOS 2)找到对应的版本号 3)找到镜像地址 4)找到自己要下载的版本 DVD:标准版 mini:迷你版 everyt…

如何快速镜像一个网站

仅需下述几个步骤即可快速镜像一个网站,镜像的内容包括html,js,css,image等静态页面资源,暂时无法镜像有用户交互的动态页面。 1、安装wget工具,以ubuntu系统为例 sudo apt-get install wget 2、下载网站…

【数学与算法】泰勒公式_线性化_雅各比矩阵_黑塞矩阵

本文的所涉及的知识点,如果有相关知识盲区,请参考: 微分方程通杀篇 如何区分线性系统与非线性系统 本文是观看B站视频【工程数学基础】2_线性化_泰勒级数_泰勒公式所作的笔记。 其中, k k k 是第k个点, n n n是指每个点…

机器学习中的数学基础 Day1

O(n) o(n) order&#xff1a;阶&#xff0c;多次式阶&#xff0c;x^2x1 阶2 f(x)O(g(x))&#xff1a;存在x0、M&#xff0c;使得x>x0时&#xff0c;f(x)<Mg(x) 2x^2 O(x^2),M2,x0任意 x^2x1 O(x^2),M2,x010 f(x)o(g(x)):对于任意的ε&#xff0c;存在x0&#xff0…

Hessian矩阵正定与函数凹凸性的关系

1. 从矩阵变换的角度 首先半正定矩阵定义为: 其中X 是向量&#xff0c;M 是变换矩阵 我们换一个思路看这个问题&#xff0c;矩阵变换中&#xff0c;代表对向量 X进行变换&#xff0c;我们假设变换后的向量为Y&#xff0c;记做 于是半正定矩阵可以写成&#xff1a; 这个是不是很…

Jacobian and Hessian(雅克比矩阵和海塞矩阵)

雅克比矩阵&#xff08;Jacobian &#xff09; 雅可比矩阵 是一阶偏导数以一定方式排列成的矩阵, 其行列式称为雅可比行列式。 假设 F : R n → R m F: R_n \to R_m F:Rn​→Rm​ 是一个从欧式 n 维空间转换到欧式 m 维空间的函数. 这个函数由 m 个实函数组成:&#xff0c;记…

雅可比(jacobian)、黑塞矩阵(Hessian)

一、雅克比矩阵 雅可比矩阵和行列式&#xff08;Jacobian&#xff09;_雅可比行列式_JasonKQLin的博客-CSDN博客 在牛顿迭代法、L-M中求解非线性方程组&#xff0c;都会用到雅可比(一阶偏导数) 和黑塞矩阵&#xff08;2阶偏导数&#xff09;矩阵。 雅可比矩阵 是一阶偏导数以一…

math: 雅可比矩阵 黑塞矩阵

雅可比矩阵&#xff1a;一个多元函数的一阶偏导数以一定方式排列成的矩阵 黑塞矩阵&#xff1a;一个多元函数的二阶偏导数以一定方式排列成的矩阵 雅可比矩阵 在向量微积分中&#xff0c;雅可比 矩阵是一阶 偏导数以一定方式排列成的矩阵&#xff0c;其行列式称为 雅可比行列式…

黑塞矩阵 Hessian Matrix

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴! 在机器学习课程里提到了这个矩阵,那么这个矩阵是从哪里来,又是用来作什么用呢?先来看一…

黑塞矩阵(海森矩阵,Hessian Matrix)与牛顿法最优化

黑塞矩阵 黑塞矩阵&#xff08;Hessian Matrix&#xff09;&#xff0c;又译作海森矩阵、海瑟矩阵、海塞矩阵等&#xff0c;是一个多元函数的二阶偏导数构成的方阵&#xff0c;描述了函数的局部曲率。黑塞矩阵最早于19世纪由德国数学家Ludwig Otto Hesse提出&#xff0c;并以其…

鞍点的判断(黑森矩阵/黑塞矩阵)

判断鞍点的一个充分条件是&#xff1a;函数在一阶导数为零处&#xff08;驻点&#xff09;的黑塞矩阵为不定矩阵。 半正定矩阵&#xff1a; 所有特征值为非负。 半负定矩阵&#xff1a;所有特征值为非正。 不定矩阵&#xff1a;特征值有正有负。 容易解出特征值一个为2,一个为…

Hessian 矩阵(海塞矩阵)

1. 海塞矩阵定义&#xff1a; 它是一个由多变量实值函数的所有二阶偏导数组成的方块矩阵 2. 数学描述&#xff1a; 假设有一实值函数 f(x1,x2,…,xn) &#xff0c;如果 f的所有二阶偏导数都存在并在定义域内连续&#xff0c;那么函数 f的海塞矩阵为&#xff1a; 或者使用下…

函数凹凸性与黑塞矩阵

1 同济大学高等数学定义 2 国际上的定义 3 黑塞矩阵 1 同济大学高等数学定义 我们从几何上看到&#xff0c;在有的曲线弧上&#xff0c;如果任取两点&#xff0c;则联结这两点间的弦总位于这两点间的弧段的上方&#xff0c;如图3-8&#xff08;a&#xff09;&#xff1b;而有…

由黑塞(Hessian)矩阵引发的关于正定矩阵的思考

最近看论文&#xff0c;发现论文中有通过黑塞(Hessian)矩阵提高电驱系统稳定性的应用。所以本篇主要从Hessian矩阵的性质出发&#xff0c;对其中正定矩阵的判定所引发的想法进行记录。 (其实看论文出现黑塞很惊奇&#xff0c;因为前不久刚读了作家黑塞的《德米安&#xff1a;彷…

Hessian matrix黑塞矩阵(海森矩阵)和雅克比矩阵Jacobian matrix

对梯度再求导生成的矩阵为黑塞矩阵 雅克比矩阵是一个m*n的矩阵 目标函数的梯度的雅克比矩阵就是目标函数的Hessian矩阵。 对于黑塞矩阵的特征值&#xff1a;就是形容在该点附近特征向量的凹凸性。特征值越大&#xff0c;凸性越强。 如果是正定矩阵&#xff0c;则临界点处是一个…

黑塞矩阵和雅可比矩阵理解

文章目录 1&#xff1a;一元泰勒展开公式2&#xff1a;二元泰勒展开公式3&#xff1a;二元函数的黑塞矩阵4&#xff1a;多元函数的黑塞矩阵5&#xff1a;多元函数的雅可比矩阵&#xff08;Jacobian矩阵&#xff09;参考文献 个人笔记&#xff1a; 1&#xff1a;一元泰勒展开公…