Deep Learning for Nature Language Processing---第四讲(上)

分类的基础知识和标记notation

采样采集到的数据集:

这里写图片描述

xi —输入. 例如 :单词(标号或向量vector),context windows,句子,文档等.

yi —标签. 例如:情感,其他的单词,命名实体(参照NER),买卖决断,以后还会涉及到: multi-­‐word sequences

分类 intuition

训练集:{xi,yi}Ni=1

简单模型:

1.分类固定的二位word vector
2.使用逻辑回归 Logistic Regression
3.示意图如下(线性决策线linear decision boundary):

Deep Learning for Nature Language Processing---第四讲(上)_第1张图片

一般情况下的ML:假定x是固定的,只训练逻辑回归的权重W.即修改decision boundary:Deep Learning for Nature Language Processing---第四讲(上)_第2张图片

数据集{xi,yi}Ni=1的loss function:

Deep Learning for Nature Language Processing---第四讲(上)_第3张图片
其中N为数据集的大小

其中:

这里写图片描述

regularization

regularization后的loss function:

这里写图片描述

当有非常多的特征features时,或者对于后面需要用到的深度学习模型,regularization有利于防止overfitting.

Deep Learning for Nature Language Processing---第四讲(上)_第4张图片
其中x轴正向代表更多的迭代次数或者更”深”的模型,蓝线代表训练误差,红线代表测试误差test error.

Classification difference with word vectors

一般的机器学习模型中, θ 只包括W(注意 θ 是一个列向量):

Deep Learning for Nature Language Processing---第四讲(上)_第5张图片

所以我们仅仅更新decision boundary:

Deep Learning for Nature Language Processing---第四讲(上)_第6张图片

而对于要训练权值W和X(word vector)的模型,既要更新word vector,也要更新decision boundary:

Deep Learning for Nature Language Processing---第四讲(上)_第7张图片

Loosing generalization by re-­‐training word vectors(应该是训练word vector会失去模型的泛化特性的意思)

示例:训练电影评论情感的逻辑回归模型:

1.在训练集中,有”TV”和”telly”.测试集中有”television”
2.初始设置(pre-training)的word vectors如图:

Deep Learning for Nature Language Processing---第四讲(上)_第8张图片

3.但是在训练之后:

Deep Learning for Nature Language Processing---第四讲(上)_第9张图片

从以上两张图中可以发现:训练集trainning set中的word vectors已经发生了改变.总结出两个技巧:1.若训练集小,不要训练word vectors.2.若训练集足够大,最好也训练word vectors.

课件上关于word vectors的一些标记notation

word vectors矩阵L也叫作look-up table

Word vectors = word embeddings = word representations (mostly)

Deep Learning for Nature Language Processing---第四讲(上)_第10张图片

图片上的标记notation大多来自word2vec或者glove,从现在开始用xword(words feature)类似的标记表示.

word vectors矩阵L通过与一个one-hot向量相乘得到一个word’s vector: x = Le (L为d*V矩阵,e为V*1向量)

Window classification(基于context window的分类)

主要思想:不同与只对单个单词分类,window classification通过给某个单词周围的词进行加窗处理,然后是分类这个单词

有一些加窗分类的方法.例如:对窗口里的所有word vector取平均,值,单这样会丢失必要的单词所在句子的位置信息.

idea:以下图的句子为例:给一个句子的最中间的词附上标签label.然后将之与周围单词的word vector联系起来,组成一个比xParis维度更高的的列向量xwindow(注意是一个列向量):

Deep Learning for Nature Language Processing---第四讲(上)_第11张图片

Simplest window classifer:Softmax(最简单的加窗分类:softmax)

和以前用的softmax一样,令x=xwindow即可:

Deep Learning for Nature Language Processing---第四讲(上)_第12张图片

Updating concatenated word vectors

标记:

Deep Learning for Nature Language Processing---第四讲(上)_第13张图片

一些技巧:

1.认真的定义变量,并且时刻注意其维度
2.记住连锁效应:

这里写图片描述

3.在对softmax进行求导时,先计算该输入对应的正确类别的倒数,在计算其他类别的倒数.
4.试着一次性对所有类别求导
5.学会自己定义新变量,对以后的运算很有用:

这里写图片描述
Deep Learning for Nature Language Processing---第四讲(上)_第14张图片

6.向量化:

这里写图片描述

7.一个简单的例子:下面运算后结果的维数是多少?

这里写图片描述

因为x是一个5 d*d的列向量(d为word vector的维数,参见加窗处理部分的word vectors矩阵L),所以对x进行求导后,结果的维数等于x的维数.

对context window里的所有单词的word vector进行求导,可以看成是对每个词的word vector求导的组合:

Deep Learning for Nature Language Processing---第四讲(上)_第15张图片

加窗的方法会帮助我们决断命名实体。比如对于句子:“museums in Paris are amazing”,我们就能学习到in后面可能是一个location。

你可能感兴趣的:(自然语言处理)