课程主页:https://web.stanford.edu/class/archive/cs/cs224n/cs224n.1194/

视频地址:https://www.bilibili.com/video/av46216519?from=search&seid=13229282510647565239

这里回顾CS224N Lecture 3的课程内容,这一讲介绍了神经网络以及分类问题。

分类问题的介绍

假设我们有训练集

其中$x_i\in \mathbb R^d$为输入,$y_i$为标签(离散值)。

传统的方法是使用softmax分类器,即

其中

度量上述概率的方式是使用交叉熵:

注意$y_i$为one hot的形式,即

所以总体的损失函数为

利用梯度下降的方法即可计算权重$W$。

上述方法计算出的分类边界是线性的,所以无法处理很复杂的问题,所以实际中一般使用神经网络进行建模,这也是后续的重点。

神经网络

神经网络的结构如下:

以下图为例介绍具体计算步骤:

矩阵形式为

其中

$f$被称为激活函数,注意$f$一定是非线性函数,否则多层网络的效果等于单层。

命名实体识别(NER)

考虑NER问题,即在文本中找到并分类命名实体:

NER问题可以化成分类问题,即对每个单词$x$,输出其分类,但是如果直接使用该方法,那么会忽略上下文信息,所以考虑该单词的上下文,以窗口长度为$2$为例:

所以输入为

下面给出一个处理该问题的具体的网络架构

有了网络结构,接下来指定损失函数就可以进行训练,这里的损失函数为

训练的方法为梯度下降法