返回介绍

数学基础

统计学习

深度学习

工具

Scala

一、生成式半监督学习方法

发布于 2023-07-17 23:38:25 字数 5002 浏览 0 评论 0 收藏 0

  1. 生成式generative methods 半监督学习方法:直接基于生成式模型的方法。

  2. 生成式半监督学习方法假设所有数据(无论是否有标记),都是由同一个潜在的模型生成的。

    • 该假设使得能够通过潜在模型的参数将未标记样本与学习目标联系起来。
    • 未标记样本的标记可以视作模型的缺失参数,通常可以基于EM算法进行极大似然估计求解。
  3. 生成式半监督学习方法其实是一个算法框架,内部不同算法的主要区别在于生成式模型的假设:不同的假设将产生不同的方法。

1.1 生成式高斯混合半监督学习

  1. 给定样本 $ MathJax-Element-188 $ ,其真实类别标记为 $ MathJax-Element-68 $ 。

    假设样本由高斯混合模型产生,且每个类别对应一个高斯混合成分。即数据样本是基于概率密度:

    $ p(\mathbf{\vec x})=\sum_{k=1}^{K}\alpha_k p_k(\mathbf{\vec x};\vec \mu_k,\Sigma_k) $

    来产生的。其中:

    • $ MathJax-Element-69 $ 是样本 $ MathJax-Element-188 $ 的第 $ MathJax-Element-537 $ 个高斯混合成分的概率。
    • $ MathJax-Element-72 $ 为该高斯混合成分的参数。
    • 混合系数 $ MathJax-Element-73 $ 。
  2. 令 $ MathJax-Element-74 $ 为模型 $ MathJax-Element-451 $ 对 $ MathJax-Element-188 $ 的预测标记, $ MathJax-Element-77 $ 表示样本 $ MathJax-Element-188 $ 隶属的高斯混合成分。

    根据最大化后验概率,有:

    $ f(\mathbf{\vec x})=\arg\max_{j\in \mathcal Y}p(y=j\mid \mathbf{\vec x}) $
    • 考虑到 $ MathJax-Element-79 $ , 则有:

      $ f(\mathbf{\vec x})=\arg\max_{j\in \mathcal Y}\sum_{k=1}^{K}p(y=j,\Theta=k\mid \mathbf{\vec x}) $
    • 由于 $ MathJax-Element-80 $ , 则有:

      $ f(\mathbf{\vec x})=\arg\max_{j\in \mathcal Y}\sum_{k=1}^{K}p(y=j\mid \Theta=k,\mathbf{\vec x})\cdot p(\Theta=k\mid \mathbf{\vec x}) $
      • $ MathJax-Element-91 $ 为已知样本 $ MathJax-Element-188 $ ,则它由第 $ MathJax-Element-537 $ 个高斯混合成分生成的后验概率

        $ p(\Theta=k\mid \mathbf{\vec x})=\frac{\alpha_k p_k(\mathbf{\vec x};\vec \mu_k,\Sigma_k)}{\sum_{k=1}^{K}\alpha_k p_k(\mathbf{\vec x};\vec \mu_k,\Sigma_k)} $
      • $ MathJax-Element-89 $ 为已知 $ MathJax-Element-188 $ 由第 $ MathJax-Element-537 $ 个高斯混合成分生成,则其类别为 $ MathJax-Element-385 $ 的概率

  3. 在 $ MathJax-Element-88 $ 中, $ MathJax-Element-89 $ 需要知道样本的标记 $ MathJax-Element-368 $ ; 而 $ MathJax-Element-91 $ 并不需要样本的标记。因此有标记和无标记的数据均可利用。

    因此通过引入大量的未标记数据,对 $ MathJax-Element-92 $ 的估计可以由于数据量的增长而更为准确,于是上式的整体估计可能会更准确。

  4. 给定标记样本集 $ MathJax-Element-124 $ ,和未标记样本集 $ MathJax-Element-236 $ ,其中 $ MathJax-Element-127 $ 。

    假设所有样本独立同分布,且都是由同一个高斯混合模型 $ MathJax-Element-96 $ 生成的。

    • 高斯混合模型的参数 $ MathJax-Element-97 $ 采用极大似然法来估计。

    • $ MathJax-Element-98 $ 的对数似然是:

      $ \mathcal L=\sum_{(\mathbf{\vec x}_i,y_i)\in \mathbb D_l}\log\left(\sum_{k=1}^{K}\alpha_k p_k(\mathbf{\vec x}_i;\vec \mu_k,\Sigma_k)\cdot p(y_i\mid\Theta=k,\mathbf{\vec x}_i)\right) \\ +\sum_{\mathbf{\vec x}_i \in \mathbb D_u}\log\left(\sum_{k=1}^{K}\alpha_k p_k(\mathbf{\vec x}_i;\vec \mu_k,\Sigma_k)\right) $
      • 第一项对数项中,为联合概率 $ MathJax-Element-99 $ :

        $ p(\mathbf{\vec x}_i,y_i)=p(y_i\mid \mathbf{\vec x}_i)p(\mathbf{\vec x}_i)=\sum_{k=1}^{K}\alpha_k p_k(\mathbf{\vec x}_i;\vec \mu_k,\Sigma_k)\cdot p(y_i\mid \Theta=k,\mathbf{\vec x}_i) $
      • 第二项对数项中,为概率 $ MathJax-Element-100 $ :

        $ p(\mathbf{\vec x}_i)=\sum_{k=1}^{K}\alpha_k p_k(\mathbf{\vec x}_i;\vec \mu_k,\Sigma_k) $
  5. 高斯混合模型参数估计可以用EM算法求解。迭代更新步骤为:

    • E步:根据当前模型参数 $ MathJax-Element-101 $ 计算未标记样本 $ MathJax-Element-548 $ 属于各高斯混合成分的概率:
    $ \gamma_{i,k}=\frac{\hat \alpha_k p_k(\mathbf{\vec x}_i;\hat {\vec \mu_k},\hat \Sigma_k)}{\sum_{k=1}^{K}\hat \alpha_k p_k(\mathbf{\vec x}_i;\hat {\vec \mu_k},\hat\Sigma_k)} $
    • M步:基于 $ MathJax-Element-103 $ 更新模型参数。

      令 $ MathJax-Element-104 $ 为第 $ MathJax-Element-537 $ 类的有标记样本数目,则:

    $ \hat{\vec \mu_k}=\frac{1}{\sum_{\mathbf{\vec x}_i\in \mathbb D_u}\gamma_{i,k}+l_k}\left(\sum_{\mathbf{\vec x}_i\in \mathbb D_u} \gamma_{i,k}\mathbf{\vec x}_i+\sum_{(\mathbf{\vec x}_i,y_i)\in \mathbb D_l \;and\; y_i=k} \gamma_{i,k}\mathbf{\vec x}_i\right)\\ \hat \Sigma_k=\frac{1}{\sum_{\mathbf{\vec x}_i\in \mathbb D_u}\gamma_{i,k}+l_k}\left(\sum_{\mathbf{\vec x}_i\in \mathbb D_u} \gamma_{i,k}(\mathbf{\vec x}_i-\hat{\vec \mu_k})(\mathbf{\vec x}_i-\hat{\vec \mu_k})^{T}+\\ \sum_{(\mathbf{\vec x}_i,y_i)\in \mathbb D_l \;and\; y_i=k} \gamma_{i,k}(\mathbf{\vec x}_i-\hat{\vec \mu_k})(\mathbf{\vec x}_i-\hat{\vec \mu_k})^{T}\right)\\ \hat \alpha_k=\frac 1N\left(\sum_{\mathbf{\vec x}_i\in \mathbb D_u}\gamma_{i,k}+l_k\right) $

    以上过程不断迭代直至收敛,即可获得模型参数。

  6. 预测过程:根据式子:

    $ f(\mathbf{\vec x})=\arg\max_{j\in \mathcal Y}\sum_{k=1}^{K}p(y=j\mid \Theta=k,\mathbf{\vec x})\cdot p(\Theta=k\mid \mathbf{\vec x})\\ p(\Theta=k\mid \mathbf{\vec x})=\frac{\alpha_k p_k(\mathbf{\vec x};\vec \mu_k,\Sigma_k)}{\sum_{k=1}^{K}\alpha_k p_k(\mathbf{\vec x};\vec \mu_k,\Sigma_k)} $

    来对样本 $ MathJax-Element-188 $ 进行分类。

1.2 性质

  1. 如果将上述过程中的高斯混合模型替换成其他模型,则可以推导出其他的生成式半监督学习方法。

  2. 生成式半监督学习方法优点:方法简单,易于实现。在有标记数据极少的情况下,往往比其他方法性能更好。

    缺点:模型假设必须准确,即假设的生成式模型必须与真实数据分布吻合,否则利用未标记数据反倒会降低泛化性能。

    在现实任务中往往很难事先做出准确的模型假设,除非拥有充分可靠的领域知识。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文