经典机器学习系列(十三)【结构化学习】(二)

简介: 经典机器学习系列(十三)【结构化学习】(二)

此时问题又转变成了

image.png

 上述问题就跟SVM一样,转换成了一个凸二次规划问题。

  现在的问题就是约束(constraints)太多了,在这么多约束的情况下如何来做呢?


Cutting Plane Algorithm


  虽然参数空间中有很多约束(constraints),但是大部分的约束对我们找的结果是没有影响的。(Red line是我们需要的两个constraint,而例如绿色的constraint即使忽略,也不会对结果产生影响)。

  如果我们能够找到只与结果有关的约束项(work set),我们的求解就会比较容易。约束条件可以改为对于任意的 n nny ∈ A n 有:

image.png

现在的问题就是我们如何来找到这样一个working setA n \mathbb{A}^{n}An? 我们可以通过迭代的方法来做。

  1. 为每一个样本初始化一个空的working setA n \mathbb{A}^{n}An
  2. 我们只需要考虑working set里面的y yy,求解上述约束最优化二次问次,能够求解出一个新的w ww
  3. 依据w ww,重新找一个working set成员,这样working set就不一样了。(每次找没有满足约束最严重的那一个约束,将其添加到working set中,如何来找到最严重的这一项呢?不满足约束的条件可表示为:w ′ ⋅ ( ϕ ( x , y ^ ) − ϕ ( x , y ) ) < Δ ( y ^ , y ) − ε ′ w^{\prime} \cdot(\phi(x, \hat{y})-\phi(x, y))<\Delta(\hat{y}, y)-\varepsilon^{\prime}w(ϕ(x,y^)ϕ(x,y))<Δ(y^,y)ε,因此当Δ ( y ^ , y ) − ε ′ − w ′ ⋅ ( ϕ ( x , y ^ ) − ϕ ( x , y ) ) \Delta(\hat{y}, y)-\varepsilon^{\prime}-w^{\prime} \cdot(\phi(x, \hat{y})-\phi(x, y))Δ(y^,y)εw(ϕ(x,y^)ϕ(x,y))值最大的时候就是最难搞的那个约束,也就是求解哪个y yy对应的约束,找到y yy就找到了对应的约束。对于y yy来说,ε ′ \varepsilon^{\prime}εw ′ ⋅ ϕ ( x , y ^ ) w^{\prime} \cdot \phi(x, \hat{y})wϕ(x,y^)是不变项,因此我们需要求解的y yyarg ⁡ max ⁡ y [ Δ ( y ^ , y ) + w ⋅ ϕ ( x , y ) ] \arg \max _{y}[\Delta(\hat{y}, y)+w \cdot \phi(x, y)]argmaxy[Δ(y^,y)+wϕ(x,y)]
  4. 再得到一个w ww,再重新找到一个新的working set,不断地循环。

  

上述算法用于分类问题也是一样,甚至用DNN去替代上述抽取特征的步骤也同样是可以的。


Sequence Labeling Problem


  Sequence Labeling Problem说的是我们需要找一个函数f ff,它的输入是一个Sequence,输出也是一个Sequence


Hidden Markov Model (HMM)


  隐马尔可夫模型(Hidden Markov Model,HMM)大体上可以分为两步:1. 基于语法生成一个合法的词性序列(generate a POS sequence based on the grammar);2. 在第一步生成的词性序列的基础上,基于字典生成一个句子序列(gengerate a sentence based on the POS sequence;based on a dictionary)。

  1. 语法可以假设成一个Markov Chain,那语法长什么样子呢?假设我们现在要产生一句话,那句首的第一个词汇有0.5的概率是一个冠词,0.4的概率是一个专有名词,0.1的概率是一个动词这样。第二个动词就在第一个词汇之上再产生下一个词的概率:

  基于第一步,我们可以计算出一个词性序列的概率。

  1. 基于这个词性序列,我们可以计算出在第一步生成的合法词性序列的条件下生成对应句子的概率:


image.png

 接下来我们就需要从训练数据中去获取这些概率值,最简单的方法就是直接统计。

  假设我们现在要做一个词性标注的问题,就是给定句子序列x ,找词性序列y y 其实是隐变量,如何把y 找到呢?最有可能的y yy就是给定x ,能够使得P ( y ∣ x ) 最大的那个y ,就是最有可能的词性序列y


image.png

可以发现我们需要遍历所有的 y 才能求解上述问题。如果序列长度为 L ,词性序列为 ∣ S ∣ 的话,我们会有 ∣ S ∣ 种可能,如何来做呢?

Viterbi algorithm

  Viterbi algorithm 算法求解上述问题算法复杂度仅有image.png

HMM - Summary

  HMM也是structured learning的一种方法,structured learning的方法需要解决三个问题,HMM是如何解决的呢?


image.png

HMM的方法也存在一些缺点:


  1. 计算转移概率和输出概率是分开计算的,认为其是相互独立的。然而序列标注问题不仅和单个词相关,而且和观察序列的长度,单词的上下文,等等相关。因此x xxy yy会条件独立吗?
  2. 目标函数和预测目标函数不匹配问题,HMM学到的是状态和观察序列的联合分布P ( Y , X ),而预测问题中,我们需要的是条件概率P ( Y ∣ X )

Conditional Random Field (CRF)


  条件随机场对隐马尔可夫模型进行了改进。CRF同样要描述p ( x , y )假设概率P ( x , y ) 正比于一个函数。

image.png

Z ( x ) 是一个简化,因为分母的值只与x 有关。


CRF的训练准则是找到满足的权值向能够在最大化目标函数。能够最大化我们所观察到的同时,最小化我们没有观察到的。如给定训练数据image.png其中image.png

image.png

CRF - Summary

image.png

Structured Perceptron/SVM


20200516172551721.png

HMM比较。CRF没有HMM那样严格的独立性假设条件,因而可以容纳任意的上下文信息。CRF模型解决了标注偏置问题,去除了HMM中两个不合理的假设,当然,模型相应得也变复杂了。因此训练代价大、复杂度高。


参考


【1】https://www.youtube.com/watch?v=5OYu0vxXEv8&list=PLJV_el3uVTsNHQKxv49vpq7NSn-zim18V

【2】https://www.bilibili.com/video/BV1Rt41197Dj?p=3

相关文章
|
8天前
|
机器学习/深度学习 算法 数据可视化
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)-2
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)
109 0
|
8天前
|
机器学习/深度学习 人工智能 分布式计算
人工智能平台PAI产品使用合集之机器学习PAI的学习方法不知道如何解决
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
8天前
|
机器学习/深度学习 前端开发 测试技术
机器学习第10天:集成学习
机器学习第10天:集成学习
|
3天前
|
机器学习/深度学习 监控 算法
【机器学习】提供学习率的直观解释
【5月更文挑战第18天】【机器学习】提供学习率的直观解释
|
8天前
|
机器学习/深度学习
机器学习 —— 分类预测与集成学习(下)
机器学习 —— 分类预测与集成学习(下)
|
8天前
|
机器学习/深度学习 数据采集 数据可视化
机器学习 —— 分类预测与集成学习(上)
机器学习 —— 分类预测与集成学习
|
8天前
|
机器学习/深度学习 监控 算法
LabVIEW使用机器学习分类模型探索基于技能课程的学习
LabVIEW使用机器学习分类模型探索基于技能课程的学习
13 1
|
8天前
|
机器学习/深度学习 分布式计算 物联网
【Python机器学习专栏】联邦学习:保护隐私的机器学习新趋势
【4月更文挑战第30天】联邦学习是保障数据隐私的分布式机器学习方法,允许设备在本地训练数据并仅共享模型,保护用户隐私。其优势包括数据隐私、分布式计算和模型泛化。应用于医疗、金融和物联网等领域,未来将发展更高效的数据隐私保护、提升可解释性和可靠性的,并与其他技术融合,为机器学习带来新机遇。
|
8天前
|
机器学习/深度学习 自然语言处理 搜索推荐
【Python机器学习专栏】迁移学习在机器学习中的应用
【4月更文挑战第30天】迁移学习是利用已有知识解决新问题的机器学习方法,尤其在数据稀缺或资源有限时展现优势。本文介绍了迁移学习的基本概念,包括源域和目标域,并探讨了其在图像识别、自然语言处理和推荐系统的应用。在Python中,可使用Keras或TensorFlow实现迁移学习,如示例所示,通过预训练的VGG16模型进行图像识别。迁移学习提高了学习效率和性能,随着技术发展,其应用前景广阔。
|
8天前
|
机器学习/深度学习 算法 前端开发
【Python机器学习专栏】集成学习中的Bagging与Boosting
【4月更文挑战第30天】本文介绍了集成学习中的两种主要策略:Bagging和Boosting。Bagging通过自助采样构建多个基学习器并以投票或平均法集成,降低模型方差,增强稳定性。在Python中可使用`BaggingClassifier`实现。而Boosting是串行学习,不断调整基学习器权重以优化拟合,适合弱学习器。Python中可利用`AdaBoostClassifier`等实现。示例代码展示了如何在实践中运用这两种方法。

热门文章

最新文章