分类的基础知识和标记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):
一般情况下的ML:假定x是固定的,只训练逻辑回归的权重W.即修改decision boundary:![这里写图片描述](https://img-blog.csdn.net/20150703221815439)
数据集{xi,yi}Ni=1的loss function:
其中N为数据集的大小
其中:
regularization
regularization后的loss function:
当有非常多的特征features时,或者对于后面需要用到的深度学习模型,regularization有利于防止overfitting.
其中x轴正向代表更多的迭代次数或者更”深”的模型,蓝线代表训练误差,红线代表测试误差test error.
Classification difference with word vectors
一般的机器学习模型中, θ 只包括W(注意 θ 是一个列向量):
所以我们仅仅更新decision boundary:
而对于要训练权值W和X(word vector)的模型,既要更新word vector,也要更新decision boundary:
Loosing generalization by re-‐training word vectors(应该是训练word vector会失去模型的泛化特性的意思)
示例:训练电影评论情感的逻辑回归模型:
1.在训练集中,有”TV”和”telly”.测试集中有”television”
2.初始设置(pre-training)的word vectors如图:
3.但是在训练之后:
从以上两张图中可以发现:训练集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)
图片上的标记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(注意是一个列向量):
Simplest window classifer:Softmax(最简单的加窗分类:softmax)
和以前用的softmax一样,令x=xwindow即可:
Updating concatenated word vectors
标记:
一些技巧:
1.认真的定义变量,并且时刻注意其维度
2.记住连锁效应:
3.在对softmax进行求导时,先计算该输入对应的正确类别的倒数,在计算其他类别的倒数.
4.试着一次性对所有类别求导
5.学会自己定义新变量,对以后的运算很有用: