-
word2vec包中cbow模型--学习笔记
- 基于Hierarchical softmax的CBOW模型
- 网络结构:包括3层,分别为输入层,投影层和输出层
- 假设Context(w)是由词w的前后各c个词组成
- 输入层:包含Context(w)中2c个词的词向量
- 投影层:将输入层的2c个向量做求和累加
- 输出层对应一个二叉树:以语料中出现过的词当叶子节点,以各词在语料中出现的次数当权值构造出来的huffman树。
- 特点:对神经概率语言模型对比
- 从输入层到投影层的操作上,神经概率模型通过拼接的方式,而CBOW采用累加的方式
- 从有无隐藏层来看,神经概率模型有隐藏层,而CBOW没有隐藏层
- 从输出层来看,神经概率模型的输出层是线性结构,而CBOW是树形结构,针对神经概率模型大规模的矩阵运算和softmax归一运算,CBOW对其作出了优化,首先去掉了隐藏层,同时输出层改用Huffman树,从而为利用Hierarchical Softmax技术奠定了基础。
- Hierarchical Softmax技术是word2vec中用于提高性能的一项关键技术
- 定义条件概率:从根节点到叶子节点的过程中,经历的每个分支都看做一次二分类。且除根节点外,树中每个点都对应了一个取值为0或1的Huffman编码。因此在word2vec中,将编码为0的结点定义为负类,编码为1的点定义为正类。即将一个结点进行分类时,分到左边就是负类,分到右边就是正类。于词典D的任意词w,Huffman 树中必定存在一条从根结点到该词的路径,路径长度为l,则路径上存在l-1个分支,将每一个分支作为二分类,每一次分类产生一个概率,将所有的概率相乘,就得到所需的p(w|Context(w))。
- word2vec里面采用的是随机梯度上升法(求最小值用梯度下降法,求最大值用梯度上升法)
- 基于负采样的CBOW模型:
- 利用随机负采样,大幅提升了计算性能。
- 在CBOW模型中,已知词w的上下文Context(w),需要预测w,因此对于给定的Context(w)来说,词w就是一个正样本,其他词就是一个负样本了。
- 正样本的标签是1,负样本的标签是0.
-
相关阅读:
算法-分数
一个比 ping 更强大、更牛逼的命令行工具
查找算法 —— 斐波拉契查找法
3C电子胶黏剂在手机制造方面有哪些关键的应用
【python 小白到精通 | 课程笔记】第四章:问题拆分与网络爬虫
Shell编写规范和变量
动态规划解决股票问题(上)
【无标题】
项目进展(三)-电机驱动起来了,发现了很多关键点,也遇到了一些低级错误,
ubuntu 20.04 docker安装emqx 最新版本或指定版本
-
原文地址:https://blog.csdn.net/weixin_45647721/article/details/126592440