Michael Collins NLP Lecture 13
课程主页:http://www.cs.columbia.edu/~cs4705/
课程网盘地址:
链接:https://pan.baidu.com/s/1KijgO7yjL_MVCC9zKZ7Jdg
提取码:t1i3
这一讲介绍了全局线性模型(Global Linear Models)。
简要回顾基于历史的方法
我们之前介绍的内容形式基本为推断从集合$\mathcal X$到集合$\mathcal Y$的映射$F$,例如:
问题 | $x\in \mathcal X$ | $y\in \mathcal Y$ |
---|---|---|
解析 | 句子 | 解析树 |
机器翻译 | 法语句子 | 英语句子 |
词性标注 | 句子 | 标注序列 |
并且上述内容均为监督式学习:即我们有训练集$(x_i, y_i),i=1…m$。
之前大多数模型都是基于历史的模型:
我们将结构分解为衍生物(derivation)或决策序列。
每个决策都有一个相关的条件概率。
结构的概率是决策概率的之积。
使用最大似然估计的估计参数值。
函数$F:\mathcal X \to \mathcal Y$定义为
来看两个例子:
全局线性模型(Global Linear Models)
这一部分介绍和之前方法有所区别的全局线性模型。
全局线性模型的关键一点是我们将放弃基于历史的模型, 没有“衍生物”,或将概率附加到“决策”,相反,我们将有关于整个结构的特征向量“全局特征”。之所以有这个想法,是因为这样定义特征更加自由,我们来看两个需要灵活特征的例子:
上图中相似的结构很难在之前模型下被解析出来。
上图中表明根据cappucino和book含义不同,pour的解释也不同。
全局线性模型的三个元素
这一部分介绍全局线性模型的三个元素:
- $f$是将结构$(x,y)$映射到特征向量$f(x,y) \in \mathbb R^d$的函数。
- $\text{GEN}$是将输入$x$映射到备选者$\text{GEN}(x)$的函数。
- $v\in \mathbb R^d$是参数向量。
这里训练数据是为了计算$v$的值。下面分别介绍上述三个元素:
特征向量
特征向量由特征构成,例如:
假设有特征函数$h_1…h_d$,我们定义特征向量为
例如:
$\text{GEN}$
$\text{GEN}$的形式很简单,例如下例的$\text{GEN}$产生解析树:
再来看一些定义$\text{GEN}(x) $的例子:
- 解析:$\text{GEN}(x) $是某个语法下$x$的解析集合。
- 任何任务:$\text{GEN}(x) $是基于历史记录的模型下最可能的$N$个解析。
- 标注:$\text{GEN}(x) $是所有可能的标注序列的集合,其长度与$x$相同。
- 翻译:$\text{GEN}(x) $是法语句子$x$的所有可能的英语翻译的集合。
参数$v$
$v\in \mathbb R^d $是一个参数向量,$f$和$v$一起将一个备选者映射到实值,来看一个具体例子:
全局线性模型的训练方法
结合之前介绍的内容,整个模型的流程如下:
$\mathcal X$是句子的集合,$\mathcal Y$是可能的输出。
目标是学习函数$F: \mathcal X \to \mathcal Y$。
给定$\text{ GEN},f,v$,定义
所以我们要做的是选择得分最高的备选者作为最合理的结构,接下来的问题是如何做到这点?这里使用感知机学习算法的变形:
输入:训练集$(x_i,y_i),i=1…n$
初始化:$v=0$
定义:$F(x) =\arg \max_{y\in \text{GEN}(x)} f(x,y).v$
算法:
对$t=1,….,T$
对$i=1,…,n$
- 令$z_i =F(x_i)$,如果$z_i\neq y_i$,那么
输出:参数$v$
本讲测验题
Coursera部分
1.
2.
3.
4.
三个特征向量分别为
所以结果为
5.
第一步:
分数为
所以返回
$\mathrm v$更新为
6.
第一步:
分数为
所以返回
所以不更新,结果为