Word2Vec中的数学原理

一、旧版本的神经网络表示词向量

神经网络语言模型.png
将每个词表示成mm维的向量,用v(w)v(w)表示,整个网络分为4层,分别为输入层,投影层,隐藏层,输出层。
输入层:取一个大小为n的窗口表示输入,用1~(n-1)个词来预测第n个词的生成概率。
投影层:将每个词映射为m维向量,将这些词向量拼接为一个(n-1)m的长向量,作为投影层。一开始的向量随机生成,最后根据训练得到最优结果。
隐藏层:隐藏层的节点根据需要可以进行调节
输出层:N维向量,表示预测为每个词的概率
前向传播的表达式为:???这里不是很懂
前向传播表达式.png

其中,输出表示由前面(n-1)各词,预测第n个词的概率,即
根据1~(n-1)个词,来预测第n个词的生成概率.png

二、huffman树及huffman编码

2.1 Huffman树的构造

根据词典每个词作为叶子节点,词的频次作为叶子节点的权重,向上构造huffman树,具体为:
    1)将词典的N个词,看成N棵树的森林
    2)将“根节点权值“最小的两棵树合并成一棵新树,原来的树视为新树的左右子树,新树的“根节点权值”为左右子树的“根节点权值”之和
    3)重复2),直到森林中只剩下一棵树
整个Huffman树构建完成以后,叶节点的个数为N(词典大小),非叶节点的个数为N-1
以“我”,“喜欢”,“观看”,“巴西”,“足球”,“世界杯”为例,这组词的词频为:15,8,6,5,3,1


huffman树构造过程.png

2.2 Huffman编码

对于一棵Huffman树,规定左子节点标记为1,右子节点标记为0,每个词的路径(根节点除外)对应的编码称为该词的Huffman编码,如:我——0,喜欢——111,观看——110,巴西——101,足球——1001,世界杯——1000。huffuman编码原先是用在数字通信领域,希望整段文本的编码长度越小越好,因此构建huffuman树,使得词频越多的字编码越短,词频越少的字编码越长。


huffman编码.png

三、 基于huffuman softmax的模型

3.1 W2V的两种模型:CBOW和Skip-gram

W2V有两种模型,分别为CBOW和skip-gram,CBOW是根据上下文context(w)context(w)来预测中间词ww,而skip-gram是根据中间词ww来预测上下文context(w)context(w) ;他们都有3层结构——输入层,投影层,输出层。(注:无隐藏层)


两种模型.png

3.2 基于huffuman的CBOW

3.2.1 网络结构

H_CBOW的网络结构有3层,分别为输入层,投影层,输出层;以样本(context(w),w)(context(w),w)为例,做简要说明。
输入层:上下文的2c个词的词向量(假设上文和下文分别为c各词,实际上具体实现有小改变)

投影层:将这个2c个向量直接求和,


输出层:对应一棵huffuman树,它以词典中的词为叶节点,以词出现的次数为叶节点的权重来构建;其中叶节点的个数为N,非叶节点的个数为(N-1);每个非叶节点对应一个二分类器
CBOW网络结构示意图.png

注:在以往的神经网络语言模型中,计算量高的地方在输出层矩阵运算和概率归一化,CBOW对此作出了两点改进:1、无隐藏层,输入层直接向量求和进行投影;2、输出层改为huffuman树,将原来的softmax线性搜索求极大(多分类),转化为求树的正确路径(多个二分类),大大减少计算量。

3.2.2 符号定义

参数计算.png


这里有一点需要比较注意的,hufuuman编码左边为1,右边为0;但二分类的类别相反,左边为负,右边为正。

3.2.3 目标函数的推导

给定一个词的context(w),预测生成目标词w概率,相当于沿着huffuman树进行搜索,每经过一个内部节点,就进行一次二分类并生成一个概率,将路径上的所有概率连乘起来,就表示生成目标词w的概率;(分类时,规定分到左边为负类,huffuman编码为1;分到右边为正类,huffuman编码为0,这里有点不懂??)
因此,对于目标单词w的条件概率为:




3.2.4 梯度上升法求解参数

3.2.5伪代码

以样本(context(w),w)(context(w),w)为例(每取一个样本就对所有的参数进行更新),下面是huffuman CBOW的参数更新过程


本文大部分内容转载自word2vec的数学原理
word2vec原理推导与代码分析
word2vec原理
word2vec中的数学原理详解
word2vec原理

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,324评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,356评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,328评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,147评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,160评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,115评论 1 296
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,025评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,867评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,307评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,528评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,688评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,409评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,001评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,657评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,811评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,685评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,573评论 2 353