做者已经推免到上交攻读学术型硕士,精细的手绘版笔记献给你们!网络
毕竟是机器学习嘛,因此第一步,先要把实际问题转化成数学模型。框架
在NLP中,通常使用的都是几率模型,即把语言模型变成几率论范畴。
好比说,如今有一段语音,说的很含糊,没有听清楚,好像是“like your”,又好像是“lie cured”。机器学习
那么究竟是哪种呢?咱们就看在现有的语料库中,究竟是“like your”出现的几率大,仍是“lie cured”的几率大。ide
因而就把语音识别问题转变成了一个几率问题:输入一串字符,输出这串字符组合在一块儿的几率,若是几率大,就是正确的句子。学习
下面构建这个模型3d
至此,模型框架搭建完毕,可是参数尚未设定好。
也就是说,如今若是向模型中随便输入一个句子,要求输出的结果是这个句子出现的几率。
那么咱们就须要事先知道模型中,每个p(w|u,v)。
用以下方式来计算:
对于上面的计算方法,不能解决出现几率为0,但实际这句句子是合理的状况。code
下面介绍两种方法,来对上面的计算方法进行改进:视频
第一种是Linear Interpolation:blog
这里的三个系数用下面的方法进行选择:
其实这个方法就是将三种计算几率的方式线性结合起来,具体的结合方式有不少种,上面只是其中一种。数学
上面这个方法中的三个系数和几率自己没有关系,可是更好的方法是让他们有关系:
bucketing法:对不一样范围内的counts,使用不一样的系数
将三个系数都写成同一个参数的线性组合:
第二种是Discounting Method:
这个方式就是,从几率不为0的状况中分出一部分的几率给几率为0的状况。
至此为止,整个模型搭建完毕。
通常状况下:
当服从均匀分布的时候:
以上就是这一周的课程中讲的内容。notes中的内容和这个同样,基本没有什么补充。
下面用一张流程图来总结一下整个模型的构建过程。
第一周带字幕带课程分享在公众号会话内回复week1,便可得到视频下载地址!
【西瓜书】周志华《机器学习》学习笔记与习题探讨(一)
天然语言处理中CNN模型几种常见的Max Pooling操做
干货|很是详细的神经网络入门解释
全是通俗易懂的硬货!只需置顶~欢迎关注交流~