cs224n-第4课 window classification, Nerual network

1. 交叉熵损失(Cross-Entroy loss)

  • 信息论中的概念,衡量两个概率分布间的差异性信息。我们假设真实概率为p,程序模型计算的概率为q,类别总数为C,那么交叉熵为:
    H(p,q)=c=1Cp(c)logq(c)H(p,q)=-\sum_{c=1}^{C}p(c)\log q(c)
    当p是groud truth的概率分布时,此时p=[0,…,0,1,0,…0],即为one-hot向量,因为其它的p©=0,所以只需要计算p©=1的即可。
    所以对于每一个测试用例它的交叉熵为H(xi,yi)=logq(yi)=logefyic=1CefycH(x_i,y_i) = -\log q(y_i) = -\log \frac {e^{f_{y_i}}}{\sum_{c=1}^{C}e^{f_{y_c}}}
    fy=fy(x)=Wyx=j=1dWyjxjf_y=f_y(x)=W_y \cdot x =\sum_{j=1}^{d}W_{y_j}x_j
    进而得到损失函数为:
    J(θ)=1Ni=1NH(xi,yi)J(\theta)=\frac{1}{N}\sum_{i=1}^{N}H(x_i,y_i)

2.窗口分类(window-classification)

  • 根据出现的上下文对一个词进行分类,例如四元素分类(人物,地点,组织,都不是)
  • 最简单的方式是使用softmax,初始化值,计算预测值,使用交叉熵,然后求导和优化,最后更新向量,直到满足收敛条件结束。

3.神经网络

cs224n-第4课 window classification, Nerual network
上图计算出s值,假设是计算地点的NER

  • 例子:Not all museums in Paris are amazing
  • s = score(‘museums in Pairs are amazing’)
  • scs_c=score(‘Not all museums in Paris’)

max-margin loss(最大间距损失)
J=max(0,1s+sc)J = max(0, 1-s+s_c)