专栏首页专知春节充电系列:李宏毅2017机器学习课程学习笔记25之结构化学习-序列标注 Sequence Labeling(part 1)

春节充电系列:李宏毅2017机器学习课程学习笔记25之结构化学习-序列标注 Sequence Labeling(part 1)

【导读】我们在上一节的内容中已经为大家介绍了台大李宏毅老师的机器学习课程的Structured learning-Structured SVM,这一节将主要针对讨论Structured learning-sequence labeling。本文内容主要针对机器学习中Structured learning- sequence labeling的POS tagging,Hidden Markov Model以及Conditional Random Field分别详细介绍。话不多说,让我们一起学习这些内容吧

课件网址:

http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML17_2.html

http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML17.html

视频网址:

https://www.bilibili.com/video/av15889450/index_1.html

李宏毅机器学习笔记24 Structured learning-Sequence Labeling(part 1)

今天讲述Structured learning的序列标注问题

1.POS tagging



我们以词性标注作为例子

所谓词性标注,指的找出一个句子中每个词语的词汇类型

总体会介绍四个部分的内容

2.Hidden Markov Model



人产生句子的过程第一步是在脑中产生POS sequence,是对于grammar的理解,然后根据pos sequence产生对应的句子。

所以HMM也类似,先根据文法产生POS sequence

然后根据词汇类型找出对应的词汇。

于是产生一个句子“John saw the saw”的概率为

公式一般化为如下所示

P(V|PN)类似的条件概率从数据集中获得

P(yl+1|yl)的概率也可以统计得到

我们要求的就是已知x得到y的概率,实际上我们可通过计算P(x,y)来得到最终结果

所以要做的就是穷举所有y,看哪个y使得P(x,y)几率最大,但这听起来不太靠谱。Viterbi algorithm可以做到这件事情。

以下是HMM的总结

但HMM也是有缺点的

当training data中只有一笔data:N->D->a,在test data遇到这种情况,填D是比较合理的。然而HMM会选N->V->a,这就矛盾了。

所以HMM会脑补它没有看到的东西

3. Conditional Random Field



CRF可以解决这个问题

CRF是将P(x,y)的形式改变了

将logP(x,y)继续化简可以得到

下面是一个具体的例子来解释logP(xl|yl)

其余的式子也可以表示为类似的形式

然后将上面所有的式子向量化我们会得到CRF的最终结果

因为无法保证训练时候w一定在某个范围内,所以不能直接等于,相当于成正比

请关注专知公众号

  • 后台回复“LHY2017” 就可以获取 2017年李宏毅中文机器学习课程下载链接~

本文分享自微信公众号 - 专知(Quan_Zhuanzhi),作者:专知内容组

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-03-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【干货】使用TensorFlow官方Java API调用TensorFlow模型(附代码)

    WZEARW
  • 春节充电系列:李宏毅2017机器学习课程学习笔记07之反向传播(Back Propagation)

    【导读】我们在上一节的内容中已经为大家介绍了台大李宏毅老师的机器学习课程的深度学习入门问题,这一节将主要针对backpropagation问题展开分析。本文内容...

    WZEARW
  • 春节充电系列:李宏毅2017机器学习课程学习笔记08之“Hello World” of Deep Learning

    【导读】我们在上一节的内容中已经为大家介绍了台大李宏毅老师的机器学习课程的backpropagation,这一节将主要针对深度学习的简单实践展开分析。本文内容涉...

    WZEARW
  • Struts2应用范围有多广?有多严重?哪些网站受到了波及?

    1、什么是Struts 2漏洞? Struts是Apache软件基金会(ASF)赞助的一个开源项目,通过采用JavaServlet/JSP技术,实现基于Java...

    安恒信息
  • SQL 差集计算的例子

    一个会写诗的程序员
  • 动态可视化告诉你,从1965年开始哪些编程语言曾最受欢迎?

    学习Python这么久,大家都知道 Python 是一个 “胶水语言”,应用范围非常广,上到人工智能、机器学习、数据分析,下到各种脚本处理日常。

    用户2769421
  • 从小型电商网站遭攻击回顾黑客攻击电商的历史事件

    9日CNNIC正式就.CN域名遭遇攻击事件进行了回应,黑客袭击一直是行业性的问题,互联网发展至今从未间断过。上月还有一家名为哇嘎商城的小型电商网站遭...

    安恒信息
  • BTA | 卢亮:数字货币开启电商红利新纪元

    区块链大本营
  • Cloudflare 1.1.1.1公共DNS上线Cloudflare Public DNS

    Zach
  • 电商网站:关键词挖掘的4个策略!

    对于任何网站而言,关键词是驱动流量增长最基本的元素,唯独不同的是电子商务网站需要的是更加精准的流量,因为这些关键词所肩负的责任与使命是达成销售目标,而与传统网站...

    蝙蝠侠IT

扫码关注云+社区

领取腾讯云代金券