skip-gram

如何将一个词用向量表示呢?本文介绍我对word2vec的简单理解

预备知识

sigmoid 函数

二分类的激活函数:

性质:值域 (0, 1)

逻辑回归

logistic回归,一种广义线性回归,解决二分类问题:{(xi, yi)}im 为二分类问题的样本数据,其中 xi∈Rn,yi∈{0, 1}

由sigmoid函数,对任意样本 x=(x1, x2,…, xn)T,可将二分类问题的假设函数(hypothesis)写成

其中 θ=(θ01,…,θn)T为待定参数,将x扩展为起始位置添加x0=1,则

去阈值T=0.5,则二分类的判别式为

如何求θ呢?一般先确定一个如下形式的损失函数,对其进行优化得到最优的参数θ*

cost(xi,yi)通常取对数似然函数

写成整体式为

CBOW模型

Continuous Bag-of-Words Model,已知 wt 的上下文预测 wt

目标函数

网络结构

  • 输入层

    包含Context(w)中2c个词的词向量v(Context(w)1), v(Context(w)1),…,v(Context(w)2c)∈Rm

  • 投影层

    将输入层的2c个向量求和,即

    Xw 即为网络的输入向量

  • 输出层

    Huffman树,叶子结点共N个,N为词典D的词数,非叶子结点N-1个,做二分类

Skip-gram 模型

Continuous Skip-gram Model,已知 wt 预测 wt 的上下文

您的支持鼓励我继续创作!