课前讲了几分钟的学生反馈情况,没加到网上的pdf里。
如果同时update word vector, input是indices,其他情况下(也是一般的情况),input是vectors。
图中x轴可以是参数的数量,训练迭代次数,神经网络的深度
本来系数是一个矩阵,这样的stack就把矩阵拉成了一个很长的向量(原话:concatenate them here),所以是$R^{Cd *1}$维。PDF里没写"*1",很容易误解成$R ^ {C*d}$(原话:a cd dimensional vector,pdf里写的其实默认这是个向量,所以只写了一个维度)。
C是类的数目,比如在NER中,大概有不到10个,d是输入的维度,假设就是300维的词向量,那么是300,而V,就是整个词典的大小,百万量级。
如果有足够数量的训练样本(有标注的数据,比如很多很多的正负情感数据),那么就可以直接随机初始化词向量,直接有监督的同时训练模型参数和词向量。
在实际实现的时候,general rule是:as few for loops as possible
少用循环,多做代码的性能测试。
In [3]:
# 执行后面的代码100次,作为一个测试。进行这样的测试6次,并返回最快一次的结果。
%timeit -n100 -r6 [x for x in xrange(10000)]
In [ ]: